@charset "utf-8";
/* CSS Document */
/*
 * 【重要警告】
 * このWordPressテーマは R-design が著作権を有しています。
 * 無断での使用・コピー・改変・再配布は、著作権侵害にあたります。
 * 不正利用が確認された場合、アクセスログやコード署名をもとに、
 * 弁護士を通じて法的手段を取らせていただきます（実例あり）。
 *
 */
/*------------------------------
　投稿関連
------------------------------*/
.single-waku{max-width:1100px;margin:0px auto;padding:30px 3vw;padding-bottom:50px !important;}
.post-waku{background-color:#FFF;padding:20px;width:100%;}
.post-title{font-size:28px;line-height:1.2;padding:20px 15px;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:21px;padding-bottom:10px;}

.post-date{font-size:14px;color:#666;letter-spacing:.05rem;}
.single-post-waku {font-size:16px;line-height:1.8;text-align:left;}
.single-post-waku p{padding:0 1rem 1rem;text-align:justify;}

.single-post-waku h1{font-size:28px;padding:10px;margin:15px 0px;font-weight: 700;line-height:1.4;border-left: 5px solid  #0061a0; background-color: #f2f2f2;color:  #0061a0;}
.single-post-waku h2{font-size:22px;color: #0061a0;padding:10px 10px 0;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:18px;padding:10px 10px 0;border-bottom:solid 1px #000;margin-bottom:10px;margin-top:15px;font-weight: 600;line-height:1.5;}
.single-post-waku h5{font-size:16px;padding: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: 300;letter-spacing:.1rem;}
#single-page .date{text-align:right;}


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

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

.drawer-list{display: flex;justify-content: flex-end;height: 80px;align-items: center;}
.drawer-list li{padding: 0 1.2vw;font-size: .9rem;position:relative;}
.drawer-list li a:hover{color:#0061a0;}
.drawer-list li.has-child{display:flex;flex-direction:column;}
.drawer-list li.has-child > a:after{content:"";background-image: url(../../../image/common/pull-down.svg);
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    padding: 20px 0;
    position: absolute;
    bottom: -33px;
    left: 0;}
.drawer-list li.has-child ul{
  position: absolute;left:-25%;top:47px;z-index: 4;background:#FFF;width:9rem;
  visibility: hidden;opacity: 0;
  transition: all .3s;
}

/*hoverしたら表示*/
.drawer-list li.has-child:hover > ul,
.drawer-list li.has-child ul li:hover > ul,
.drawer-list li.has-child:active > ul,
.drawer-list li.has-child ul li:active > ul{
  visibility: visible;opacity: 1;
}

/*ナビゲーション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% - 300px);margin: 0 auto;position: relative;}
@media screen and (max-width: 1300px) {.wrap {width: calc(100% - 100px);margin: 0 auto;position: relative;}}

.page-title {width: calc(50% + 30px);	display: block;	padding-top: 30px;	padding-left: 30px;	margin-left: -30px;	text-align: left;line-height: 1;font-size: 16px;}
.page-title .en{text-transform: uppercase;font-size: 38px;text-align: left;display: inline-block;margin-right: 20px;position: relative;padding-bottom: 20px;}
.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; padding-left: 40px;font-family: "Outfit", sans-serif;font-weight: 500;letter-spacing: .1rem;position: relative;}
.page-title a i{position: absolute;left:20px;bottom:0;transition:0.3s;}
.page-title a:hover i{position: absolute;left:30px;bottom:0;transition:0.3s;}
.en{font-family: "Outfit", sans-serif;font-weight: 400;letter-spacing: .2rem;}
.jp{font-weight: 500; vertical-align: super;letter-spacing: 1px;}

/*------------------------------
　共通
------------------------------*/
.sp{display: none !important;}
.w1100{width: 1100px;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; min-width: 300px; position: relative;text-align: center;font-size: 1.1rem;font-weight: 500; padding: .75rem 1rem .75rem 0;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: 80px;width: 100%;background-color: #FFF;}
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{display: flex;align-items: center;margin-left:2%; }
.h-logo img{width: auto;height: 80px;margin-right: 20px;}

.drawer{flex:1;}

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

.h-m-bt {
	display: flex;
	justify-content: space-between;
}
.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{
	width: 2rem;
	padding-right: .3rem;
}

/* ボタンスタイル */
.h-m-bt .btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  z-index: 1;
}

/* ベーススタイル */
.btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -40px;
  width: 30px;
  height: 200%;
  background-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-50%) scale(0);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}


/* hoverでも発動する */
.btn:hover::after {
  animation: kiran 0.5s linear;
}

/* JSから発動用 */
.btn.kirakira::after {
  animation: kiran 0.5s linear;
}

/* キラリ光線のアニメーション */
@keyframes kiran {
  0% {
    transform: translateY(-50%) scale(0) rotate(45deg);
    opacity: 0;
  }
  30% {
    transform: translateY(-50%) scale(10) rotate(45deg);
    opacity: 0.7;
  }
  70% {
    transform: translateY(-50%) scale(30) rotate(45deg);
    opacity: 0.3;
  }
  100% {
    transform: translateY(-50%) scale(50) rotate(45deg);
    opacity: 0;
  }
}
.-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;}

/*------------------------------
　TOPコンテンツ
------------------------------*/
.slider{margin-top:80px;}
.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%);font-feature-settings: "palt";
color: #FFF;line-height: 1.8;font-weight: 600;text-align: center;font-size: max(56px,4vw);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(30px,2vw);font-weight: 500;letter-spacing: .1rem;}
.slider h1 span b{border-bottom: 4px solid #ffea3b;}
.slider-bt{line-height: 0; max-width: 30vw;position: absolute;z-index: 10;bottom:25px;right: 5vw;transition:0.3s;box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 10px -20px;transform: scale(1);}
.slider-bt:hover img{transition:0.3s;box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;transform: scale(1.05);transition:0.3s;}


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

.event-box{display: flex;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;}
.event-info .date{color: #0061a0; font-size: 1.4rem;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.7rem;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{flex:.66;}
.event-pic img{ width: auto; height: auto; max-width: 100%; max-height: 550px;}
.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: 80px;background-color: #FFF;position: relative;z-index: 5;}
.top-works .page-title{background: #FFF;margin-top: 0px;margin-bottom: 40px;}
.works-flex{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:10px;left:10px;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 .hover-mask{opacity: 1;}

.works-waku {max-width:1100px;margin:30px auto;padding:30px;background-color:#FFF;position:relative; border: 1px solid #0061a0;}
.works-cat-name{position:absolute;left:15px;top:15px;z-index:10px;}
.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;justify-content:space-between;gap:2vw;padding:0 50px 50px;}
.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:10px;border-bottom:1px dashed #e0e0e0;font-size:18px;}
.works-page-flex .info li span{display: inline-block;width: 70px;font-weight: 500;color: #333;line-height:1;padding:5px;border-right:1px solid #e0e0e0;margin-right:1rem;}
.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 80px;}
.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(33% - 5vw);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: .1rem;font-size: 38px;text-align: left;padding: 0 8px 30px;line-height: 1;margin-top: -25px;background-color: #FFF;}
.reason-box h3{flex:1;font-size: 17px;line-height:1.4;text-align: center;font-weight: 500;padding-top: 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;width:100%;max-width:500px;}
a:hover .zoom h3{color:#0061a0;}

/* INTERVIEW TOP*/
.invi-flex{display: flex;justify-content: center;gap:4vw;}
.invi-box{flex:1;max-width:36%;height: 450px; position: relative;aspect-ratio: 1.4 / 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:-2px;bottom:-2px;background-color: #FFF;padding: 15px;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: .1rem;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:30px auto;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:5%;}
.invi-list-box{width:28%;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;gap:50px;max-width:1100px;margin:0 auto 50px;align-items:flex-start;}
.interview-head .dr-pic{aspect-ratio: 1 / 1;flex:1;}
.interview-head .dr-pic img{width: 100%;height: 100%;object-fit: cover;}
.interview-hosoku{max-width:1100px;margin:0 auto;text-align:justify;line-height:2;}

.dr-info{flex:2;text-align:left;line-height:1.5;}

.dr-name{font-size:1.8rem;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;}
.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;margin-top:30px;}
.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:10px 0 30px;}
.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;}
.interview-inner{max-width:1100px;margin:0 auto;}
.interview-txt{padding-bottom:40px;text-align:justify;}
.interview-txt h2{font-weight:600;font-size:21px;}
.interview-txt h2:before{content:"Q.";font-size:180%;font-family: "Outfit", sans-serif;font-weight: 200; color: #0061a0}
.interview-txt p{padding-top:15px;line-height:1.8;}
.interview-pic{width:460px;padding-bottom:30px;float:right;padding-left:40px;}
.interview-pic img{max-width:100%;max-height:480px;width:auto;height:auto;}


/*------------------------------
　フッター
------------------------------*/
.f-apply-waku{position:relative;display:block;background-image: url("../../../image/common/f-apply-bg.webp");background-repeat: no-repeat;background-position: right bottom;padding: 5vw 10vw;z-index:5;background-size:cover;transition: all .5s;}
.f-apply-waku:hover .f-apply-box{transform: translate(20px,0px);}
/*
.f-apply-box{display:block;position: relative;cursor:pointer;max-width: 760px;padding: 3vw 2vw;border:2px solid #FFF;background-color: rgb(255 255 255 / 45%);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: 100px;height: 100px;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: 100px;height: 100px;}
.f-apply-t{text-align: center;font-size: 32px;font-weight: 600;padding-bottom: 20px;letter-spacing: 3px;}
.f-apply-box:hover{background-color: rgb(255 255 255 / 70%);}
.f-apply-box p{text-align: center;font-size: 18px;font-weight: 500;letter-spacing: 1px; }
*/
.f-apply-box{display:block;position: relative;cursor:pointer;max-width: 760px;transition:0.3s;}

footer{padding:25px 0 100px;position:relative;z-index:10;}
footer.p--b100{padding: 20px 0 20px !important;}
.copy-w{text-align: center;font-family: "Outfit", sans-serif;letter-spacing: 2px;font-size: .8rem;}
.footer-flex{max-width: 1100px;display: flex;justify-content: center;gap:min(40px,2vw);font-size: .9rem;font-weight: 300; letter-spacing: .1rem; padding-bottom: 15px;margin: 0 auto;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: 30px auto 60px;}
.page-waku img{max-width: 100%;height: auto;margin-top: 30px;}

.page-waku-flex{display: flex;gap:50px;justify-content: space-between;align-items: flex-start; max-width: 1000px; margin: 30px auto 60px;}
.-stretch{align-items: stretch;}
.page-waku-flex > img{width: 25%;}
.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:80px;height: 200px;line-height: 0;}
.page-head .page-title{background-color: unset;position: absolute;bottom:0px;left:150px;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: .2rem;}
.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: 100%;}
.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: 60px 0;background-image: url("../../../image/common/bg.svg");background-size: 100%;background-position: right top;background-repeat: no-repeat;min-height:calc(100vh - 477px);}
.page-midashi{text-align: center;line-height: 2;font-size: 16px;padding-bottom: 20px;width:100%;}
.page-midashi h2{color:#0061a0;letter-spacing: .05rem;padding-bottom: 10px;font-size: 32px;font-weight: 500;}
.page-midashi h2 b{font-size: 180%;line-height: 0;padding: 0 5px;}
.page-midashi h3{letter-spacing: .1rem;padding-bottom: 10px;font-size: 24px;font-weight: 500;}
.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:10px;flex-wrap: wrap;}
.label-flex > .label{flex:1;display: flex;justify-content: center;border:1px solid #9fd8a0;color: #9fd8a0; padding: 10px 0;letter-spacing: 1px;}
.label-flex > .label.-active{background-color: #0061a0;border-color: #0061a0;color: #FFF;}
.label-title{max-width: 1100px;margin: 60px auto 30px;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% / 3) - 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: 24px;font-weight: 500;margin: 30px 0 20px;color: #0061a0;text-align: left;}
.service-midashi .count{position: relative;display: inline-block; z-index: 5;font-family: "Outfit", sans-serif;font-weight: 400;letter-spacing: .1rem;font-size: 42px;text-align: center;margin-top: -5px; margin-right: 10px; line-height: 1;padding:0 0 10px 0; border-bottom:4px solid #0061a0;color: #151515;min-width: 50px;}

.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: -30px !important;}
.message-txt{padding-top:20px;}
.sign {font-family: 'Yuji Syuku', serif; font-size: 1.8rem;text-align: right;}
.sign span { font-size: 1.1rem;}

.company-table{width:100%; max-width: 1000px;margin: 30px auto 60px;}
.company-table th{text-align: left; padding: 15px 25px;vertical-align: middle;border-bottom: 1px solid #ddd;background-color: #f4f5f7;width: 30%;font-weight: 400;letter-spacing: .1rem;line-height: 1.8;}
.company-table td{text-align: left; padding: 15px 25px;vertical-align: middle;border-bottom: 1px solid #ddd;line-height:2;}
.company-table td iframe{margin-top:10px;}
.company-table .txt-bold{color: #0061a0;font-weight: 500;margin-bottom: -.3rem;}
.company-table p + p{margin-top: 1rem;}

.company-table .link{color:#0061a0;border-bottom: 1px dotted;transition:.3s;}
.company-table .link:hover{color:#ff0e0e;}

/* 開業の流れ */
.flow-list{counter-reset: my-counter;list-style: none; max-width: 900px;margin: 0px auto 50px;display: flex;padding: 30px;gap: 50px;align-items: stretch;justify-content: center;}
.flow-list a{-ms-writing-mode: tb-rl;writing-mode: vertical-rl;background-color: #0061a0;color: #FFF;transition: .3s;cursor: pointer;position: relative;
padding: 20px 15px;font-weight: 500;font-size: 18px;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;top: 0;bottom: 0;right:-40px;margin: auto;color: #ddd;transform: rotate(90deg);font-size: 21px;}
.flow-list a:last-child::after{display: none;}

.flow-box{max-width: 900px; display: flex; gap:25px;margin: 0px auto 60px;padding: 0 20px;}
.flow-box .service-midashi{margin: 0;}
.flow-box h2{font-size: 21px;margin: 0;font-weight: 500; color: #0061a0;padding-bottom: .5rem;}

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


/*------------------------------
　メールフォーム
------------------------------*/
.form-frame {
	width:900px;
	margin:0px auto;
	padding: 30px;
	overflow:hidden;
}
.form-frame .form-line {
	padding: 25px 20px;
	border-bottom: dotted 1px #ccc;
	overflow: hidden;
	text-align: left;
	font-size: 16px;
	display:flex;
}
.form-l-l {
	width: 300px;
	text-align: left;
	font-weight: 600;
}
.form-l-r {
	width: 600px;
	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: 90%;
	color: #636063;
	font-size: 13px;
	background-color: #F9F9F9;
	border: solid 1px #CCCCCC;
}

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

.wpcf7-text {
	padding: 10px;
	width: 90%;
	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: 90%;
	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: 300px;
	border: none;
	padding: 20px;
	background-color: #ff0e0e;
	color: #fff;
	font-size: 1.4rem;
	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:900px;padding-top:60px;}
.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:90%;}

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

.top-news{padding: 30px 0 50px;position: relative;}
.top-news .single-list{padding-left: 36px;}

div#n2-ss-15-align{max-width:unset !important;}

/* 下固定バナー */
.f-apply-fixed-wrap{max-width:600px;margin:0 auto;display:flex;justify-content:center;gap:50px;align-items:center;}
.f-apply-fixed-wrap p{line-height:1;font-weight:600;font-size:18px; letter-spacing: .1rem;}

.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: 9999;
}

.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: #ff0e0e;box-shadow: unset; transform: translateY(4px);color:#FFF;}

/* TOPカタログ slick */
.top-panf{padding:30px 0 10px;text-align:center;background-color: #f0f0f0;}
.top-panf-title{text-align:center;font-size:28px;color: #607d8b;letter-spacing: .1rem;padding:15px 0 30px;font-weight:600;}
.top-panf-flex{max-width:1100px;margin:0 auto;}
.slick-panf-box{display: flex !important;text-align: center;justify-content: center;align-items: center;}
.slick-panf-box img{max-height: 200px; object-fit: cover;}

.top-form{border:2px solid #0061a0;border-radius:8px;}
.top-form .form-frame{width:550px !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;}