@charset "utf-8";
/* CSS Document */
/*
 * 【重要警告】
 * このWordPressテーマは R-design が著作権を有しています。
 * 無断での使用・コピー・改変・再配布は、著作権侵害にあたります。
 * 不正利用が確認された場合、アクセスログやコード署名をもとに、
 * 弁護士を通じて法的手段を取らせていただきます（実例あり）。
 *
 */

/*------------------------------
　ハンバーガーメニューに関するCSS
------------------------------*/
/* チェックボックスは非表示に */
.drawer-hidden {display: none;}

/* ハンバーガーアイコンの設置スペース */
.drawer-open {
  display: flex;
  height: 50px;
  width: 50px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上に */
  cursor: pointer;
}

/* MENU表記をいれる */
.drawer-open::after {
	content: "MENU";
	font-size: 8px;
	color: #0061a0;
	position: absolute;
	bottom: 5px;
}
.drawer-open span{margin-bottom:6px;}

/* ハンバーガーメニューのアイコン */
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: '';
  display: block;
  height: 2px;
  width: 25px;
  background-color: #0061a0;
  position: absolute;
}

/* 三本線のうち一番上の棒の位置調整 */
.drawer-open span:before {
  bottom: 8px;
}

/* 三本線のうち一番下の棒の位置調整 */
.drawer-open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer-check:checked ~ .drawer-open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer-check:checked ~ .drawer-open span::before {
  bottom: 0;
  transform: rotate(45deg);
background-color:#0061a0 !important;
}

#drawer-check:checked ~ .drawer-open span::after {
  top: 0;
  transform: rotate(-45deg);
background-color:#0061a0 !important;
}

/* メニューのデザイン*/
.drawer-content {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%; /* メニューを画面の外に飛ばす */
	z-index: 99;
	background: #FFF;
	transition: .5s;
	color: #333;
	padding: 20px;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer-check:checked ~ .drawer-content {
  left: 0;/* メニューを画面に入れる */
}

.drawer-list{font-size:1rem;line-height:1;}
.drawer-list > li{padding: 15px 10px;border-bottom: 1px dashed #efefef;padding-left:0;}

.dropdown__lists {padding:.6rem;}
.dropdown__list{padding: 0.5rem;border-bottom: none;}
.dropdown__list:before{content:"-";padding-right:6px;}

/*ナビゲーションaタグの形状*/
.drawer-list li.has-child ul li {padding: 6px 20px;}
.drawer-list li.has-child ul li:hover{background-color:#13702f;}
.drawer-list li.has-child ul li:hover a{color:#FFF;}
.drawer-list li.has-child ul li:last-chiid{padding-bottom:10px;}

.wrap{width: calc(100% - 20px);margin: 0 auto;position: relative;}

.page-title {width: 100%;	display: flex;flex-wrap:wrap;padding-top: 30px;text-align: left;line-height: 1;font-size: 16px;}
.page-title .en{font-size: 30px;text-align: left;display: inline-block;margin-right: 10px;position: relative;padding-bottom: 10px;}
.page-title .en:after{content: "";display: inline-block;background-color: #0061a0;height: 4px; width: 100%; position: absolute;bottom: 0;left: 0;}

.page-title a{color:#3dc6ed;  font-size: 18px !important; padding-left: 25px;font-family: "Outfit", sans-serif;font-weight: 500;letter-spacing: .05rem;position: relative;}
.page-title a i{position: absolute;left:10px;bottom:-2px;transition:0.3s;}
.page-title a:hover i{position: absolute;left:18px;bottom:0;transition:0.3s;}
.en{font-family: "Outfit", sans-serif;font-weight: 400;letter-spacing: .05rem;}
.jp{font-weight: 500; vertical-align: super;letter-spacing: 1px;}

.page-title .jp{display:flex;white-space: nowrap; align-items: center;padding-top:10px;font-size:12px;}

/* 予約フォーム */

.form-frame {
	width:100%;
	margin:0px auto;
	padding: 15px;
}
.form-frame .form-line {
	padding: 20px 10px;
	border-bottom: dotted 1px #ccc;
	overflow: hidden;
	text-align: left;
	font-size: 16px;
	display:flex;
	flex-direction:column;
}
.form-l-l {
	width: 100%;
	text-align: left;
	font-weight: 600;
	margin-bottom:5px
}
.form-l-r {
	width: 100%;
	text-align: left;
}

.form-frame .form-line .hissu {
	padding: 3px;
	background-color: #0061a0;
	color: #fff;
	font-size: .75rem;
	margin-left: 10px;
	line-height: 100%;
	border-radius: 5px;
}


.form-frame .form-line .nini {
	padding: 3px;
	background-color: #c7c7c7;
	color: #fff;
	font-size: .75rem;
	margin-left: 10px;
	line-height: 100%;
	border-radius: 5px;
}

.wpcf7-validates-as-date {
	padding: 10px;
	border: solid 1px #CCCCCC;
	margin-bottom: 5px;
	background-color: #F9F9F9;
}


/* テキストフォームの設定 */

.wpcf7-datetime {
	padding: 10px;
	width: 100%;
	color: #636063;
	font-size: 13px;
	background-color: #F9F9F9;
	border: solid 1px #CCCCCC;
}

/* テキストフォームの設定 */

.wpcf7-text {
	padding: 10px;
	width: 100%;
	color: #636063;
	background-color: #F9F9F9;
	border: solid 1px #CCCCCC;
	margin-bottom: 5px;
}
.wpcf7-text.short{width: 40%;}
/* テキストフォームのフォーカス時の設定 */
.wpcf7-text:focus {
	background-color: #FFFFCC;
}
/* テキストエリアの設定 */
.wpcf7-textarea {
	padding: 10px;
	width: 100%;
	height: 200px;
	color: #636063;
	background-color: #F9F9F9;
	border: solid 1px #CCCCCC;
}

/* テキストエリアのフォーカス時の設定 */
.wpcf7-textarea:focus {
	background-color: #FFFFCC;
}

/* 送信ボタンの設定 */
.wpcf7-form-control.wpcf7-submit {
	display: block;
	width: 200px;
	border: none;
	padding: 10px;
	background-color: #ff0e0e;
	color: #fff;
	font-size: 1.1rem;
	margin:0 auto;
}
/* 送信ボタンのフォーカス時の設定 */
.wpcf7-form-control.wpcf7-submit:hover {
	filter: alpha(opacity=80);
	opacity: .6;
	-moz-transition: all 0.7s ease;
	-webkit-transition: all 0.7s ease;
}

/* リストの縦並び（チェックボックス・ラジオ） */
span.wpcf7-list-item {
	display: block !important;
}

/* セレクト */
select {
	padding: 10px;
	width: 260px;
	color: #636063;
	background-color: #F9F9F9;
	border: solid 1px #CCCCCC;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	overflow: hidden;
}

[data-class="wpcf7cf_group"]{padding-top:10px;}

.thx-come{text-align:center;line-height:2;width:90%;padding-top:30px;}
.hoso-box{line-height:2;margin-top:40px;background-color:#e1f7fb;padding:30px;font-size:90%;text-align:left;letter-spacing:.05rem;}
.hosoku{margin-top:20px;font-size:90%; text-align:justify;padding:15px;border:1px solid #ccc;}
.hoso{color:#5c5c5c;font-size:12px;}

.apply-hosoku p{display:flex;justify-content: center;gap: 10px; padding: 10px;font-size: 78%;}


.-withicon{position:relative;color:#0061a0 !important;}
.-withicon:before{content:"";display:block;width:45px;height:30px;padding-left:3px;background-image:url(../../../image/common/icon-mail_b.svg);background-size:contain;background-repeat:no-repeat;margin-right:5px;}
.-withicon:hover{position:relative;color:#FFF !important;}
.-withicon:hover::before{content:"";display:block;width:45px;height:30px;padding-left:3px;background-image:url(../../../image/common/icon-mail.svg);background-size:contain;background-repeat:no-repeat;margin-right:5px;}
/*------------------------------
　投稿関連
------------------------------*/
.single-waku{max-width:96%;margin:0px auto;padding:20px 10px;}
.post-waku{max-width: 96%;margin: 30px auto;padding: 5px;background-color: #FFF;position: relative;}
.post-title{font-size:21px;line-height:1.6;padding:50px 10px 10px;border-bottom:1px solid #0061a0;text-align:center;margin-bottom:30px;color:#0061a0;position:relative;}
.post-title span{display: inline-block;border: 1px solid;margin-left: 2rem;font-size: 1rem; font-weight: 500;padding: 0.45rem 0.5rem; letter-spacing: .1rem; line-height: 1;}
.sub-name{font-size:14px;padding-bottom:10px;}

.post-date{font-size:12px;color:#666;letter-spacing:.05rem;}
.single-post-waku {padding:0;font-size:15px;line-height:1.8;text-align:left;}
.single-post-waku p{padding:0 0 1rem;text-align:justify;}
.single-post-waku iframe{width:100%;}

.single-post-waku h1{font-size:21px;padding:5px;margin:15px 0px;font-weight: 700;line-height:1.4;border-left: 5px solid #0061a0; background-color: #efefef;color: #0061a0;}
.single-post-waku h2{font-size:21px;color:#0061a0;padding:0 10px;border-bottom:solid 2px #0061a0;margin-bottom:15px;margin-top:30px;font-weight: 600;line-height:1.5;}
.single-post-waku h3{font-size:18px;background-color:#fffacc;padding:10px;margin-top:30px;margin-bottom:10px;font-weight: 600;line-height:1.4;}
.single-post-waku h4{font-size:15px;padding:0 10px;border-bottom:solid 1px #000;margin-bottom:10px;margin-top:15px;font-weight: 600;line-height:1.5;}
.single-post-waku h5{font-size:14px;padding:0 10px;background-color:#ececec;margin-bottom:10px;margin-top:30px;font-weight: 600;line-height:1.5;}
.date{color:#0061a0;font-size: 16px; font-family: "Outfit", sans-serif;font-weight: 400;}
#single-page .date{text-align:right;}

#single-page .post-title{padding-top:20px;}

.single-list {max-width:1000px;margin:0 auto;}
.single-list a{display:flex;line-height:1;gap:5px;align-items:flex-start;padding:15px 10px;border-bottom:1px dotted #0061a0;flex-direction: column;}
.single-list .set{display:flex;line-height:1;gap:15px;align-items:center;}
.single-list .set .date{width:5rem;text-align:left;}
.single-list p{text-align:left;line-height:1.4;font-size:14px;}
.post-cat-name{font-size:12px;width:5rem;line-height:1.2;padding:2px 10px;border:1px solid;color: #0061a0;}
.post-cat-name.event{color:#FFF;background-color:#0061a0;}

/*------------------------------
　共通
------------------------------*/
.pc{display: none !important;}
.w1100{width: 100%;margin: 0 auto;overflow:hidden;}
.w80p{width: 80%;margin: 0 auto;min-width: 1100px;}

.sub-title{max-width: 1200px;margin: 0 auto 30px;text-align: left;font-size: 1.5rem;letter-spacing: .1rem;font-weight: 500;display: flex;justify-content: flex-start;align-items: center;}
.sub-title:after {border-top: 1px solid #0061a0;content: "";flex-grow: 1;}
.sub-title:after {margin-left: 1rem;}

img[src$="check-square.svg"] {
  width: 25px;
  height: auto;
		margin-top: 5px;
		margin-right: 10px;
}
.sub-logo{}
.sub-logo img{width: auto;height:50px;}
.m-t4rem{margin-top: 4rem;}
.m-t2rem{margin-top: 2rem;}
.m-t1rem{margin-top: 1rem;}
.p-t4rem{padding-top: 4rem;}
.p-tb4rem{padding: 4rem 0;}
.p-t2rem{padding-top:2rem;}
.p-b2rem{padding-bottom: 2rem;}
.p-b3rem{padding-bottom: 3rem;}
.p-b4rem{padding-bottom: 4rem;}
.p-t0{padding-top:0px !important;}

.maintitle{margin-top: 80px;height: 240px;display: flex;justify-content: center;align-items: center;}
.maintitle{font-size: 2rem;color: #FFF; font-family: "Montserrat", sans-serif;font-weight: 600;text-align: center;}


.t-main-obi{background-color: #13702f;color: #FFF;padding: 1rem 0 .75rem;}
.t-main-obi h1{font-size: 2.3rem;text-align: center;letter-spacing: .2rem;font-family: 'Shippori Mincho B1', serif;font-weight: 500;}

.float-l{float: left;margin-right: 30px;}

.txt-left{text-align: left !important;}

.clear{clear:both;}

.pic{
	position: relative;
  width: 100%;
  padding-top: 90%;
  overflow: hidden;
  margin: 0 auto;
	background-color: #FFF;
}
.pic img{
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 120%;
	height:auto;
	}

.gray{background-color: #efefef;}

.common-button{margin: 5px; display: inline-block; width: calc(100% - 20px); position: relative;text-align: center;font-size: .9rem;font-weight: 500; padding: 10px;background-color: #FFF;color: #0061a0;border: 1px solid #0061a0;line-height: 1.4;border-radius: 6px;}
.common-button:after{position: absolute;content: "\f054";font-family: "Font Awesome 5 free";font-weight: 600;right:15px;
	-webkit-font-smoothing: antialiased;-webkit-text-stroke: 1px #fff; /* 背景色とあわせる */}
.common-button:hover{background-color: #0061a0;color: #fff;}
.common-button:hover::after{-webkit-font-smoothing: antialiased;-webkit-text-stroke: 1px #0061a0;}
/*------------------------------
　ヘッダー
------------------------------*/

header{display: flex;justify-content: space-between; height: 60px;width: 100%;background-color: #FFF;align-items:center;}
header{box-shadow: rgba(33, 35, 38, 0.2) 0px 10px 10px -10px;}
header{position: fixed;z-index: 1000;top:0;}
header img{width: 100%;height: auto;}
.h-logo {}
.h-logo a{text-align:left;display:block;}
.h-logo img{width: auto;height: 60px;}

/* 共有　ボタン */
	
.apply-bt img, .mailmaga-bt img, .catalog-bt img{
	width: 2.8rem;
	height: auto;
	padding-right: .5rem;
}
.apply-bt, .catalog-bt {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	padding: .5rem;
	line-height: 1.4;
	height: 80px;
	transition: .5s;
}

.h-m-bt {
	display: flex;
	width: 150px;
	justify-content: space-between;
	position: absolute;
	top: 0;
	right: 0;
}
.h-m-bt .apply-bt, .h-m-bt .catalog-bt {
	white-space: nowrap;
	font-size: .9rem;
	line-height: .8rem;
}
.h-m-bt .apply-bt img,.h-m-bt .catalog-bt img{
	width: 2rem;
	padding-right: .3rem;
}



/*------------------------------
　TOPコンテンツ
------------------------------*/
.slider{margin-top:60px;}
.slider h1{z-index:5;width: 100%; margin-top: -40px; position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%);
color: #FFF;line-height: 1.6;font-weight: 600;text-align: center;font-size: max(32px,8vw);letter-spacing: .1rem;text-shadow: rgba(0, 0, 0, 0.5) 0px 54px 55px, rgba(0, 0, 0, 0.5) 0px -12px 30px, rgba(0, 0, 0, 0.25) 0px 4px 6px, rgba(0, 0, 0, 0.25) 0px 12px 13px, rgba(0, 0, 0, 0.25) 0px -3px 5px;}
.slider h1 span{display: block;font-size: max(16px,50%);font-weight: 500;letter-spacing:normal; padding-top: 1rem;line-height: 2;}
.slider h1 span b{border-bottom: 4px solid #ffea3b;}
.slider-bt{line-height: 0; max-width: 480px;width: 96%;position: absolute;z-index: 10;bottom: 2%;right: 2%;background-color: #e2f4f8;transition:0.3s;opacity: 1;}
.slider-bt:hover img{opacity: .75;transition:0.3s;}


/* EVENT */
.top-event{padding-bottom: 50px;}
.top-event .page-title{background: #FFF;margin-top: 10px;margin-bottom: 40px;}

.event-box{display: flex;flex-direction:column;align-items: flex-start;justify-content: space-between;gap:30px;max-width: 1000px;margin: 0 auto;letter-spacing:1px;font-feature-settings: "palt";}
.event-info{text-align: left;flex:1;width:100%;}
.event-info .date{color: #0061a0; font-size: 1.2rem;font-weight: 600;padding-bottom: .7rem;}
.event-info .title{padding: 1rem 0 1.4rem;border-top:2px solid #efefef;}
.event-info .title h2{font-size: 1.4rem;font-weight: 700;}
.event-info li{padding-bottom: 4px;}
.event-info li span{display: inline-block;padding-right: 10px;min-width: 60px; text-align-last: justify;}
.event-info li i{margin-right: 10px;}
.event-info ul{}
.event-pic{width:100%;}
.event-pic img{width: 100%;height: auto;}
.event-info-waku{/* border-bottom: 2px solid #efefef; */ padding-bottom: .7rem;}
.event-info-waku a{display:block;padding-top:10px;text-align:right;padding-bottom: 5px;font-weight: 500;font-size: 1rem; color: #0061a0;}
.event-infowaku a .far{font-size: 120%;}

.event-flex{display: flex;justify-content: flex-start;}
.e-flex-box{width: 31%;padding: 1%;background-color: #FFF;margin: 1%;box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;}


.f-b-info{text-align: left;}
.f-b-info h3{line-height: 1.4;padding: .5rem 0;}
.f-b-info p{font-size: .9rem;}
.f-b-bt{font-size: .9rem; color: #FFF; background-color: #ffbb45;padding:0 .5rem .1rem;display: inline-block;margin-top: .5rem;}

/* WORKS */
.top-works{padding-bottom: 40px;background-color: #FFF;position: relative;z-index: 5;overflow: hidden;}
.top-works .page-title{background: #FFF;margin-top: 0px;margin-bottom: 40px;}
.works-flex{width:calc(100% - 40px);margin:0 auto;display: flex;justify-content: space-between;flex-wrap: wrap;}
.works-box{display:block;width: calc((100% / 5) - 1vw);position: relative;padding: 0 .5vw;}
.works-box .label{position: absolute;top:0;left:0;background-color: #FFF;padding: 8px 1rem;line-height: 1;font-size: .9rem;letter-spacing: 1px;z-index: 3;}
.works-box .pic{aspect-ratio: 1.2 / 1;border-radius: 8px;z-index: 1;}
.works-box .pic img{width: 100%;height: 100%;object-fit: cover;transition:0.3s;}
.works-box:hover {cursor:pointer;}
.works-box:hover .pic img{width: 115%;height: 115%;transition:0.3s;}

.hover-mask{padding: 1vw; background: rgba(0, 0, 0, .5);color: #fff;position: absolute;display: flex;justify-content: flex-start;align-items: flex-end; left: 0;right: 0;top: 0;bottom: 0;transition: opacity .5s ease;width: 100%;opacity: 0;z-index: 2;}
.works-box .hover-mask{opacity: 1;}
.works-box .hover-mask p{width: 100%;font-size: 13px; letter-spacing: .1rem;line-height: 1.4; text-align: center; padding-bottom: 3px;}

.works-waku {max-width:1100px;margin:0px auto;padding:10px;background-color:#FFF;position:relative; border: 1px solid #0061a0;}
.works-cat-name{position:absolute;left:15px;top:15px;z-index:10;}
.works-cat-name{color:#0061a0;font-size: 18px; font-family: "Outfit", sans-serif;font-weight: 500;}
.works-cat-name span{color:#afafaf;}
.works-cat-name i{padding-left:10px;padding-right:15px;transition:0.3s;}
.works-cat-name:hover i{padding-left:20px;padding-right:5px;transition:0.3s;}

.works-page-flex{display:flex;flex-direction:column;justify-content:space-between;gap:2vw;padding:0 10px 20px;}
.works-page-flex .pic-main {aspect-ratio: 1.6 / 1; flex:1;}
.works-page-flex .pic-main img{width:100%;height:100%;object-fit:cover;}
.works-page-flex .info {flex:1.1;}
.works-page-flex .info li{text-align:left;padding:6px;border-bottom:1px dashed #e0e0e0;font-size:14px;display:flex;}
.works-page-flex .info li span{display: block;width: 3rem;font-weight: 500;color: #333;line-height:1;padding:5px;border-right:1px solid #e0e0e0;margin-right:10px;}
.works-page-flex .info li:last-child{border-bottom:none;font-size:15px;line-height:1.5;}

.gallery-title{display:flex;justify-content:flex-start;align-items:center;font-family: "Jost", sans-serif; font-weight: 500;font-size: 30px;color: #0061a0;padding:0;letter-spacing:.1rem;margin-bottom:15px;}
.gallery-title:after{border-top: 1px solid #e0e0e0;content: "";width: 100%;margin-left:10px;}



/* REASON */
section.reason .wrap{display: flex;padding: 30px 0 50px;}
.reason-title {display: flex;flex-direction: column; align-items: center;padding-top: 5px; padding-right: 5vw;justify-content: space-between;}
.reason-title .jp{-ms-writing-mode: tb-rl;writing-mode: vertical-rl;font-size:21px;font-weight: 500;letter-spacing: .2rem;}
.reason-title .jp span{font-size: 34px;font-weight: 600;color: #0061a0;letter-spacing: .5rem;}
.reason-title .en{font-size: 14px;letter-spacing: .1rem;padding-top: 15px;padding-bottom: 10px;position: relative;}
.reason-title .en a{font-size: 18px; display: flex;flex-direction: column;border-top:2px solid #0061a0;margin-top: 8px;color: #3dc6ed;}
.reason-title .en a i{line-height: 0;padding-top: 12px;padding-bottom: 8px;transition:0.3s;}
.reason-title .en a:hover i{line-height: 0;padding-top: 17px;padding-bottom: 3px;transition:0.3s;}

.reason-flex{width:100%; display: flex;justify-content: center;gap:5vw;flex-wrap: wrap;}
.reason-box{padding: 0; flex-basis:calc(50% - 3vw);display: flex;align-items: center;flex-direction: column;border-top:2px solid #3dc6ed;}
.reason-box .count{position: relative;z-index: 5;font-family: "Outfit", sans-serif;font-weight: 400;letter-spacing: .05rem;font-size: 30px;text-align: left;padding: 0 8px 15px;line-height: 1;margin-top: -20px;background-color: #FFF;}
.reason-box h3{flex:1;font-size: 14px;line-height:1.4;text-align: center;font-weight: 500;padding:10px 0 15px; display: flex; align-items: center;transition:.3s;}
.reason-box img{width: 100%;height: auto;border-radius: 50%;}
.reason-box .zoom{z-index:5;display: flex;align-items: center;flex-direction: column;}
a:hover .zoom h3{color:#0061a0;}

/* INTERVIEW TOP*/
.invi-flex{display: flex;justify-content: center;gap:20px;flex-direction:column;width:94%;margin:0 auto;}
.invi-box{flex:1;position: relative;aspect-ratio: 1.2 / 1;transition:0.3s;}
.invi-box img{width:100%;height:100%;object-fit: cover; border-radius: 8px;opacity: .8;transition:0.3s;}
.invi-box:hover img{opacity: 1;}
.invi-box:hover {cursor:pointer;flex:1.4;}
.invi-box .invi-name{position: absolute;right:0;bottom:0;background-color: #FFF;padding: 10px;border-radius: 16px 0 0 0;z-index: 3;text-align: left;line-height:2;}
.invi-name h3{font-size: 18px;font-weight:500;}
.invi-name p{font-size: 15px;font-weight: 300;}
.invi-name h3 span{color:#3dc6ed; font-size: 18px; padding-left: 40px;font-family: "Outfit", sans-serif;font-weight: 500;letter-spacing: .05rem;position: relative;}
.invi-name h3 span i{position: absolute;left:20px;bottom:0;transition:0.3s;}
.invi-box:hover .invi-name h3 span i{position: absolute;left:30px;bottom:0;transition:0.3s;}


/* INTERVIEW 一覧ページ*/
.invi-list-flex{max-width:1100px;margin:0px auto 30px;display:flex;flex-direction:column;justify-content:flex-start;flex-wrap:wrap;gap:30px;}
.invi-list-box{width:100%;display:block;border:1px solid #d7d7d7;}
.invi-list-box .invi-name{padding: 10px;z-index: 3;text-align:center;line-height:1.8;}
.invi-list-box:hover .invi-name h3 span i{position: absolute;left:30px;bottom:0;transition:0.3s;}
.invi-list-box .main-pic{width:100%;aspect-ratio: 1.2 / 1;}
.invi-list-box .main-pic img{width:100%;height:100%;object-fit:cover;}
.invi-list-box .info-box{}

/* INTERVIEW シングルページ*/
.interview-head,.interview-inner,.interview-hosoku{font-family:"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;}
.interview-head{display:flex;flex-direction:column;gap:10px;max-width:1100px;margin:0 auto 50px;}
.interview-head .dr-pic{aspect-ratio: 1.5 / 1;flex:1;}
.interview-head .dr-pic img{width: 100%;height: 100%;object-fit: cover;}
.interview-hosoku{margin: 0px auto;padding: 0;text-align: justify;line-height: 1.8;}
.dr-info{flex:1;text-align:left;line-height:1.5;}

.dr-name{font-size:1.7rem;font-weight:600;display: flex; align-items: baseline;padding-bottom:5px;border-bottom:2px solid #f2f2f2;}
.dr-name span{font-size:1.4rem;padding-left:.5rem;}

.dr-kamoku{padding-top:10px;font-size:1rem;font-weight:333;font-weight:400;display: flex;align-items: center;justify-content: flex-end;}
.dr-url{font-size:.9rem;color:#0061a0; padding-left: 30px;font-family: "Outfit", sans-serif;font-weight: 500;letter-spacing: .1rem;position: relative;padding-top: 3px;}
.dr-url i{line-height:1;position: absolute;left:12px;transition:0.3s;}
.dr-url:hover i{position: absolute;left:20px;transition:0.3s;}

.dr-cachi{font-weight:500;padding-top:20px;}
.dr-come{font-weight:400;padding:20px 0;}
.dr-keii{padding:10px;background-color:#efefef;font-size:.88rem;margin-bottom:20px;line-height: 1.8;}
.dr-works-bt{display:block;border:1px solid;padding:20px;position:relative;text-align:center;transition:0.3s;}
.dr-works-bt:after {position: absolute; content: "\f054"; font-family: "Font Awesome 5 free";font-weight: 600;right: 15px;
	-webkit-font-smoothing: antialiased;-webkit-text-stroke: 1px #fff; /* `#fff` は背景色とあわせる */}
.dr-works-bt:hover{color:#0061a0;}

.interview-body{padding:20px;}
.interview-body:nth-child(even){background-color: rgb(241 241 241 / 75%);}
.interview-body .label-title{font-size:24px;padding-left:0;font-weight:500;color:#0061a0;margin:10px auto;}
.interview-inner{width:100%;margin:0 auto;display:flex;flex-direction:column-reverse;gap:20px;}
.interview-body:nth-child(even) .interview-inner{flex-direction:column-reverse;}
.interview-txt{flex:1.1;text-align:justify;}
.interview-txt h2{font-weight:600;line-height:1.4;font-size:18px;}
.interview-txt h2:before{content:"Q.";font-size:170%;font-family: "Outfit", sans-serif;font-weight: 200; color: #0061a0;}
.interview-txt p{padding-top:10px;line-height:1.8;}
.interview-pic{padding-bottom:15px;}
.interview-pic img{max-width:100%;max-height:480px;width:auto;height:auto;}


/*------------------------------
　フッター
------------------------------*/
.f-apply-waku{display:block;position:relative;background-image: url("../../../image/common/f-apply-bg.webp");background-size:cover;background-repeat: no-repeat;background-position: right bottom;padding: 5vw;z-index:5;}
/*
.f-apply-box{display:block;position: relative;cursor:pointer;padding: 20px 10px;border:2px solid #FFF;background-color: rgb(255 255 255 / 55%);color: #092947;transition:0.3s;}
.f-apply-box:after{content: "";display: block;position: absolute;background-image: url("../../../image/top/click.png");background-size: cover;bottom:0;right:0; width: 60px;height: 60px;transition: .3s;}
.f-apply-box:hover::after{content: "";display: block;position: absolute;background-image: url("../../../image/top/click_hover.png");background-size: cover;bottom:0;right:0; width: 60px;height: 60px;}
.f-apply-t{text-align: center;font-size: 24px;font-weight: 600;padding-bottom: 15px;line-height:1.5;}
.f-apply-box:hover{background-color: rgb(255 255 255 / 70%);}
.f-apply-box p{text-align: left;font-size: 14px;line-height:1.6;font-weight: 500;letter-spacing: 1px; }
*/
.f-apply-box{display:block;position: relative;}
.f-apply-box img{width:100%;height:auto;}
footer{padding: 10px 0 120px;position:relative;z-index:10;}
footer.p--b100{padding: 10px 0 20px !important;}
.copy-w{text-align: center;font-family: "Outfit", sans-serif;letter-spacing: 2px;font-size: .8rem;}
.footer-flex{width: 100%;display: flex;flex-direction:column;justify-content: center;font-size: .9rem;font-weight: 300; padding-bottom: 20px;margin: 0 auto 15px;border-bottom: 1px solid #FFF;}


/*------------------------------
　下層
------------------------------*/
.page-head-bana{background-color:#fff284;color:#0061a0;text-align:center;line-height:1;font-size:21px;font-weight:500;letter-spacing:.1rem;padding:30px 0;}
.page-waku{display: block; max-width: 1000px; margin: 20px auto 40px;}
.page-waku img{width: 100%;height: auto;margin-top: 20px;min-width:0;}

.page-waku-flex{display: flex;gap:20px;justify-content: space-between;align-items: flex-start; max-width: 1000px; margin: 30px auto 60px;}
.-stretch{align-items: stretch;}
.page-waku-flex > img{width: 100%;}
.circle{border-radius: 50%;}
.page-waku-flex > .page-waku{flex:1;margin: 0;}
.-stretch > .-column-between{display: flex;flex-direction: column;justify-content: space-between;}

.page-head{position: relative;margin-top:60px;height: 100px;line-height: 0;}
.page-head .page-title{background-color: unset;position: absolute;bottom:0px;left:10px;color: #FFF;
text-shadow: rgba(0, 0, 0, 0.5) 0px 54px 55px, rgba(0, 0, 0, 0.5) 0px -12px 30px, rgba(0, 0, 0, 0.25) 0px 4px 6px, rgba(0, 0, 0, 0.25) 0px 12px 13px, rgba(0, 0, 0, 0.25) 0px -3px 5px;}
.page-head .page-title .en,.page-head .page-title .jp{letter-spacing: 0;}
.page-head .page-title .en:after{content: "";display: inline-block;background-color: #0061a0;height: 6px; width: 100%; position: absolute;bottom: 0;left: 0;}
.page-head{background-position: center;background-size: cover;}
.page-head.works{background-image: url("../../../image/works/page-head-works.jpg");}
.page-head.event{background-image: url("../../../image/common/page-head-event.jpg");}
.page-head.service{background-image: url("../../../image/service/page-head-service.jpg");}
.page-head.company{background-image: url("../../../image/common/page-head-company.jpg");}
.page-head.flow{background-image: url("../../../image/common/page-head-flow.jpg");}
.page-head.interview{background-image: url("../../../image/common/page-head-interview.jpg");}
.page-head.news{background-image: url("../../../image/common/page-head-news.jpg");}
.page-head.apply{background-image: url("../../../image/common/f-apply-bg.webp");}
.page-head.apply .page-title{color: #151515;text-shadow:none;}
.page-head.apply  .page-title .jp{color: #0061a0;}

.page{padding: 30px 10px;background-image: url("../../../image/common/bg_sp.svg");background-size: 100%;background-position: right top;background-repeat: no-repeat;min-height:400px;}
.page-midashi{text-align: justify;line-height: 1.8;font-size: 16px;padding-bottom: 20px;}
.page-midashi h2{color:#0061a0;padding-bottom: 10px;font-size: 22px;font-weight: 500;line-height:1.6;text-align:center;}
.page-midashi h2 b{font-size: 160%;line-height: 0;padding: 0 5px;}
.page-midashi h3{padding-bottom: 10px;font-size: 20px;font-weight: 500;text-align:center;}
.page-midashi h2 span{font-family: "Outfit", sans-serif;font-weight: 500;}

.label-flex{max-width: 1100px;margin: 30px auto; display: flex;justify-content: flex-start;gap:6px;flex-wrap: wrap;}
.label-flex > .label{width:calc(25% - 6px);display: flex;justify-content: center;border:1px solid #83d3e2;color: #83d3e2; padding: 6px 0;letter-spacing: 1px;font-size:14px;}
.label-flex > .label.-active{background-color: #0061a0;border-color: #0061a0;color: #FFF;}
.label-title{max-width: 1100px;margin: 30px auto;font-size: 21px;font-weight: 500;text-align: left;padding-left: .5vw;letter-spacing: 2px;
display: flex;align-items: center;}
.label-title:after {border-top: 1px solid #0061a0;content: "";flex-grow: 1;margin-left: 1rem;}


.archive-flex{max-width: 1100px;margin: 0px auto 30px; display: flex;justify-content: flex-start;gap:2vw;flex-wrap: wrap;}
.archive-flex > a{width: calc((100% / 2) - 1.34vw);}

.section-txt{text-align: justify;line-height: 2;padding-bottom:15px;}
.section-txt b{color:#25609e;}
/* 選ばれた理由 */
.service-midashi{display: flex;justify-content: flex-start;align-items: flex-start;font-size: 21px;font-weight: 500;margin: 30px 0 20px;color: #0061a0;text-align: left;line-height:1.4;}
.service-midashi .count{position: relative;display: inline-block; z-index: 5;font-family: "Outfit", sans-serif;font-weight: 400;letter-spacing: .1rem;font-size: 36px;text-align: center;line-height: 1;padding:0 5px; border-left:4px solid #0061a0;color: #151515;}

.service-zu-list{max-width: 900px; counter-reset: my-counter;list-style: none;margin: 30px auto 0;display: flex;flex-wrap: wrap;padding: 20px;background-color: #fff59f;gap:1.3vw;}
.service-zu-list li{font-size: 16px;line-height: 1;position: relative;display: flex;align-items: center;}
.service-zu-list li:before {
content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #0061a0;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  width: 24px;
  color: #ffffff;
  font-size: 90%;
  line-height: 1.2;
  top: 0;
  left: 0;}

.max600{max-width: 600px !important;}

/* 会社概要 */
@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');
img:has(+ .message-txt) {margin-top: -15px !important;}
.message-txt{padding-top:10px;}
.sign {font-family: 'Yuji Syuku', serif; font-size: 1.6rem;text-align: right;line-height:1.4;}
.sign span { font-size: 1rem;}

.company-table{width:100%; max-width: 1000px;margin: 30px auto 60px;font-size:14px;}

.company-table th{text-align: left; padding: 10px 5px 0 10px;vertical-align: middle;border-bottom: 1px solid #ddd;background-color: #f4f5f7;width: 4rem;font-weight: 400;}
.company-table td{text-align: left; padding: 10px;vertical-align: middle;border-bottom: 1px solid #ddd;line-height: 1.6;}
.company-table .txt-bold{color: #0061a0;font-weight: 500;margin-bottom: -.3rem;}
.company-table p + p{margin-top: 1rem;}

/* 開業の流れ */
.flow-list{counter-reset: my-counter;list-style: none; margin: 0px auto 50px;display: flex;flex-direction:column;padding: 10px;gap: 40px;align-items: stretch;justify-content: center;}
.flow-list a{-ms-writing-mode: tb-rl;background-color: #0061a0;color: #FFF;transition: .3s;cursor: pointer;position: relative;
padding: 10px;font-weight: 500;font-size: 16px;display: flex;gap:10px;justify-content: flex-start; align-items: center;}
.flow-list a:hover{background-color: #fff59f;color: #0061a0;}
.flow-list a:before {
content: counter(my-counter);
  counter-increment: my-counter;
		-ms-writing-mode: tb-rl;writing-mode: lr-tb;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  width: 24px;
  color: #ffffff;
  font-size: 90%;
  line-height: 1.2;}
.flow-list a:hover::before{color: #0061a0;}
		
.flow-list a:after{content: "▼";position: absolute;bottom: -25px;right:0;left:0;margin: auto;color: #ddd;transform: rotate(0deg);font-size: 21px;}
.flow-list a:last-child::after{display: none;}

.flow-box{width:100%; display: flex;align-items:flex-start; gap:10px;margin: 0px auto 40px;}
.flow-box .service-midashi{margin: 0;}
.flow-box h2{font-size: 20px;margin: 0;font-weight: 500; color: #0061a0;padding-bottom: .5rem;text-align:left;}

.flow-box h2 span{font-size: 18px;}
.flow-box .section-txt{line-height: 1.5;}

.contact-tel img{width:100%;max-width:100%;height:auto;}

/* 下固定バナー */
.f-apply-fixed-wrap{display:flex;flex-direction:column;justify-content:center;gap:15px;align-items:center;}
.f-apply-fixed-wrap p{line-height:1;font-weight:600;font-size:18px;}

.f-apply-fixed {
  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
  position: fixed;
  bottom: 0;
  width: 100%;
background: rgb(33 150 243 / 90%);
	color:#FFF;
  text-align: center;
  padding: 20px 10px;
  z-index: 99999;
}

.f-apply-fixed.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.f-apply-fixed a {
display: inline-block;
color: #25609e;
padding: 15px 20px;
margin-left: 10px;
text-decoration: none;
font-weight: 500;
font-size:16px;
letter-spacing: .05rem;
transition:.3s;
background: #fbf234;
box-shadow: 0px 4px 0px #b3ac1c;
border-radius: 10px;}

.f-apply-fixed a:hover{background: #b2e45b;box-shadow: unset; transform: translateY(4px);}

/* TOPカタログ slick */
.top-news{padding-bottom: 30px;position: relative;}
.top-news .page-title{padding-top:0;}
.top-news .single-list{padding-top: 15px;}

.top-panf{padding:10px 0 10px;text-align:center;background-color: #f0f0f0;overflow: hidden;}
.top-panf-title{text-align:center;font-size:21px;color: #607d8b;letter-spacing: .1rem;padding:15px 0;font-weight:600;}
.top-panf-flex{max-width:1100px;margin:0 auto;}
.slick-panf-box{display: flex !important;text-align: center;aspect-ratio: 1.8 / 1;justify-content: center;align-items: center;}
.slick-panf-box img{max-height: 160px; object-fit: cover;}

.top-form{border:2px solid #0061a0;border-radius:8px;}
.top-form .form-frame{width:100% !important;padding:0;}
.top-form .form-line:first-child ,.top-form .form-line:nth-child(2) ,.top-form .form-line:nth-child(6) ,.top-form .form-line:nth-child(7) ,.top-form .reC{display:none;}
.top-form .form-frame .form-line{padding:10px;align-items: center;font-size:14px;}
.top-form .form-frame .wpcf7-text{padding:5px 10px;}
.top-form-title{background-color: #0061a0;color:#FFF;font-weight:600;text-align:center;padding:5px;}
.top-form .form-frame .wpcf7-form-control.wpcf7-submit{padding: 10px;font-size: 16px; margin-bottom: 10px; border-radius: 8px;}
.top-form .form-frame .wpcf7-spinner{display:none;}