@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------

	HOME							[ / ]
	エンゼル薬局について			[ /about/ ]
	代表者メッセージ・企業理念		[ /message/ ]
	会社概要						[ /company/ ]
	店舗一覧						[ /store/ ]
	データでみる当社				[ /data/ ]
	キャリアについて				[ /career/ ]
	店舗見学・カジュアル面談		[ /tour/ ]
	募集要項						[ /recruit/ ]
	よくあるご質問					[ /faq/ ]
	クロストーク					[ /crosstalk/ ]
	スタッフインタビュー			[ /interview/ ]
	お知らせ						[ /news/ ]
	コラム							[ /column/ ]
	エントリーフォーム				[ /entry/ ]
	お問い合わせ					[ /contact/ ]
	個人情報保護方針				[ /privacy/ ]
	サイトマップ					[ /sitemap/ ]

------------------------------------------------------------------------ */

/* ========================================================================
	HOME							[ / ]
======================================================================== */
#home{
	overflow:hidden;
	padding:100px 0 0 0;
}

#home > div{
	position:relative;
}

@media screen and (max-width:767px){
#home{
	padding:60px 0 0 0;
}
}


/* ----------------------------------------
	btn
---------------------------------------- */
#home .btn{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

#home .btn a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:390px;
	height:90px;
	background:#ff6137;
	border-radius:10px;
	font-size:2.2rem;
	font-weight:700;
	color:#ffffff;
	text-decoration:none;
}

#home .btn a::after{
	content:"";
	position:absolute;
	top:0;
	right:20px;
	width:22px;
	height:100%;
	background:url(../../img/home/arrow.png) no-repeat center;
	background-size:100%;
}

@media screen and (max-width:767px){
#home .btn a{
	width:100%;
	height:80px;
	padding:0 60px;
	font-size:2.0rem;
	line-height:2.4rem;
}

#home .btn a::after{
	width:20px;
}
}


/* ----------------------------------------
	hero
---------------------------------------- */
#home .hero{
	max-width:1840px;
	margin:0 auto 100px;
	padding:0 20px;
	text-align:center;
	z-index:1;
	zoom:1.25;
}

#home .hero .pc > img{
	border-radius:20px;
}

@media screen and (max-width:767px){
#home .hero{
	margin:0;
	padding:0;
	z-index:2;
}

#home .hero .sp > img{
	width:100%;
}
}


/* entry
---------------------------------------- */
@keyframes rotation{
	0%   { transform:rotate(0); }
	25%  { transform:rotate(10deg); }
	50%  { transform:rotate(0); }
	75%  { transform:rotate(-10deg); }
	100% { transform:rotate(0); }
}

#home .hero .entry{
	position:absolute;
	bottom:-3.7037%;
	left:0;
	width:18.0435%;
	margin:0 3.5869% 0 78.3696%;
}

#home .hero .entry a{
	position:absolute;
	bottom:0;
	left:0;
	animation:rotation 2.0s steps(2, jump-none) infinite;
}

@media screen and (max-width:767px){
#home .hero .entry{
	bottom:-12%;
	left:auto;
	right:0;
	width:42.2857%;
	margin:0;
}

#home .hero .entry a{
	left:auto;
	right:0;
}
}


/* ----------------------------------------
	about
---------------------------------------- */
#home .about{
	padding:80px 0 127px 0;
	background:#f7f7d3;
}

#home .about::before{
	content:"";
	position:absolute;
	top:-141px;
	left:0;
	width:100%;
	height:142px;
	background:url(../../img/home/bg_about.png) no-repeat center top;
	background-size:cover;
}

#home .about .inner{
	display:flex;
	align-items:flex-start;
	width:auto;
	max-width:1900px;
	padding:0 50px;
	z-index:1;
}

#home .about .inner::after{
	content:"";
	position:absolute;
	bottom:-45px;
	left:50%;
	width:166px;
	height:180px;
	margin:0 0 0 510px;
	background:url(../../img/home/illust_about01.png) no-repeat left center;
}

@media screen and (max-width:767px){
#home .about{
	padding:calc(15.42857% + 10px) 0 123px 0;
}

#home .about::before{
	top:-70px;
	height:71px;
}

#home .about .inner{
	display:block;
	padding:0 20px;
}

#home .about .inner::after{
	bottom:-120px;
	left:auto;
	right:10px;
	width:83px;
	height:90px;
	margin:0;
	background-size:83px 90px;
}
}


/* img
---------------------------------------- */
#home .about .img{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	position:relative;
	width:50%;
	margin:0 0 3.88888% 0;
}

#home .about .img li{
	margin:0 16.66666% 0 0;
	background:#ff6137;
	transform:rotate(1.2deg);
}
#home .about .img li:nth-child(2){
	margin:-11.11111% 7.77777% 0 28.88888%;
	background:#f0e412;
}

#home .about .img img{
	border:1px solid #292929;
	transform:rotate(3.8deg);
}
#home .about .img li:nth-child(2) img{
	transform:rotate(-7.5deg);
}

@media screen and (max-width:767px){
#home .about .img{
	display:block;
	position:static;
	width:auto;
	margin:0 10px;
}

#home .about .img li{
	margin:0 40px 0 0;
}

#home .about .img li:nth-child(2){
	position:static;
	margin:-40px 0 0 40px;
}

#home .about .img img{
	max-width:100%;
	width:100%;
}
}


/* block
---------------------------------------- */
#home .about .block{
	width:50%;
	position:relative;
	margin:0 0 12.22222% 0;
	padding:2.77777% 0 0 3.33333%;
}

#home .about .block::before,
#home .about .block::after{
	content:"";
	position:absolute;
	bottom:124px;
	left:600px;
	width:170px;
	height:238px;
	background:url(../../img/home/illust_about02.png) no-repeat center;
}
#home .about .block::after{
	bottom:-114px;
	left:22px;
	width:80px;
	height:204px;
	background-image:url(../../img/home/illust_about03.png);
}

#home .about .block p{
	margin:0 0 66px 0;
	font-size:2.4rem;
	font-weight:700;
	line-height:4.6rem;
}

#home .about .block p.lead{
	margin:0 0 20px 0;
	font-size:4.0rem;
	line-height:8.0rem;
}

#home .about .block p.lead span{
	display:inline-block;
	padding:0 0 0 20px;
	background:#87e9d6;
	line-height:6.5rem;
}

#home .about .block .btn{
	justify-content:flex-start;
	padding:0 0 0 112px;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#home .about .block p.lead{
		font-size:3.0rem;
		line-height:7.0rem;
	}
	#home .about .block p.lead span{
		line-height:5.5rem;
	}
}
}

@media screen and (max-width:767px){
#home .about .block{
	width:auto;
	margin:0;
	padding:40px 0 0 0;
}

#home .about .block::before{
	bottom:auto;
	left:auto;
	top:-90px;
	right:-10px;
	width:85px;
	height:119px;
	background-size:85px 119px;
}
#home .about .block::after{
	bottom:-120px;
	left:-10px;
	width:40px;
	height:102px;
	background-size:40px 102px;
}

#home .about .block p{
	margin:0 0 20px 0;
	font-size:1.8rem;
	line-height:2;
}

#home .about .block p.lead{
	margin:0 0 20px 0;
	font-size:min(5.0vw, 2.0rem); /* 400px */
	line-height:min(10.0vw, 4.0rem); /* 400px */
}

#home .about .block p.lead span{
	padding:0 0 0 10px;
	line-height:min(7.5vw, 3.0rem); /* 400px */
}

#home .about .block .btn{
	justify-content:center;
	padding:0;
}
}


/* ----------------------------------------
	store
---------------------------------------- */
#home .store{
	padding:100px 0 307px 0;
	background:#f1f1a0;
}

#home .store::before{
	content:"";
	position:absolute;
	top:-127px;
	left:0;
	width:100%;
	height:128px;
	background:url(../../img/home/bg_store.png) no-repeat center top;
	background-size:cover;
}

#home .store .inner::before{
	content:"";
	position:absolute;
	top:-84px;
	right:50%;
	width:760px;
	height:790px;
	margin:0 176px 0 0;
	background:url(../../img/home/illust_store01.png) no-repeat center;
}

#home .store .inner > *{
	position:relative;
	z-index:1;
}

#home .store .flex{
	align-items:stretch;
	gap:0 20px;
}

#home .store p{
	margin:0 0 120px 0;
	text-align:center;
	font-size:2.6rem;
	font-weight:700;
	line-height:4.0rem;
}

@media screen and (max-width:767px){
#home .store{
	padding:100px 0 123px 0;
}

#home .store::before{
	top:-63px;
	height:64px;
}

#home .store .inner::before{
	right:auto;
	top:-120px;
	left:-84px;
	width:380px;
	height:395px;
	margin:0;
	background-size:380px 395px;
}

#home .store .flex{
	display:block;
}

#home .store p{
	display:flex;
	justify-content:center;
	margin:0 0 50px 0;
	text-align:left;
	font-size:1.8rem;
	line-height:2;
}
}


/* h_01
---------------------------------------- */
#home .store .h_01{
	margin-bottom:46px;
}

#home .store .h_01::before{
	content:"";
	position:absolute;
	top:40px;
	left:50%;
	width:118px;
	height:84px;
	margin:0 0 0 310px;
	background:url(../../img/home/illust_store02.png) no-repeat center;
}

@media screen and (max-width:767px){
#home .store .h_01{
	margin-bottom:40px;
}

#home .store .h_01::before{
	top:auto;
	left:auto;
	bottom:4px;
	right:-10px;
	width:59px;
	height:42px;
	margin:0;
	background-size:59px 42px;
}
}


/* box
---------------------------------------- */
#home .store .box{
	display:flex;
	gap:0 24px;
	position:relative;
	width:590px;
	margin:0 0 110px 0;
	padding:30px 0 12px 160px;
	background:#ffffff;
	border:1px solid #1a1a1a;
	border-radius:20px;
}

#home .store .box::before{
	content:"";
	position:absolute;
	top:9px;
	left:-1px;
	width:100%;
	height:100%;
	background:#87e9d6;
	border:1px solid #1a1a1a;
	border-radius:20px;
	z-index:-1;
}

#home .store .box h3{
	position:absolute;
	top:-1px;
	left:34px;
	height:172px;
	writing-mode:vertical-rl;
	background:#009e96;
	border:1px solid #1a1a1a;
	text-align:center;
	font-size:3.0rem;
	font-weight:700;
	color:#ffffff;
	line-height:7.0rem;
}

#home .store .box .num{
	position:absolute;
	top:-91px;
	right:20px;
	width:134px;
	height:134px;
	padding:46px 0 0 0;
	background:#009e96;
	border-radius:50%;
	text-align:center;
	font-size:2.0rem;
	font-weight:700;
	color:#ffffff;
	line-height:1;
}

#home .store .box .num::before{
	content:"";
	position:absolute;
	bottom:-11px;
	left:50%;
	border-style:solid;
	border-width:12px 8.5px 0 8.5px;
	border-color:#009E96 transparent transparent transparent;
	transform:translateX(-50%);
}

#home .store .box .num span{
	display:inline-block;
	font-size:3.6rem;
}

#home .store .box ul li{
	font-size:2.0rem;
	font-weight:700;
	line-height:3.4rem;
}

@media screen and (max-width:767px){
#home .store .box{
	flex-wrap:wrap;
	gap:0 20px;
	width:auto;
	margin:0 0 30px 0;
	padding:60px 20px 20px 90px;
}

#home .store .box h3{
	left:20px;
	height:140px;
	font-size:2.0rem;
	line-height:5.0rem;
}

#home .store .box .num{
	top:-40px;
	width:80px;
	height:80px;
	padding:28px 0 0 0;
	font-size:1.6rem;
}

#home .store .box .num span{
	font-size:2.4rem;
}

#home .store .box ul li{
	padding:0 0 10px 1.0em;
	text-indent:-1.0em;
	font-size:1.8rem;
	line-height:2.8rem;
}
}


/* ---------- aichi ---------- */
#home .store .aichi::after{
	content:"";
	position:absolute;
	bottom:0;
	right:27px;
	width:256px;
	height:210px;
	background:url(../../img/home/store.png) no-repeat center;
}

#home .store .aichi::before{ background:#ff9f85; }
#home .store .aichi h3, #home .store .aichi .num{ background:#ff6137; }
#home .store .aichi .num::before{ border-top-color:#ff6137; }

@media screen and (max-width:767px){
#home .store .aichi{
	margin-bottom:70px;
	padding-bottom:116px;
}

#home .store .aichi::after{
	right:20px;
	width:128px;
	height:105px;
	background-size:cover;
}
}


/* splide
---------------------------------------- */
#home .store .splide img{
	width:480px;
	height:360px;
	object-fit:cover;
	border:1px solid #1a1a1a;
	border-radius:12px;
}

#home .store .splide ul{
	gap:0 30px;
}

@media screen and (max-width:767px){
#home .store .splide img{
	width:240px;
	height:180px;
}

#home .store .splide ul{
	gap:0 20px;
}
}


/* ----------------------------------------
	company
---------------------------------------- */
#home .company{
	padding:80px 0 235px 0;
}

#home .company::before{
	content:"";
	position:absolute;
	top:-127px;
	left:0;
	width:100%;
	height:128px;
	background:url(../../img/home/bg_company.png) no-repeat center top;
	background-size:cover;
}

#home .company .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

#home .company .flex{
	justify-content:space-between;
	gap:0 100px;
}

#home .company ul{
	flex:1;
	max-width:565px;
	margin:24px 0 0 0;
	border-top:1px solid #000000;
}

#home .company ul li{
	border-bottom:1px solid #000000;
}

#home .company ul li a{
	display:block;
	position:relative;
	padding:39px 0 39px 4px;
	font-size:3.0rem;
	font-weight:700;
	line-height:1;
	text-decoration:none;
}

#home .company ul li a::before{
	content:"";
	position:absolute;
	top:50%;
	right:14px;
	width:58px;
	height:58px;
	background:#009e96;
	border-radius:50%;
	transform:translateY(-50%);
	transition-duration:0.2s;
}

#home .company ul li a::after{
	content:"";
	position:absolute;
	top:0;
	right:14px;
	width:58px;
	height:100%;
	background:url(../../img/home/arrow.png) no-repeat center;
	background-size:18px auto;
	transition-duration:0.2s;
}

#home .company ul li a:hover::before,
#home .company ul li a:hover::after{
	right:4px;
}

#home .company ul li span{
	display:block;
	padding:8px 0 0 0;
	font-size:2.4rem;
	color:#ff6137;
}

@media screen and (max-width:767px){
#home .company{
	padding:20px 0 78px 0;
}

#home .company::before{
	top:-63px;
	height:64px;
}

#home .company .flex{
	display:block;
}

#home .company ul{
	max-width:none;
	margin:40px 0 0 0;
}

#home .company ul li a{
	padding:20px 0 20px 4px;
	font-size:2.0rem;
}

#home .company ul li a::before{
	width:40px;
	height:40px;
}

#home .company ul li a::after{
	width:40px;
	background-size:14px auto;
}

#home .company ul li span{
	font-size:1.6rem;
}
}


/* h_01
---------------------------------------- */
#home .company .h_01{
	margin-bottom:100px; 
}

#home .company .h_01::before{
	content:"";
	position:absolute;
	top:15px;
	left:50%;
	width:162px;
	height:194px;
	margin:0 0 0 328px;
	background:url(../../img/home/illust_company01.png) no-repeat center;
}

#home .company .h_01 .en{
	color:#87e9d6;
}

@media screen and (max-width:767px){
#home .company .h_01{
	position:relative;
	margin-bottom:40px; 
}

#home .company .h_01::before{
	top:auto;
	bottom:-100px;
	left:-10px;
	width:81px;
	height:97px;
	margin:0;
	background-size:81px 97px;
	z-index:1;
}
}


/* img
---------------------------------------- */
#home .company .img{
	position:relative;
	background:#ff6137;
}

#home .company .img::before{
	content:"";
	position:absolute;
	bottom:-40px;
	right:-76px;
	width:106px;
	height:216px;
	background:url(../../img/home/illust_company02.png) no-repeat center;
	z-index:1;
}

#home .company .img img{
	border:1px solid #000000;
	transform:rotate(-5.7deg);
}

@media screen and (max-width:767px){
#home .company .img{
	margin:0 30px 0 20px;
}

#home .company .img::before{
	bottom:-20px;
	right:-40px;
	width:53px;
	height:108px;
	background-size:53px 108px;
}
}


/* ----------------------------------------
	recruit
---------------------------------------- */
#home .recruit{
	padding:160px 0 235px 0;
	background:#009e96;
}

#home .recruit::before{
	content:"";
	position:absolute;
	top:-35px;
	left:0;
	width:100%;
	height:36px;
	background:url(../../img/home/bg_recruit.png) repeat-x center;
}

#home .recruit .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

@media screen and (max-width:767px){
#home .recruit{
	padding:60px 0 78px 0;
}

#home .recruit::before{
	top:-17px;
	height:18px;
	background-size:cover;
}
}


/* h2
---------------------------------------- */
#home .recruit h2{
	display:flex;
	flex-direction:column;
	align-items:center;
	position:relative;
	padding:0 0 60px 0;
	line-height:1;
}

#home .recruit h2::before,
#home .recruit h2::after{
	content:"";
	position:absolute;
	bottom:0;
	right:50%;
	width:208px;
	height:392px;
	margin:0 328px 0 0;
	background:url(../../img/home/recruit_01.png) no-repeat center;
}
#home .recruit h2::after{
	right:auto;
	left:50%;
	width:268px;
	height:380px;
	margin:0 0 0 298px;
	background-image:url(../../img/home/recruit_02.png);
}

#home .recruit h2 .ja{
	position:relative;
	margin:0 0 -20px 0;
	text-align:center;
	font-size:3.6rem;
	font-weight:700;
	color:#ffffff;
	line-height:4.8rem;
}

#home .recruit h2 .ja::before,
#home .recruit h2 .ja::after{
	content:"";
	position:absolute;
	top:2px;
	left:-84px;
	width:84px;
	height:88px;
	background:url(../../img/home/h2_recruit.png) no-repeat center;
}
#home .recruit h2 .ja::after{
	left:auto;
	right:-84px;
	transform:scaleX(-1);
}

#home .recruit h2 .en{
	-webkit-text-stroke:1px #1a1a1a;
	text-stroke:1px #1a1a1a;
	font-size:18.0rem;
	color:#f0e412;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#home .recruit h2 .ja{
		font-size:2.8rem;
		line-height:4.0rem;
	}
	#home .recruit h2 .en{
		font-size:15.0rem;
	}
}
}

@media screen and (max-width:767px){
#home .recruit h2{
	padding:0 0 80px 0;
}

#home .recruit h2::before{
	right:auto;
	bottom:0;
	left:10px;
	width:64px;
	height:120px;
	margin:0;
	background-position:left bottom;
	background-size:auto 120px;
}
#home .recruit h2::after{
	left:auto;
	right:10px;
	width:85px;
	height:120px;
	margin:0;
	background-position:right bottom;
	background-size:auto 120px;
}

#home .recruit h2 .ja{
	margin:0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#home .recruit h2 .ja::before,
#home .recruit h2 .ja::after{
	top:10px;
	left:-52px;
	width:42px;
	height:44px;
	background-size:cover;
}
#home .recruit h2 .ja::after{
	left:auto;
	right:-52px;
}

#home .recruit h2 .en{
	font-size:min(15.625vw, 12.0rem); /* 768px */
}
}


/* box
---------------------------------------- */
#home .recruit .box{
	position:relative;
	padding:34px 0 140px 0;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:20px;
	text-align:center;
}

#home .recruit .box::before,
#home .recruit .box::after{
	content:"";
	position:absolute;
	bottom:-26px;
	right:50%;
	width:216px;
	height:408px;
	margin:0 380px 0 0;
	background:url(../../img/home/illust_recruit01.png) no-repeat center;
}
#home .recruit .box::after{
	bottom:0;
	right:auto;
	left:50%;
	width:256px;
	height:420px;
	margin:0 0 0 360px;
	background-image:url(../../img/home/illust_recruit02.png);
}

#home .recruit .box h3{
	position:absolute;
	top:-66px;
	left:5px;
}

#home .recruit .box .txt{
	margin:0 0 40px 0;
}

#home .recruit .box p{
	font-size:2.4rem;
	font-weight:700;
	line-height:4.4rem;
}

#home .recruit .box p.lead{
	display:inline-block;
	margin:0 0 26px 0;
	padding:13px 20px;
	background:#87e9d6;
	font-size:4.0rem;
	line-height:5.0rem;
}


@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
#home .recruit .box p{
	font-size:1.8rem;
	line-height:3.8rem;
}
}
}

@media screen and (max-width:767px){
#home .recruit .box{
	padding:40px 20px 220px;
}

#home .recruit .box::before{
	right:auto;
	bottom:-13px;
	left:20px;
	width:108px;
	height:204px;
	margin:0;
	background-size:108px 204px;
}
#home .recruit .box::after{
	left:auto;
	right:20px;
	width:128px;
	height:210px;
	margin:0;
	background-size:128px 210px;
}

#home .recruit .box h3{
	top:-40px;
	left:-11px;
	width:158px;
}

#home .recruit .box .txt{
	margin:0 0 20px 0;
}

#home .recruit .box p{
	text-align:left;
	font-size:1.8rem;
	line-height:2;
}

#home .recruit .box p.lead{
	margin:0 0 20px 0;
	padding:10px 15px;
	font-size:min(3.44827vw, 2.0rem); /* 580px */
	line-height:min(5.17241vw, 3.0rem); /* 580px */
}
}


/* ----------------------------------------
	feature
---------------------------------------- */
#home .feature{
	padding:5px 0 235px 0;
}

#home .feature::before{
	content:"";
	position:absolute;
	top:-35px;
	left:0;
	width:100%;
	height:36px;
	background:url(../../img/home/bg_feature.png) repeat-x center;
}

#home .feature .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

#home .feature h2{
	position:relative;
	padding:210px 0 100px 0;
	text-align:center;
}

#home .feature h2 img{
	position:absolute;
	top:0;
	right:50%;
	margin:0 290px 0 0;
}

#home .feature h2 span{
	display:inline-block;
	padding:8px 18px 9px;
	background:#f0e412;
	font-size:5.5rem;
	font-weight:700;
	line-height:1;
}

@media screen and (max-width:767px){
#home .feature{
	padding:0 0 78px 0;
}

#home .feature::before{
	top:-17px;
	height:18px;
	background-size:cover;
}

#home .feature h2{
	padding:80px 0 40px 0;
}

#home .feature h2 img{
	right:auto;
	top:10px;
	right:50%;
	width:80px;
	margin:0 100px 0 0;
}

#home .feature h2 span{
	padding:10px 15px;
	font-size:min(6.0vw, 2.4rem); /* 400px */
	line-height:min(8.5, 3.4rem); /* 400px */
}
}


/* list
---------------------------------------- */
#home .feature .list{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0 40px;
	margin:0 0 80px 0;
	text-align:center;
}

#home .feature .list li{
	position:relative;
	font-size:2.2rem;
	font-weight:700;
	line-height:3.0rem;
}

#home .feature .list span{
	position:absolute;
	top:-36px;
	left:6px;
	-webkit-text-stroke:1px #000000;
	text-stroke:1px #000000;
	font-size:6.0rem;
	color:#f0e412;
	line-height:1;
	z-index:1;
}

#home .feature .list em{
	font-weight:700;
	color:#44b8b2;
}

#home .feature .list .img{
	position:relative;
	margin:0 0 24px 0;
}

#home .feature .list .img::before{
	content:"";
	position:absolute;
	top:8px;
	left:0;
	width:calc(100% - 2px);
	height:calc(100% - 2px);
	background:#fd9131;
	border:1px solid #000000;
	border-radius:6px;
}
#home .feature .list li:nth-child(2) .img::before{ background:#009e96; }
#home .feature .list li:nth-child(3) .img::before{ background:#f0e412; }
#home .feature .list li:nth-child(4) .img::before{ background:#87e9d6; }

#home .feature .list .img img{
	position:relative;
	border:1px solid #000000;
	border-radius:6px;
}

@media screen and (max-width:767px){
#home .feature .list{
	grid-template-columns:repeat(2,1fr);
	gap:40px 20px;
	margin:0 0 40px 0;
}

#home .feature .list li{
	font-size:1.6rem;
	line-height:2.6rem;
}

#home .feature .list span{
	position:absolute;
	top:-20px;
	left:6px;
	-webkit-text-stroke:1px #000000;
	text-stroke:1px #000000;
	font-size:4.0rem;
}

#home .feature .list .img{
	margin:0 0 18px 0;
}
}


/* box
---------------------------------------- */
#home .feature .box{
	padding:80px 100px;
	background:#f7f7d3;
}

#home .feature .box ul{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:38px 30px;
}

#home .feature .box a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	height:150px;
	padding:0 0 0 30px;
	background:#ffffff;
	border:2px solid #000000;
	border-radius:10px;
	font-size:2.6rem;
	font-weight:700;
	line-height:1;
	text-decoration:none;
}

#home .feature .box a::before{
	content:"";
	position:absolute;
	top:50%;
	right:20px;
	width:58px;
	height:58px;
	background:#009e96;
	border-radius:50%;
	transform:translateY(-50%);
	transition-duration:0.2s;
}

#home .feature .box a::after{
	content:"";
	position:absolute;
	top:0;
	right:20px;
	width:58px;
	height:100%;
	background:url(../../img/home/arrow.png) no-repeat center;
	background-size:18px auto;
	transition-duration:0.2s;
}

#home .feature .box img{
	position:absolute;
	top:50%;
	left:30px;
	transform:translateY(-50%);
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#home .feature .box a{
		font-size:2.4rem;
	}
}
}

@media screen and (max-width:767px){
#home .feature .box{
	padding:40px 20px 20px;
}

#home .feature .box ul{
	display:block;
}

#home .feature .box a{
	height:90px;
	margin:0 0 20px 0;
	padding:0;
	font-size:2.0rem;
	line-height:2.8rem;
}

#home .feature .box a::before{
	width:40px;
	height:40px;
}

#home .feature .box a::after{
	width:40px;
	background-size:14px auto;
}

#home .feature .box img{
	position:absolute;
	top:50%;
	left:20px;
	width:44px;
	transform:translateY(-50%);
}
}


/* ----------------------------------------
	interview
---------------------------------------- */
#home .interview{
	padding:140px 0 100px 0;
	background:#a0e2d5;
}

#home .interview::before{
	content:"";
	position:absolute;
	top:-35px;
	left:0;
	width:100%;
	height:36px;
	background:url(../../img/home/bg_interview.png) repeat-x center;
}

#home .interview .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

@media screen and (max-width:767px){
#home .interview{
	padding:60px 0;
}

#home .interview::before{
	top:-17px;
	height:18px;
	background-size:cover;
}
}


/* h_01
---------------------------------------- */
#home .interview .h_01{
	align-items:flex-start;
	margin-bottom:45px;
}

@media screen and (max-width:767px){
#home .interview .h_01{
	align-items:center;
	margin-bottom:26px;
}
}


/* btn
---------------------------------------- */
#home .interview .btn{
	position:absolute;
	top:117px;
	right:20px;
}

@media screen and (max-width:767px){
#home .interview .btn{
	position:static;
}
}


/* splide
---------------------------------------- */
#home .interview .splide__wrap{
	width:100vw;
	margin-left:calc(50% - 50vw);
	padding-left:calc(50vw - 50%);
}

#home .interview .splide__track{
	margin:0 0 0 -48px;
	padding:35px 0 0 48px;
}

#home .interview .splide__slide{
	max-width:480px;
}

@media screen and (max-width:767px){
#home .interview .splide__wrap{
	width:auto;
	margin:0 -20px 40px;
	padding:0;
}

#home .interview .splide__track{
	margin:0;
	padding:14px 60px 0;
}

#home .interview .splide__slide{
	max-width:none;
}
}


/* ---------- list_interview ---------- */
#home .interview .list_interview{
	gap:0;
}


/* ----------------------------------------
	tour
---------------------------------------- */
#home .tour{
	min-height:1010px;
	margin:0 0 150px 0;
	background:url(../../img/home/bg_tour.png) no-repeat center top;
	background-size:cover;
	text-align:center;
}

#home .tour::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:30px;
	background:#ffffff;
}

#home .tour h2{
	margin:0 0 -10px 0;
	padding:62px 0 0 0;
}

#home .tour p{
	margin:0 0 20px 0;
	font-size:2.4rem;
	color:#ffffff;
	line-height:4.0rem;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#home .tour p{
		font-size:2.0rem;
	}
}
}

@media screen and (max-width:767px){
#home .tour{
	min-height:auto;
	margin:0 0 60px 0;
	background:url(../../img/home/bg_tour.png) no-repeat center top, linear-gradient(to right, #02a884 0%, #06bc69 50%, #07c45d 100%);
	background-size:calc(100% + 60px) auto;
	padding:30px 0 40px 0;
}
#home .tour::before{ content:none; }

#home .tour h2{
	margin:0 0 40px 0;
	padding:0;
}

#home .tour p{
	display:flex;
	justify-content:center;
	text-align:left;
	font-size:1.8rem;
	line-height:2;
}
}


/* btn
---------------------------------------- */
#home .tour .btn{
	flex-direction:column;
	align-items:center;
	gap:24px 0;
}

#home .tour .btn a{
	width:440px;
	height:96px;
	border:3px solid #ffffff;
}
#home .tour .btn a.line{ background:#06c755; }

#home .tour .btn a.line::before{
	content:"";
	position:absolute;
	top:0;
	left:20px;
	width:44px;
	height:100%;
	background:url(../../img/common/icon_line.png) no-repeat center;
	background-size:44px auto;
}

@media screen and (max-width:767px){
#home .tour .btn{
	flex-direction:column;
	align-items:center;
	gap:20px 0;
}

#home .tour .btn a{
	width:100%;
	height:86px;
}

#home .tour .btn a.line::before{
	width:40px;
	background-size:40px auto;
}
}


/* ----------------------------------------
	news
---------------------------------------- */
#home .news{
	padding:0 0 180px 0;
}

#home .news h2{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px 0;
	margin:0 0 60px 0;
	line-height:1;
}

#home .news h2 .ja{
	font-size:7.2rem;
	font-weight:700;
}

#home .news h2 .en{
	-webkit-text-stroke:1px #1a1a1a;
	text-stroke:1px #1a1a1a;
	font-size:4.8rem;
	color:#87e9d6;
}

@media screen and (max-width:767px){
#home .news{
	padding:0 0 60px 0;
}

#home .news h2{
	margin:0 0 40px 0;
}

#home .news h2 .ja{
	font-size:5.0rem;
}

#home .news h2 .en{
	font-size:4.0rem;
}
}


/* list_news
---------------------------------------- */
#home .news .list_news{
	margin-bottom:80px;
}

@media screen and (max-width:767px){
#home .news .list_news{
	margin-bottom:40px;
}
}


/* ----------------------------------------
	widget_contact
---------------------------------------- */
#home .widget_contact{
	margin-bottom:84px;
}

#home .widget_contact ul{
	gap:0 38px;
}
#home .widget_contact ul li span{ font-size:2.4rem; }
#home .widget_contact ul li span span{ font-size:3.2rem; }

#home .widget_contact ul li.entry a{
	gap:0 30px;
}

@media screen and (max-width:767px){
#home .widget_contact{
	margin-bottom:46px;
}

#home .widget_contact ul li span{ font-size:1.8rem; }
#home .widget_contact ul li span span{ font-size:2.4rem; }

#home .widget_contact ul li.entry a{
	gap:0 10px;
}
}


/* ----------------------------------------
	navi
---------------------------------------- */
#home .navi{
	margin:0 0 200px 0;
}

#home .navi .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

#home .navi ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	border:3px solid #009e96;
	border-radius:14px;
}
#home .navi ul li:nth-child(1){ border-right:2px solid #009e96; }
#home .navi ul li:nth-child(3){ border-left:2px solid #009e96; }

#home .navi ul li a{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:0 30px;
	height:226px;
	text-decoration:none;
	will-change:transform; /* Chrome・Edge */
}

#home .navi ul li a:hover{
	background:#009e96;
	color:#ffffff;
}
#home .navi ul li:nth-child(1) a:hover{
	border-top-left-radius:8px;
	border-bottom-left-radius:8px;
}
#home .navi ul li:nth-child(3) a:hover{
	border-top-right-radius:8px;
	border-bottom-right-radius:8px;
}

#home .navi ul li img{
	opacity:1;
}

#home .navi ul li span{
	text-align:center;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.0rem;
}

#home .navi ul li span b{
	display:block;
	padding:10px 0 0 0;
	font-size:2.4rem;
	color:#ff6137;
	line-height:1;
}

@media screen and (max-width:767px){
#home .navi{
	margin:0 0 60px 0;
}

#home .navi ul{
	display:block;
}

#home .navi ul li{
	width:auto;
}
#home .navi ul li:nth-child(1){ border-right:none; }
#home .navi ul li:nth-child(3){ border-left:none; }
#home .navi ul li:nth-child(2){
	border-top:2px solid #009e96;
	border-bottom:2px solid #009e96;
}


#home .navi ul li a{
	gap:0 20px;
	height:120px;
}
#home .navi ul li:nth-child(1) a:hover{
	border-top-right-radius:8px;
	border-bottom-left-radius:0;
}
#home .navi ul li:nth-child(3) a:hover{
	border-top-right-radius:0;
	border-bottom-left-radius:8px;
}

#home .navi ul li img{
	width:60px;
}

#home .navi ul li span{
	font-size:2.4rem;
	line-height:3.0rem;
}

#home .navi ul li span b{
	font-size:1.8rem;
}
}


/* ========================================================================
	エンゼル薬局について			[ /about/ ]
======================================================================== */
#about{
	overflow:hidden;
}

#about .inner{
	width:auto;
	max-width:1440px;
	padding-left:20px;
	padding-right:20px;
}

#about p{
	font-size:2.2rem;
	line-height:4.0rem;
}

@media screen and (max-width:767px){
#about p{
	font-size:1.6rem;
	line-height:2;
}
}


/* ----------------------------------------
	pharmacy
---------------------------------------- */
#about .pharmacy{
	padding-bottom:302px;
	background:url(../../img/about/bg_pharmacy.png) no-repeat center 300px;
}

@media screen and (max-width:767px){
#about .pharmacy{
	padding-bottom:93px;
	background:none;
}
}


/* key
---------------------------------------- */
#about .pharmacy .key{
	position:relative;
	height:858px;
}

#about .pharmacy .key > img{
	position:absolute;
	top:-160px;
	left:50%;
	max-width:none;
	margin:0 0 0 -798px;
}

@media screen and (max-width:767px){
#about .pharmacy .key{
	height:auto;
	margin:-50px -20px 0;
}

#about .pharmacy .key > img{
	position:static;
	max-width:100%;
	margin:0;
}
}


/* box
---------------------------------------- */
#about .pharmacy .box{
	position:relative;
	padding:80px 90px 100px;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:10px;
}

#about .pharmacy .box::before{
	content:"";
	position:absolute;
	top:9px;
	left:9px;
	width:100%;
	height:100%;
	background:#009e96;
	border:1px solid #000000;
	border-radius:10px;
	z-index:-1;
}

#about .pharmacy .box::after{
	content:"";
	position:absolute;
	bottom:124px;
	right:90px;
	width:312px;
	height:140px;
	background:url(../../img/about/illust_pharmacy.png) no-repeat center;
}

#about .pharmacy .box h2{
	display:flex;
	align-items:center;
	gap:0 80px;
	position:relative;
	margin:0 0 30px 0;
	z-index:1;
}

#about .pharmacy .box h2 .ja{
	padding:0 16px;
	background:#f0e412;
	font-size:5.0rem;
	font-weight:700;
	line-height:7.5rem;
}

#about .pharmacy .box h2 .en{
	-webkit-text-stroke:1px #000000;
	text-stroke:1px #000000;
	font-size:12.6rem;
	font-family:"Changa One", sans-serif;
	color:#87e9d6;
	line-height:10.4rem;
}

#about .pharmacy .box p{
	width:860px;
}

#about .pharmacy .box p.lead{
	width:auto;
	margin:0 0 40px 0;
	padding:0 0 32px 0;
	background:url(../../img/common/line.png) repeat-x left bottom;
	font-size:3.6rem;
	font-weight:700;
	line-height:5.8rem;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#about .pharmacy .box h2 .ja{
		font-size:4.0rem;
		line-height:6.5rem;
	}
	#about .pharmacy .box h2 .en{
		font-size:10.0rem;
	}
	#about .pharmacy .box p.lead{
		font-size:2.8rem;
		line-height:5.0rem;
	}
}
}

@media screen and (max-width:767px){
#about .pharmacy .box{
	padding:40px 20px 120px;
}

#about .pharmacy .box::after{
	bottom:30px;
	right:20px;
	width:156px;
	height:70px;
	background-size:cover;
}

#about .pharmacy .box h2{
	flex-direction:column;
	align-items:flex-start;
	margin:0 0 20px 0;
	line-height:1;
}

#about .pharmacy .box h2 .ja{
	padding:0 10px;
	font-size:2.0rem;
	line-height:3.2rem;
}

#about .pharmacy .box h2 .en{
	display:block;
	font-size:5.0rem;
	line-height:1;
}

#about .pharmacy .box p{
	width:auto;
}

#about .pharmacy .box p.lead{
	margin:0 0 20px 0;
	padding:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}
}


/* ----------------------------------------
	service
---------------------------------------- */
#about .service{
	padding-bottom:300px;
}

#about .service ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:0 34px;
}

#about .service ul li{
	position:relative;
	padding:50px 30px 180px;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:10px;
}

#about .service ul li::before{
	content:"";
	position:absolute;
	top:7px;
	left:7px;
	width:100%;
	height:100%;
	background:#f5ee6b;
	border:1px solid #000000;
	border-radius:10px;
	z-index:-1;
}
#about .service ul li:nth-child(2)::before{ background:#009e96; }
#about .service ul li:nth-child(3)::before{ background:#fd9131; }

#about .service ul li h3{
	margin:0 0 14px 0;
	padding:0 0 22px 0;
	background:url(../../img/common/line.png) repeat-x left bottom;
	text-align:center;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.0rem;
}

#about .service ul li p{
	margin:0 0 16px 0;
	line-height:3.6rem;
}

#about .service ul li > img{
	position:absolute;
	bottom:50px;
	left:50%;
	transform:translateX(-50%);
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#about .service ul li h3{
		font-size:2.4rem;
	}
}
}

@media screen and (max-width:767px){
#about .service{
	padding-bottom:91px;
}

#about .service ul{
	display:block;
}

#about .service ul li{
	width:auto;
	margin:0 0 28px 0;
	padding:20px 20px 130px;
}
#about .service ul li:last-child{ margin-bottom:0; }

#about .service ul li h3{
	font-size:2.0rem;
	line-height:3.0rem;
}

#about .service ul li p{
	line-height:2;
}

#about .service ul li > img{
	bottom:30px;
	width:auto;
	height:100px;
}
}


/* ----------------------------------------
	store
---------------------------------------- */
#about .store{
	padding-bottom:212px;
}

#about .store .h_02 span{
	background:#f0e412;
}

#about .store p.center{
	margin:0 0 80px 0;
	line-height:3.6rem;
}

#about .store ul li{
	padding:82px 0 80px 0;
	background:url(../../img/common/line.png) repeat-x left top;
}

#about .store ul li{
	display:flex;
	align-items:flex-start;
	gap:0 100px;
	position:relative;
}

#about .store ul li > img{
	border:1px solid #000000;
	border-radius:20px;
}

#about .store .block{
	padding:18px 0 0 0;
}

#about .store .block h3{
	display:inline-block;
	margin:0 0 40px 0;
	padding:11px 16px;
	background:#87e9d6;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.0rem;
}
#about .store ul li:nth-child(2) h3{ background:#ffa555; }
#about .store ul li:nth-child(3) h3{ background:#f0e412; }

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#about .store .block h3{
		font-size:2.4rem;
		line-height:3.4rem;
	}
}
}

@media screen and (max-width:767px){
#about .store{
	padding-bottom:53px;
}

#about .store p.center{
	margin:0 0 40px 0;
	text-align:left;
	line-height:2;
}

#about .store ul li{
	padding:32px 0 30px 0;
}

#about .store ul li{
	display:block;
}

#about .store ul li > img{
	display:block;
	margin:0 auto;
}

#about .store .block{
	padding:30px 0 0 0;
}

#about .store .block h3{
	margin:0 0 20px 0;
	padding:8px 10px;
	font-size:2.0rem;
	line-height:3.0rem;
}
}


/* ----------------------------------------
	philosophy
---------------------------------------- */
#about .philosophy{
	padding-bottom:302px;
}

#about .philosophy .box{
	display:flex;
	align-items:flex-start;
	gap:0 80px;
	position:relative;
	padding:100px 90px;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:10px;
}

#about .philosophy .box::before{
	content:"";
	position:absolute;
	top:9px;
	left:9px;
	width:100%;
	height:100%;
	background:#009e96;
	border:1px solid #000000;
	border-radius:10px;
	z-index:-1;
}

#about .philosophy .box > img{
	border-radius:20px;
}

#about .philosophy .block h3{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:0 10px;
	margin:0 0 20px 0;
	padding:0 20px 26px 0;
	background:url(../../img/common/line.png) repeat-x left bottom;
	font-size:3.6rem;
	font-weight:700;
	line-height:5.0rem;
}

#about .philosophy .block h3 span{
	flex:1;
	text-align:right;
}

#about .philosophy .block p strong{
	color:#009e96;
}

@media screen and (max-width:767px){
#about .philosophy{
	padding-bottom:93px;
}

#about .philosophy .box{
	display:block;
	padding:20px 20px 30px;
}

#about .philosophy .box > img{
	display:block;
	margin:0 auto 20px;
}

#about .philosophy .block h3{
	align-items:flex-end;
	padding:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#about .philosophy .block h3 span{
	flex:none;
}

#about .philosophy .block h3 img{
	width:50px;
	margin:0;
}
}


/* ========================================================================
	代表者メッセージ・企業理念		[ /message/ ]
======================================================================== */
#message{
	overflow:hidden;
}


/* ----------------------------------------
	key_01 / key_02
---------------------------------------- */
#message .key_01,
#message .key_02{
	position:relative;
	margin:0 0 150px 0;
	background:url(../../img/message/key_01-01.jpg) no-repeat center;
	background-size:cover;
	color:#222222;
}
#message .key_02{
	margin:-252px 0 150px 0;
	background-image:url(../../img/message/key_02-01.jpg);
}

#message .key_01::before,
#message .key_02::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;	
	width:100%;
	height:154px;
	background:url(../../img/message/key_01-02.png) no-repeat center top;
	background-size:cover;
	z-index:1;
}
#message .key_02::before{ background-image:url(../../img/message/key_02-02.png); }

#message .key_01::after{
	content:"";
	position:absolute;
	top:200px;
	left:50%;
	max-width:1600px;
	width:100%;
	height:168px;
	background:url(../../img/common/h1.png) no-repeat right 10px center;
	transform:translateX(-50%);
}

#message .key_01 .inner,
#message .key_02 .inner{
	width:auto;
	max-width:1440px;
	min-height:990px;
	padding:0 20px;
}

#message .key_01 h1{
	position:relative;
	margin:0 0 50px 0;
	padding:280px 0 35px 0;
	font-size:7.0rem;
	font-weight:700;
	line-height:1;
}

#message .key_01 h1::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:96px;
	height:3px;
	background:#009e96;
}

#message .key_01 h1 span{
	display:block;
	padding:35px 0 0 0;
	font-size:2.6rem;
	color:#009e96;
}

#message .key_01 .ceo,
#message .key_02 .ceo{
	position:absolute;
	bottom:0;
	right:20px;
}
#message .key_02 .ceo{
	right:auto;
	left:24px;
}

@media screen and (max-width:767px){
#message .key_01{
	margin:0 0 40px 0;
}
#message .key_02{
	margin:-43px 0 40px 0;
	padding:40px 0 0 0;
	border-top:1px solid #dddddd;
}

#message .key_01::before,
#message .key_02::before{
	height:77px;
	background-size:auto 77px;
}

#message .key_01::after{
	top:115px;
	left:auto;
	right:10px;
	width:min(19.8vw, 99px); /* 500px */
	height:84px;
	background-position:center top;
	background-size:min(19.8vw, 99px) min(16.8vw, 84px); /* 500px */
	transform:none;
}

#message .key_01 .inner,
#message .key_02 .inner{
	min-height:auto;
}

#message .key_01 h1{
	margin:0 0 40px 0;
	padding:120px 0 20px 0;
	font-size:min(6.0vw, 3.0rem); /* 500px */
	z-index:1;
}

#message .key_01 h1::before{
	width:min(15.2vw, 76px); /* 500px */
	height:2px;
}

#message .key_01 h1 span{
	padding:20px 0 0 0;
	font-size:min(4.0vw, 2.0rem); /* 500px */
}

#message .key_01 .ceo,
#message .key_02 .ceo{
	position:static;
	text-align:center;
}

#message .key_01 .ceo img,
#message .key_02 .ceo img{
	width:223px;
}
}


/* block
---------------------------------------- */
#message .key_02 .block{
	position:absolute;
	bottom:298px;
	right:20px;
}

#message .key_01 p.lead,
#message .key_02 p.lead{
	margin:0 0 40px 0;
	font-size:5.0rem;
	line-height:7.0rem;
}
#message .key_02 p.lead{ margin:0 0 30px 0; }

#message .key_02 p.lead span{
	display:block;
	font-size:3.6rem;
}

@media screen and (max-width:767px){
#message .key_01 .block,
#message .key_02 .block{
	display:flex;
	flex-direction:column;
	align-items:center;
	position:static;
}

#message .key_01 p.lead,
#message .key_02 p.lead{
	margin:0 0 40px 0;
	font-size:min(6.0vw, 3.0rem); /* 500px */
	line-height:min(10.0vw, 5.0rem); /* 500px */
}

#message .key_02 p.lead span{
	display:block;
	font-size:min(4.0vw, 2.0rem); /* 500px */
}

#message .key_01 .name,
#message .key_02 .name{
	margin:0 0 30px 0;
}

#message .key_01 .name img,
#message .key_02 .name img{
	width:auto;
	height:50px;	
}
}


/* ----------------------------------------
	message
---------------------------------------- */
#message .message{
	padding:0 0 292px 0;
}

#message .message p{
	padding:0 0 40px 0;
	font-size:2.2rem;
	line-height:4.0rem;
}

#message .message p span,
#message .message p strong{
	color:#009e96;
}

#message .message p.lead{
	margin:20px 0 0 0;
	padding:25px 20px;
	background:#b4e6df;
	text-align:center;
	font-size:3.0rem;
	font-weight:700;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#message .message p.lead{
		font-size:2.4rem;
	}
}
}

@media screen and (max-width:767px){
#message .message{
	padding:0 0 83px 0;
}

#message .message p{
	padding:0 0 20px 0;
	font-size:1.6rem;
	line-height:2;
}

#message .message p span,
#message .message p strong{
	color:#009e96;
}

#message .message p.lead{
	margin:10px 0 0 0;
	padding:20px;
	text-align:left;
	font-size:1.8rem;
}
}


/* ----------------------------------------
	philosophy
---------------------------------------- */
#message .philosophy{
	padding-bottom:300px;
}

#message .philosophy .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

#message .philosophy h2{
	position:relative;
	margin:0 0 80px 0;
	padding:0 0 35px 0;
	text-align:center;
	font-size:5.0rem;
	font-weight:700;
	line-height:1;
}

#message .philosophy h2::before{
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	width:96px;
	height:3px;
	background:#009e96;
	transform:translateX(-50%);
}

#message .philosophy h2 span{
	display:block;
	padding:30px 0 0 0;
	font-size:2.4rem;
	font-weight:500;
	color:#009e96;
}

@media screen and (max-width:767px){
#message .philosophy{
	padding-bottom:91px;
}

#message .philosophy h2{
	margin:0 0 40px 0;
	padding:0 0 20px 0;
	font-size:3.0rem;
}

#message .philosophy h2::before{
	width:96px;
	height:3px;
}

#message .philosophy h2 span{
	padding:10px 0 0 0;
	font-size:2.0rem;
}
}


/* ul
---------------------------------------- */
#message .philosophy ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:68px 0;
}

#message .philosophy ul li{
	position:relative;
	width:calc(50% - 30px);
	padding:50px 44px;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:10px;
}
#message .philosophy ul li:nth-child(5){ width:100%; }

#message .philosophy ul li::before{
	content:"";
	position:absolute;
	top:7px;
	left:-1px;
	width:100%;
	height:100%;
	background:#009e96;
	border:1px solid #000000;
	border-radius:10px;
	z-index:-1;
}
#message .philosophy ul li:nth-child(2)::before{ background:#69d7b7; }
#message .philosophy ul li:nth-child(3)::before{ background:#fd9131; }
#message .philosophy ul li:nth-child(4)::before{ background:#f5ee6b; }

#message .philosophy h3{
	position:relative;
	height:81px;
	margin:0 0 30px 0;
	padding:0 0 11px 90px;
	background:linear-gradient(to right, #000000 4px, transparent 4px) repeat-x left bottom;
	background-size:6px 1px;
	font-size:3.6rem;
	font-weight:700;
	line-height:7.0rem;
}

#message .philosophy h3 img{
	position:absolute;
	top:0;
	left:0;
}

#message .philosophy h3 span{
	position:absolute;
	top:0;
	right:0;
	font-size:2.4rem;
	color:#009e96;
}
#message .philosophy ul li:nth-child(2) h3 span{ color:#2cb67a; }
#message .philosophy ul li:nth-child(3) h3 span{ color:#fd9131; }
#message .philosophy ul li:nth-child(4) h3 span{ color:#ddce50; }

#message .philosophy p{
	font-size:2.2rem;
	line-height:3.6rem;
}

#message .philosophy p.lead{
	margin:0 0 20px 0;
	font-size:2.6rem;
	font-weight:700;
	color:#009e96;
}
#message .philosophy ul li:nth-child(2) p.lead{ color:#2cb67a; }
#message .philosophy ul li:nth-child(3) p.lead{ color:#fd9131; }
#message .philosophy ul li:nth-child(4) p.lead{ color:#d0ba00; }

@media screen and (max-width:767px){
#message .philosophy ul{
	display:block;
}

#message .philosophy ul li{
	width:auto;
	margin:0 0 28px 0;
	padding:30px 20px;
}
#message .philosophy ul li:last-child{ margin:0; }

#message .philosophy h3{
	height:auto;
	margin:0 0 20px 0;
	padding:0 0 11px 70px;
	font-size:2.4rem;
	line-height:3.4rem;
}

#message .philosophy h3 img{
	width:50px;
}

#message .philosophy h3 span{
	display:block;
	position:static;
	font-size:1.6rem;
	line-height:1;
}

#message .philosophy p{
	font-size:1.6rem;
	line-height:2;
}

#message .philosophy p.lead{
	margin:0 0 10px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}
}


/* ---------- list ---------- */
#message .philosophy .list{
	display:grid;
	grid-template-columns:repeat(5,1fr);
}

#message .philosophy .list dl{
	position:relative;
	padding:4px 20px 126px;
	background:linear-gradient(to bottom, #000000 4px, transparent 4px) repeat-y right top;
	background-size:1px 6px;
}
#message .philosophy .list dl:last-child{ background:none; }

#message .philosophy .list dl dt{
	position:relative;
	margin:0 0 20px 0;
	padding:6px 0 6px 54px;
	font-size:2.0rem;
	font-weight:700;
	line-height:3.0rem;
}

#message .philosophy .list dl dt span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	left:0;
	width:42px;
	height:42px;
	background:#009e96;
	border-radius:50%;
	font-size:2.6rem;
	color:#ffffff;
}

#message .philosophy .list dl dd{
	font-size:2.0rem;
	line-height:3.0rem;
}

#message .philosophy .list dl dd > img{
	position:absolute;
	bottom:20px;
	left:50%;
	transform:translateX(-50%);
}

@media screen and (max-width:767px){
#message .philosophy .list{
	display:block;
}

#message .philosophy .list dl{
	margin:0 0 20px 0;
	padding:0 10px 90px;
	background:linear-gradient(to right, #000000 4px, transparent 4px) repeat-x left bottom;
	background-size:6px 1px;
}
#message .philosophy .list dl:last-child{
	margin:0;
	padding-bottom:90px;
}

#message .philosophy .list dl dt{
	margin:0 0 15px 0;
	padding:1px 0 1px 42px;
	font-size:1.8rem;
	line-height:2.8rem;
}

#message .philosophy .list dl dt span{
	width:30px;
	height:30px;
	font-size:2.0rem;
}

#message .philosophy .list dl dd{
	font-size:1.6rem;
	line-height:2.6rem;
}

#message .philosophy .list dl dd > img{
	bottom:20px;
	width:auto;
	height:60px;
}
#message .philosophy .list dl:last-child dd > img{ bottom:0; }
}


/* ========================================================================
	会社概要						[ /company/ ]
======================================================================== */

/* ----------------------------------------
	overview
---------------------------------------- */
#company .overview{
	padding-bottom:192px;
}

@media screen and (max-width:767px){
#company .overview{
	padding-bottom:43px;
}
}


/* ----------------------------------------
	history
---------------------------------------- */
#company .history{
	padding-bottom:192px;
}

#company .history table{
	border:none;
	font-size:2.0rem;
}
#company .history table tr{ border:none; }
#company .history table tr:nth-child(odd){ background:#ecfffd; }

#company .history table th,
#company .history table td{
	padding:40px 50px;
	background:none;
	text-align:left;
}
#company .history table th{ width:300px; }

@media screen and (max-width:767px){
#company .history{
	padding-bottom:43px;
}

#company .history table{
	font-size:1.6rem;
}

#company .history table th{
	width:auto;
	padding:10px 20px 0;
}
#company .history table td{ padding:0 20px 10px; }
}


/* ========================================================================
	店舗一覧						[ /store/ ]
======================================================================== */

/* ----------------------------------------
	widget_ttl
---------------------------------------- */
#store .widget_ttl .inner{
	min-height:606px;
}
#store .widget_ttl .inner::before,
#store .widget_ttl .inner::after{ content:none; }

#store .widget_ttl h1,
#store .widget_ttl p{
	position:relative;
	z-index:1;
}

@media screen and (max-width:767px){
#store .widget_ttl{
	margin:0;
}

#store .widget_ttl .inner{
	min-height:auto;
	padding-bottom:0;
}

#store .widget_ttl p{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	key
---------------------------------------- */
#store .key{
	margin:-606px 0 0 0;
	padding:0 0 92px 0;
	background:#d3f7f2;
}

#store .key .inner{
	width:auto;
	max-width:1726px;
	height:734px;
	padding:0 20px;
}

#store .key .map{
	position:absolute;
	top:80px;
	right:20px;
}

#store .key dl{
	position:absolute;
	bottom:130px;
	left:50%;
	width:100%;
	max-width:1440px;
	padding:0 20px;
	transform:translateX(-50%);
}

#store .key dl dt{
	position:relative;
	margin:0 0 32px 0;
	padding:0 0 12px 0;
	font-size:2.6rem;
	font-weight:700;
	line-height:3.6rem;
}

#store .key dl dt::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:158px;
	height:3px;
	background:#009e96;
}

#store .key ul{
	display:flex;
	gap:0 28px;
}

#store .key ul li a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:332px;
	height:98px;
	background:#ffffff;
	border:2px solid #009e96;
	border-radius:10px;
	font-size:2.4rem;
	font-weight:700;
	color:#009e96;
	text-decoration:none;
}
#store .key ul li a[href="#aichi"]{
	border-color:#ff805e;
	color:#ff6137;
}

#store .key ul li a::before,
#store .key ul li a::after{
	content:"";
	position:absolute;
	top:0;
	left:28px;
	width:28px;
	height:100%;
	background:url(../../img/store/icon_mie.png) no-repeat center;
	background-size:100% auto;
}
#store .key ul li a::after{
	left:auto;
	right:16px;
	width:16px;
	background-image:url(../../img/common/arrow_cat.png);
}
#store .key ul li a[href="#aichi"]::before{ background-image:url(../../img/store/icon_aichi.png); }
#store .key ul li a[href="#aichi"]::after{ background-image:url(../../img/store/arrow_aichi.png); }

@media screen and (max-width:767px){
#store .key{
	margin:0;
	padding:0 0 63px 0;
}

#store .key .inner{
	height:auto;
}

#store .key .map{
	position:static;
	margin:0 0 40px 0;
}

#store .key dl{
	position:static;
	padding:0;
	transform:none;
}

#store .key dl dt{
	margin:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#store .key dl dt::before{
	width:80px;
}

#store .key ul{
	display:block;
}

#store .key ul li a{
	width:100%;
	height:80px;
	margin:0 0 20px 0;
	font-size:2.0rem;
}

#store .key ul li a::before{
	left:20px;
	width:20px;
}
#store .key ul li a::after{ width:14px; }
}


/* ----------------------------------------
	area
---------------------------------------- */
#store .area{
	padding:0 20px;
}

#store .area .inner{
	display:flex;
	justify-content:space-between;
	gap:0 30px;
	width:auto;
	max-width:1400px;
	margin-bottom:100px;
	padding:64px 68px 84px 32px;
	background:#f2f2f2;
	z-index:1;
}

#store .area .img{
	flex:1;
	text-align:center;
}

@media screen and (max-width:767px){
#store .area .inner{
	display:block;
	margin-bottom:40px;
	padding:30px 20px 40px;
	background:#f2f2f2;
}

#store .area .img{
	margin:0 0 30px 0;
}
}


/* box
---------------------------------------- */
#store .area .box{
	position:relative;
	width:568px;
	padding:36px 29px 48px;
	background:#ffffff;
	border-radius:10px;
}

#store .area .box::before{
	content:"";
	position:absolute;
	top:10px;
	left:0;
	width:100%;
	height:100%;
	background:#009e96;
	border-radius:10px;
	z-index:-1;
}
#store .aichi .area .box::before{ background:#ff805e; }

#store .area .box dl{
	display:flex;
	flex-direction:column;
	align-items:center;
}

#store .area .box dl dt{
	width:100%;
	margin:0 0 48px 0;
	padding:24px 0;
	background:#87e9d6;
	border-radius:39px;
	text-align:center;
	font-size:3.0rem;
	font-weight:700;
	line-height:1;
}
#store .aichi .area .box dl dt{ background:#ff9f85; }

#store .area .box dl dd{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:0 40px;
	width:100%;
	padding:0 11px;
}
#store .aichi .area .box dl dd{ display:block; }

#store .area .box ul li{
	border-bottom:1px solid #cecece;
}
#store .area .box ul li:last-child{ border:none; }

#store .area .box ul li a{
	display:block;
	position:relative;
	padding:12px 0 12px 52px;
	font-size:2.4rem;
	font-weight:700;
	line-height:1.5; /* 36px */
	text-decoration:none;
}

#store .area .box ul li span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:12px;
	left:0;
	width:36px;
	height:36px;
	background:#ffffff;
	border:2px solid #009e96;
	border-radius:50%;
	text-align:center;
	font-size:1.8rem;
	line-height:1;
}
#store .aichi .area .box ul li span{ border-color:#ff805e; }

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#store .area .box ul li a{
		font-size:2.2rem;
	}
}
}

@media screen and (max-width:767px){
#store .area .box{
	width:auto;
	padding:30px 20px 20px;
}

#store .area .box dl dt{
	margin:0 0 20px 0;
	padding:20px 0;
	font-size:2.0rem;
}

#store .area .box dl dd{
	gap:0 20px;
	padding:0;
}

#store .area .box ul li a{
	padding:11px 0 11px 34px;
	font-size:min(3.6vw, 1.8rem); /* 500px */
	line-height:2.4rem;
}

#store .area .box ul li span{
	top:10px;
	width:26px;
	height:26px;
	font-size:1.4rem;
}
}


/* ----------------------------------------
	list
---------------------------------------- */
#store .list{
	padding:160px 0;
	background:#f2f2f2;
}

#store .list ul{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:60px;
}

#store .list ul li{
	width:570px;
	padding:40px 40px 50px;
	background:#ffffff;
	border-radius:10px;
	box-shadow:0 0 8px 0 rgba(152,152,152,0.7);
}

#store .list ul li > img{
	width:490px;
	height:310px;
	object-fit:cover;
}

#store .list h3{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:0 20px;
	padding:20px 0 28px 0;
	font-size:2.4rem;
	font-weight:700;
	line-height:1.5; /* 36px */
}

#store .list h3 span{
	display:flex;
	align-items:center;
	height:36px;
	padding:0 16px;
	min-width:160px;
	background:#009e96;
	border-radius:18px;
	font-size:1.6rem;
	font-weight:500;
	color:#ffffff;
	line-height:1;
}

#store .list dl dt{
	margin:0 0 18px 0;
	padding:0 0 0 15px;
	border-left:5px solid #009e96;
	font-weight:700;
	line-height:3.0rem;
}

#store .list table{
	margin:0;
	font-size:1.6rem;
	line-height:3.0rem;
}

#store .list table th,
#store .list table td{
	padding:10px 34px;
	border:1px solid #000000;
}
#store .list table th{ width:194px; }

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#store .list h3{
		font-size:1.8rem;
		line-height:2.8rem;
	}
	#store .list h3 span{
		font-size:1.4rem;
	}
}
}

@media screen and (max-width:767px){
#store .list{
	padding:40px 0 20px 0;
}

#store .list ul{
	display:block;
}

#store .list ul li{
	width:auto;
	margin:0 0 20px 0;
	padding:30px 20px;
}

#store .list ul li > img{
	width:100%;
	height:auto;
}

#store .list h3{
	flex-direction:column;
	padding:20px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#store .list h3 span{
	margin:10px 0 0 0;
}

#store .list dl dt{
	line-height:2.8rem;
}

#store .list table{
	margin:0;
	font-size:1.6rem;
	line-height:3.0rem;
}

#store .list table th,
#store .list table td{
	display:table-cell;
	padding:10px 20px;
}
#store .list table th{
	width:120px;
	padding:10px;
}
}


/* map
---------------------------------------- */
#store .list .map{
	display:flex;
	gap:0 20px;
	margin:0 0 18px 0;
}

#store .list .map p{
	padding:5px 0 0 0;
	line-height:1.66666; /* 30px */
}

#store .list .map .btn a{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:0 10px;
	width:165px;
	height:40px;
	border:2px solid #009e96;
	border-radius:5px;
	text-align:center;
	font-size:1.6rem;
	font-weight:700;
	color:#009e96;
	text-decoration:none;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#store .list .map p{
		padding:0;
	}
	#store .list .map .btn a{
		font-size:1.4rem;
	}
}
}

@media screen and (max-width:767px){
#store .list .map{
	display:block;
	margin:0 0 26px 0;
}

#store .list .map p{
	padding:0 0 10px 0;
	line-height:2.8rem;
}
}


/* ----------------------------------------
	mie / aichi
---------------------------------------- */
#store .aichi{
	padding:160px 0 200px 0;
}

@media screen and (max-width:767px){
#store .aichi{
	padding:60px 0;
}
}


/* h_03
---------------------------------------- */
#store .aichi .h_03 span.ja{
	border-color:#ff805e;
}

#store .aichi .h_03 span.en{
	color:#ff9f85;
}


/* ========================================================================
	データでみる当社				[ /data/ ]
======================================================================== */
#data{
	overflow:hidden;
	margin:0 0 200px 0;
}

@media screen and (max-width:767px){
#data{
	margin:0 0 60px 0;
}
}


/* ----------------------------------------
	widget_ttl
---------------------------------------- */
#data .widget_ttl .inner::after{
	background:url(../../img/data/bg_data.png) center top;
}

@media screen and (max-width:767px){
#data .widget_ttl{
	margin:0;
}

#data .widget_ttl .inner::after{
	background-size:8px;
}
}


/* ----------------------------------------
	data
---------------------------------------- */
#data .data{
	margin:-136px 0 0 0;
	padding:0 0 80px 0;
	background:url(../../img/data/bg_data.png) center 136px;
}

#data .data .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

@media screen and (max-width:767px){
#data .data{
	margin:-20px 0 0 0;
	padding:0;
	background-position:center 20px;
	background-size:8px;
}
}


/* key
---------------------------------------- */
#data .data .key{
	position:relative;
	min-height:456px;
}

#data .data .key h2{
	display:flex;
	gap:0 30px;
	width:1200px;
	margin:0 auto 26px;
}

#data .data .key h2 .ja{
	margin:15px 0 0 0;
}

#data .data p.lead{
	position:relative;
	margin:0 0 10px 24px;
	font-size:2.6rem;
	font-weight:500;
	line-height:2.30769; /* 60px */
}

#data .data p.lead::before{
	content:"";
	position:absolute;
	top:-50px;
	left:-55px;
	width:72px;
	height:62px;
	background:url(../../img/data/lead.png) no-repeat center;
}

#data .data p.lead span{
	display:inline-block;
	padding:0 4px 0 16px;
	background:#ffe260;
	line-height:2; /* 52px */
}

#data .data p.note{
	margin:0 0 0 30px;
	font-size:1.4rem;
	line-height:1;
}

#data .data .key > img{
	position:absolute;
	bottom:0;
	right:-10px;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#data .data p.lead{
		font-size:2.4rem;
		line-height:5.0rem;
	}
	#data .data p.lead span{
		line-height:4.2rem;
	}
}
}

@media screen and (max-width:767px){
#data .data .key{
	min-height:auto;
	text-align:center;
}

#data .data .key h2{
	display:block;
	width:auto;
	margin:0 auto 20px;
}

#data .data .key h2 .en{
	display:block;
	margin:0 80px 0 0;
}

#data .data .key h2 .en img{
	width:236px;
}

#data .data .key h2 .ja{
	display:block;
	margin:-10px 0 0 40px;
}

#data .data .key h2 .ja img{
	width:298px;
}

#data .data .block{
	display:inline-block;
	text-align:left;
}

#data .data p.lead{
	margin:0 0 10px 0;
	font-size:min(3.3333vw, 2.0rem); /* 600px */
	line-height:min(6.6666vw, 4.0rem); /* 600px */
}

#data .data p.lead::before{
	top:-25px;
	left:-27px;
	width:36px;
	height:31px;
	background-size:36px 31px;
}

#data .data p.lead span{
	padding:0 0 0 10px;
	line-height:min(5.3333vw, 3.2rem); /* 600px */
}

#data .data p.note{
	margin:0;
	font-size:1.2rem;
}

#data .data .key > img{
	position:static;
	width:400px;
}
}


/* ul
---------------------------------------- */
#data .data .inner > ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:38px 31px;
	margin:0 0 120px 0;
}
#data .data .inner > ul li:nth-child(2){ margin-right:-18px; }
#data .data .inner > ul li:nth-child(9){ margin-right:-36px; }

@media screen and (max-width:767px){
#data .data .inner > ul{
	display:block;
	max-width:446px;
	margin:0 auto;
	padding:0 0 40px 0;
	text-align:center;
}

#data .data .inner > ul li{
	margin:0 0 20px 0;
}
#data .data .inner > ul li:nth-child(2){ margin-right:-4.03587%; }
#data .data .inner > ul li:nth-child(9) { margin-right:-8.07174%; }
}


/* extra
---------------------------------------- */
#data .extra h3{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:0 34px;
	margin:0 0 60px 0;
	text-align:center;
	font-size:4.8rem;
	font-weight:700;
	line-height:1;
}

#data .extra h3::before,
#data .extra h3::after{
	content:"";
	width:190px;
	height:3px;
	background:#161616;
}

#data .extra ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:10px 0;
	margin:0 0 120px 0;
}

#data .extra ul li{
	width:31.85714%;
}

#data .extra ul li:nth-child(4){
	width:34.14285%;
	margin-left:-1.57142%;
}

#data .extra ul li:nth-child(5){
	width:65.57142%;
}

#data .extra ul li:nth-child(6){
	width:45.28571%;
	margin:-1.21428% 0 0 -4.14285%;
}

#data .extra ul li:nth-child(7),
#data .extra ul li:nth-child(8){
	width:29%;
}
#data .extra ul li:nth-child(8){ margin-left:0.85714%; }

@media screen and (max-width:767px){
#data .extra h3{
	gap:0 20px;
	margin:0 0 10px 0;
	font-size:2.4rem;
}

#data .extra h3::before,
#data .extra h3::after{
	content:"";
	width:80px;
	height:2px;
}

#data .extra ul{
	display:block;
	margin:0;
	padding:0 0 50px 0;
}

#data .extra ul li,
#data .extra ul li:nth-child(5){
	width:auto;
	margin:0 0 10px 0;
	text-align:center;
}

#data .extra ul li:nth-child(4){
	width:auto;
	margin:0 -2.09205% 20px -4.60251%;
}

#data .extra ul li:nth-child(6){
	width:auto;
	margin:0 -2.52365% 10px -9.14826%;
}

#data .extra ul li:nth-child(7),
#data .extra ul li:nth-child(8){
	width:auto;
	margin-left:-6.40394%;
}
}


/* ========================================================================
	キャリアについて				[ /career/ ]
======================================================================== */

/* ----------------------------------------
	anxiety
---------------------------------------- */
#career .anxiety{
	margin:-60px 0 0 0;
	padding:0 0 212px 0;
	background:url(../../img/career/bg_anxiety.png) repeat-x center 160px;
}

#career .anxiety .inner{
	z-index:2;
}

#career .anxiety .inner::before{
	content:"";
	position:absolute;
	top:-175px;
	right:124px;
	width:154px;
	height:330px;
	background:url(../../img/career/illust_anxiety01.png) no-repeat center;
}

#career .anxiety .inner::after{
	content:"";
	position:absolute;
	bottom:-142px;
	left:88px;
	width:172px;
	height:348px;
	background:url(../../img/career/illust_anxiety02.png) no-repeat center;
}

#career .anxiety h2{
	margin:0 0 70px 0;
	text-align:center;
	font-size:4.6rem;
	font-weight:700;
	line-height:6.6rem;
}

#career .anxiety p.lead{
	text-align:center;
	font-size:2.6rem;
	font-weight:700;
	line-height:4.8rem;
}

#career .anxiety p.lead span{
	display:inline-block;
	background:linear-gradient(transparent 64.6%, #a2eee3 0%);
}

#career .anxiety ul{
	display:flex;
	flex-wrap:wrap;
	gap:0 51px;
	margin:0 0 70px 0;
}

#career .anxiety ul li:nth-child(2){
	padding:72px 0;
}
#career .anxiety ul li:nth-child(4),
#career .anxiety ul li:nth-child(6){
	margin-top:-68px;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#career .anxiety .inner::after{
		left:0px;
	}
}
}

@media screen and (max-width:767px){
#career .anxiety{
	margin:0;
	padding:0 0 183px 0;
	background:url(../../img/career/bg_anxiety.png) repeat-x center 80px;
	background-size:cover;
}

#career .anxiety .inner::before{
	top:auto;
	bottom:-200px;
	right:30px;
	width:77px;
	height:165px;
	background-size:77px 165px;
}

#career .anxiety .inner::after{
	bottom:-200px;
	left:30px;
	width:86px;
	height:174px;
	background-size:86px 174px;
}

#career .anxiety h2{
	margin:0 0 30px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#career .anxiety p.lead{
	text-align:center;
	font-size:min(3.6vw, 1.8rem); /* 500px */
	line-height:min(6.0vw, 3.0rem); /* 500px */
}

#career .anxiety ul{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:0 20px;
	margin:0 0 20px 0;
}
#career .anxiety ul li:nth-child(2){ padding:0; }
#career .anxiety ul li:nth-child(even){ margin-top:30px; }
}


/* ----------------------------------------
	model
---------------------------------------- */
#career .model{
	padding-bottom:160px;
}

#career .model .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

@media screen and (max-width:767px){
#career .model{
	padding-bottom:40px;
}
}


/* flex
---------------------------------------- */
#career .model h2{
	padding:0 0 0 128px;
	background:url(../../img/career/h2_model.png) no-repeat left center;	
	font-size:7.0rem;
	font-weight:700;
	line-height:1;
	white-space:nowrap;
}

#career .model h2 span{
	display:block;
	padding:16px 0 0 0;
	font-size:3.0rem;
}

#career .model .inner > .flex{
	justify-content:space-between;
	gap:0 40px;
	margin:0 0 60px 0;
}

#career .model .inner > .flex p{
	flex:1;
	max-width:660px;
	font-size:2.2rem;
	line-height:3.6rem;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#career .model .inner > .flex p{
		font-size:1.6rem;
		line-height:3.0rem;
	}
}
}

@media screen and (max-width:767px){
#career .model h2{
	margin:0 0 20px 0;
	padding:0 0 2px 64px;
	background:url(../../img/career/h2_model.png) no-repeat left center;
	background-size:54px 58px;
	font-size:2.8rem;
}

#career .model h2 span{
	display:block;
	padding:10px 0 0 0;
	font-size:1.8rem;
}

#career .model .inner > .flex{
	display:block;
}

#career .model .inner > .flex{
	justify-content:space-between;
	gap:0 40px;
	margin:0 0 20px 0;
}

#career .model .inner > .flex p{
	max-width:none;
	font-size:1.6rem;
	line-height:2;
}
}


/* ----------------------------------------
	case
---------------------------------------- */
#career .case > li{
	position:relative;
	margin:0 0 40px 0;
	padding:0 0 50px 0;
	background:#ffffff;
	border:3px solid #609b32;
	border-radius:15px;
}
#career .case > li:nth-child(2){ border-color:#8b62ad; }
#career .case > li:nth-child(3){ border-color:#3276c6; }
#career .case > li:nth-child(4){ border-color:#fd5f76; }
#career .case > li:nth-child(5){ border-color:#fc8a00; }

#career .case h3{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	gap:0 10px;
	top:0;
	left:0;
	width:327px;
	height:77px;
	background:#609b32;
	border-top-left-radius:10px;
	border-bottom-right-radius:20px;
	font-size:2.2rem;
	font-weight:700;
	color:#ffffff;
	line-height:1;
}
#career .case li:nth-child(2) h3{ background:#8b62ad; }
#career .case li:nth-child(3) h3{ background:#3276c6; }
#career .case li:nth-child(4) h3{ background:#fd5f76; }
#career .case li:nth-child(5) h3{ background:#fc8a00; }

#career .case h3 span{
	font-size:4.8rem;
}

#career .case .flex{
	padding:0 50px;
}

@media screen and (max-width:767px){
#career .case > li{
	margin:0 0 20px 0;
	padding:0 0 30px 0;
}

#career .case h3{
	width:240px;
	height:57px;
	font-size:2.0rem;
}

#career .case h3 span{
	font-size:3.0rem;
}

#career .case .flex{
	display:block;
	padding:0 20px;
}
}


/* block
---------------------------------------- */
#career .case .block{
	width:370px;
	padding:110px 0 40px 0;
}

#career .case .block p{
	font-size:2.8rem;
	font-weight:700;
	line-height:4.4rem;
}

#career .case .block figure{
	display:flex;
	align-items:flex-end;
	gap:0 34px;
	margin:0 0 40px 0;
}

#career .case .block figcaption{
	font-size:2.4rem;
	font-weight:700;
	line-height:1;
}

#career .case .block figcaption span{
	display:inline-block;
	margin:14px 0 0 0;
	font-size:4.8rem;
}

#career .case .block figcaption span.year{
	display:block;
	margin:22px 0 0 0;
	min-width:172px;
	background:url(../../img/career/case_01/bg_year.png);
	border-radius:8px;
	text-align:center;
	font-size:2.0rem;
	color:#ffffff;
	line-height:4.0rem;
}
#career .case li:nth-child(2) span.year{ background-image:url(../../img/career/case_02/bg_year.png); }
#career .case li:nth-child(3) span.year{ background-image:url(../../img/career/case_03/bg_year.png); }
#career .case li:nth-child(4) span.year{ background-image:url(../../img/career/case_04/bg_year.png); }
#career .case li:nth-child(5) span.year{ background-image:url(../../img/career/case_05/bg_year.png); }

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#career .case .block p{
		font-size:2.4rem;
		line-height:4.0rem;
	}
	#career .case .block figcaption span.year{
		font-size:1.8rem;
	}
}
}

@media screen and (max-width:767px){
#career .case .block{
	display:flex;
	flex-direction:column;
	align-items:center;
	width:auto;
	padding:80px 0 30px 0;
}

#career .case .block p{
	font-size:1.8rem;
	line-height:2.8rem;
}

#career .case .block figure{
	gap:0 20px;
	margin:0 0 20px 0;
}

#career .case .block figure > img{
	width:100px;
}

#career .case .block figcaption{
	font-size:1.8rem;
}

#career .case .block figcaption span{
	margin:10px 0 0 0;
	font-size:3.6rem;
}

#career .case .block figcaption span.year{
	margin:15px 0 0 0;
	min-width:auto;
	padding:6px 10px;
	font-size:1.6rem;
	line-height:2.4rem;
}
}


/* trajectory
---------------------------------------- */
#career .case .trajectory{
	flex:1;
	margin:0 0 40px 0;
}

#career .case .trajectory h4{
	padding:58px 0 28px 14px;
	font-size:3.0rem;
	font-weight:700;
	line-height:3.6rem;
}

#career .case .trajectory h4 img{
	margin:0 20px 0 0;
}

#career .case .trajectory ol{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0 20px;
}

#career .case .trajectory ol > li{
	position:relative;
	padding:0 0 106px 0;
	border:2px solid #64bb20;
	border-radius:12px;
}
#career .case li:nth-child(2) .trajectory ol > li{ border-color:#8b62ad; }
#career .case li:nth-child(3) .trajectory ol > li{ border-color:#3276c6; }
#career .case li:nth-child(4) .trajectory ol > li{ border-color:#fd5f76; }
#career .case li:nth-child(5) .trajectory ol > li{ border-color:#fc8a00; }

#career .case .trajectory ol > li::after{
	content:"";
	position:absolute;
	top:0;
	right:-21px;
	width:16px;
	height:100%;
	background:url(../../img/career/case_01/arrow.png) no-repeat center;
}
#career .case .trajectory ol > li:last-child::after{ content:none; }
#career .case li:nth-child(2) .trajectory ol > li::after{ background-image:url(../../img/career/case_02/arrow.png); }
#career .case li:nth-child(3) .trajectory ol > li::after{ background-image:url(../../img/career/case_03/arrow.png); }
#career .case li:nth-child(4) .trajectory ol > li::after{ background-image:url(../../img/career/case_04/arrow.png); }
#career .case li:nth-child(5) .trajectory ol > li::after{ background-image:url(../../img/career/case_05/arrow.png); }

#career .case .trajectory dl dt{
	margin:0 0 30px 0;
	background:#d7eacd;
	border-top-left-radius:10px;
	border-top-right-radius:10px;
	text-align:center;
	font-size:2.0rem;
	font-weight:700;
	color:#409200;
	line-height:5.0rem;	
}
#career .case li:nth-child(2) .trajectory dl dt{ background:#ecdff6; color:#8b62ad; }
#career .case li:nth-child(3) .trajectory dl dt{ background:#d4e8ff; color:#3276c6; }
#career .case li:nth-child(4) .trajectory dl dt{ background:#ffdfe4; color:#fd5f76; }
#career .case li:nth-child(5) .trajectory dl dt{ background:#ffedd7; color:#fc8a00; }

#career .case .trajectory dl dd > img{
	position:absolute;
	bottom:20px;
	left:50%;
	transform:translateX(-50%);
}

#career .case .trajectory ul li{
	margin:0 10px 20px;
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
	font-size:1.7rem;
	line-height:2.4rem;
}
#career .case .trajectory ul li:last-child{ margin-bottom:10px; }

#career .case .trajectory ul li::before{
	content:"・";
}

@media screen and (max-width:767px){
#career .case .trajectory{
	margin:0 0 20px 0;
}

#career .case .trajectory h4{
	padding:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#career .case .trajectory h4 img{
	width:auto;
	height:30px;
}

#career .case .trajectory ol{
	display:block;
}

#career .case .trajectory ol > li{
	margin:0 0 20px 0;
	padding:0 0 80px 0;
}

#career .case .trajectory ol > li::after{
	top:auto;
	bottom:-22px;
	right:0;
	width:100%;
	height:20px;
	background-size:auto 20px;
	transform:rotate(90deg);
}

#career .case .trajectory dl dt{
	margin:0 0 20px 0;
	font-size:1.8rem;
	line-height:4.8rem;	
}

#career .case .trajectory dl dd > img{
	position:absolute;
	bottom:20px;
	left:50%;
	width:auto;
	height:60px;
	transform:translateX(-50%);
}

#career .case .trajectory ul li{
	margin:0 10px 10px;
	font-size:1.6rem;
}
#career .case .trajectory ul li:last-child{ margin-bottom:10px; }
}


/* comment
---------------------------------------- */
#career .case .comment{
	margin:0 50px;
	padding:40px 50px;
	background:#e5f3de;
	border-radius:15px;
}
#career .case li:nth-child(2) .comment{ background:#ecdff6; }
#career .case li:nth-child(3) .comment{ background:#d4e8ff; }
#career .case li:nth-child(4) .comment{ background:#ffdfe4; }
#career .case li:nth-child(5) .comment{ background:#ffedd7; }

#career .case .comment dt{
	margin:0 0 16px 0;
	font-size:2.6rem;
	font-weight:700;
	color:#409200;
	line-height:3.8rem;
}
#career .case li:nth-child(2) .comment dt{ color:#8b62ad; }
#career .case li:nth-child(3) .comment dt{ color:#3276c6; }
#career .case li:nth-child(4) .comment dt{ color:#fd5f76; }
#career .case li:nth-child(5) .comment dt{ color:#fc8a00; }

#career .case .comment dt img{
	margin:0 15px 0 0;
}

#career .case .comment dd{
	font-size:2.2rem;
	line-height:3.6rem;
}

@media screen and (max-width:767px){
#career .case .comment{
	margin:0 20px;
	padding:20px;
}

#career .case .comment dt{
	margin:0 0 10px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#career .case .comment dt img{
	width:auto;
	height:30px;
}

#career .case .comment dd{
	font-size:1.6rem;
	line-height:2;
}
}


/* ----------------------------------------
	correct
---------------------------------------- */
#career .correct{
	padding:150px 0 200px 0;
}

#career .correct .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

#career .correct h2{
	margin:0 0 40px 0;
	text-align:center;
	font-size:3.6rem;
	font-weight:700;
	line-height:5.6rem;
}

#career .correct p.lead{
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	font-size:3.0rem;
	font-weight:700;
	line-height:5.2rem;
	text-align:center;
}

#career .correct p.lead::before,
#career .correct p.lead::after{
	content:url(../../img/career/lead_correct.png);
	display:inline-block;
	height:78px;
	margin:0 24px 0 0;
}
#career .correct p.lead::after{
	margin:0 0 0 4px;
	transform:scaleX(-1);
}

#career .correct p.lead span{
	display:inline-block;
	background:linear-gradient(transparent 64.6%, #a2eee3 0%);
}

#career .correct ul{
	display:flex;
	margin:0 0 20px 0;
	padding:38px 0;
	background:#f3f3f3;
	border-radius:10px;
}

#career .correct ul li{
	overflow:hidden;
	display:flex;
	flex-direction:column;
	position:relative;
	width:20%;
	padding:40px 10px;
	text-align:center;
	font-size:2.2rem;
	font-weight:700;
	line-height:3.0rem;
}

#career .correct ul li::before{
	content:"";
	position:absolute;
	top:0;
	right:2px;
	width:100%;
	height:2px;
	background:url(../../img/common/line.png) repeat-x left center;
	transform:rotate(-90deg);
	transform-origin:right top;
}
#career .correct ul li:last-child::before{ content:none; }

#career .correct ul li span{
	flex:1;
	display:flex;
	justify-content:center;
	align-items:center;
}

#career .correct ul li img{
	display:block;
	margin:0 auto 30px;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#career .correct ul li{
		font-size:2.0rem;
		line-height:2.8rem;
	}
}
}

@media screen and (max-width:767px){
#career .correct{
	padding:40px 0 60px 0;
	text-align:center
}

#career .correct h2{
	margin:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#career .correct p.lead{
	display:inline-block;
	position:relative;
	padding:0 57px;
	font-size:min(3.6vw, 1.8rem); /* 500px */
	line-height:min(6.0vw, 3.0rem); /* 500px */
}

#career .correct p.lead::before,
#career .correct p.lead::after{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:37px;
	height:39px;
	margin:0;
	background:url(../../img/career/lead_correct.png) no-repeat center;
	background-size:37px 39px;
	transform:translateY(-50%);
}
#career .correct p.lead::after{
	left:auto;
	right:0;
	transform:translateY(-50%) scaleX(-1);
}

#career .correct ul{
	display:block;
	margin:0 0 20px 0;
	padding:10px 20px;
}

#career .correct ul li{
	overflow:hidden;
	display:flex;
	flex-direction:column;
	position:relative;
	width:auto;
	padding:20px 0;
	background:url(../../img/common/line.png) repeat-x left bottom;
	font-size:1.8rem;
	line-height:2.8rem;
}
#career .correct ul li:last-child{ background:none; }

#career .correct ul li::before{
	content:none;
}

#career .correct ul li span{
	flex:1;
	display:flex;
	justify-content:center;
	align-items:center;
}

#career .correct ul li img{
	width:auto;
	height:60px;
	margin:0 auto 10px;
}
}


/* ========================================================================
	店舗見学・カジュアル面談		[ /tour/ ]
======================================================================== */
#tour{
	overflow:hidden;
}

#tour + .bg_white::before{
	z-index:2;
}

#tour .inner > *{
	position:relative;
}

#tour dl dd{
	position:relative;
	z-index:1;
}

#tour dl dd ul{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0 12px;
	margin:0 0 80px 0;
}

#tour dl dd ul li{
	display:flex;
	justify-content:center;
	align-items:center;
	width:291px;
	height:291px;
	background:#fffd62;
	border:1px solid #000000;
	border-radius:50%;
	text-align:center;
	font-size:2.6rem;
	font-weight:700;
	line-height:3.6rem;
}
#tour dl dd ul li:nth-child(2){ background:#ffaa5e; }
#tour dl dd ul li:nth-child(3){ background:#ffafaf; }
#tour dl dd ul li:nth-child(4){ background:#aaf1ed; }

@media screen and (max-width:767px){
#tour dl dd ul{
	grid-template-columns:repeat(2,1fr);
	gap:10px;
	margin:0 0 40px 0;
}

#tour dl dd ul li{
	width:100%;
	height:100%;
	aspect-ratio:1/1;
	font-size:min(3.90625vw, 3.0rem); /* 768px */
	line-height:min(5.72916vw, 4.4rem); /* 768px */
}
}


/* ----------------------------------------
	widget_ttl
---------------------------------------- */
#tour .widget_ttl .inner{
	height:300px;
}

#tour .widget_ttl .inner::after{
	content:none;
}

@media screen and (max-width:767px){
#tour .widget_ttl{
	margin:0;
}

#tour .widget_ttl .inner{
	height:auto;
	padding-bottom:60px;
}
}


/* ----------------------------------------
	h_04
---------------------------------------- */
#tour .h_04{
	align-items:flex-start;
	gap:50px 0;
	position:relative;
	margin:0 auto -48px;
	z-index:1;
}
#tour .talk .h_04{ z-index:3; }

#tour .h_04 .en{
	width:100%;
	font-size:25.0rem;
}

#tour .h_04 .ja{
	display:flex;
	align-items:center;
	gap:0 30px;
	min-width:568px;
	height:180px;
	margin:0 0 0 40px;
	padding:0 50px;
	background:#ffffff;
	font-size:4.8rem;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#tour .h_04 .en{
		font-size:20.0rem;
	}
}
}

@media screen and (max-width:767px){
#tour .h_04{
	align-items:center;
	gap:10px 0;
	margin-bottom:40px;
}
#tour .talk .h_04{ z-index:1; }

#tour .h_04 .en{
	font-size:min(15.625vw, 12.0rem); /* 768px */
}

#tour .h_04 .ja{
	gap:0 15px;
	min-width:auto;
	height:auto;
	margin:0;
	padding:10px 20px;
	font-size:2.0rem;
}

#tour .h_04 .ja img{
	width:40px;
}
}


/* ----------------------------------------
	what
---------------------------------------- */
#tour .what{
	padding:0 0 0 102px;
	background:#d3f7f2;
	text-align:center;
}

@media screen and (max-width:767px){
#tour .what{
	padding:0 0 0 5px;
}
}


/* ----------------------------------------
	tour
---------------------------------------- */
#tour .tour{
	position:relative;
	padding:150px 0 192px 0;
}

#tour .tour::before{
	content:"";
	position:absolute;
	top:-87px;
	left:50%;
	width:100%;
	height:1020px;
	background:url(../../img/tour/bg_01.png) no-repeat center top;
	transform:translateX(-50%);
}

#tour .tour .inner::before{
	content:"";
	position:absolute;
	top:538px;
	left:50%;
	width:100vw;
	height:100%;
	background:url(../../img/tour/bg_02.png) repeat-y center top;
	transform:translateX(-50%);
}

#tour .tour .inner::after{
	content:"";
	position:absolute;
	bottom:-120px;
	right:50%;
	width:550px;
	height:92px;
	margin:0 734px 0 0;
	background:#3cc19a;
}

@media screen and (max-width:767px){
#tour .tour{
	padding:60px 0 203px 0;
}

#tour .tour::before{
	top:-20px;
	height:100%;
	background-size:190% auto;
}

#tour .tour .inner::before,
#tour .tour .inner::after{ content:none; }
}


/* dl
---------------------------------------- */
#tour .tour dl::before,
#tour .tour dl::after{
	content:"";
	position:absolute;
	top:0;
	left:-40px;
	width:334px;
	height:344px;
	background:url(../../img/tour/tour_01.png) no-repeat center;
}
#tour .tour dl::after{
	left:auto;
	top:74px;
	right:40px;
	width:184px;
	height:274px;
	background-image:url(../../img/tour/tour_02.png);
}

#tour .tour dl dt{
	padding:85px 0 100px 24px;
	text-align:center;
	font-size:3.2rem;
	font-weight:700;
	line-height:2.1875; /* 70px */
}

#tour .tour dl dt span{
	display:inline-block;
	padding:0 14px;
	background:#ffffff;
	line-height:1.8125; /* 58px */
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#tour .tour dl dt{
		padding-top:60px;
		font-size:2.8rem;
		line-height:6.6rem;
	}	
	#tour .tour dl dt span{
		line-height:5.4rem;
	}
}
}

@media screen and (max-width:767px){
#tour .tour dl::before,
#tour .tour dl::after{
	content:none;
}

#tour .tour dl dt{
	padding:0 0 172px 0;
	font-size:min(4.16666vw, 3.2rem); /* 768px */
	line-height:min(9.11458vw, 7.0rem); /* 768px */
}

#tour .tour dl dt span{
	padding:0 10px;
	line-height:min(7.55208vw, 5.8rem); /* 768px */
}

#tour .tour dl dd::before{
	content:"";
	position:absolute;
	top:-152px;
	left:25%;
	width:167px;
	height:172px;
	background:url(../../img/tour/tour_01.png) no-repeat center;
	background-size:cover;
	transform:translateX(-50%);
}

#tour .tour dl dd::after{
	content:"";
	position:absolute;
	top:-117px;
	right:25%;
	width:92px;
	height:137px;
	background:url(../../img/tour/tour_02.png) no-repeat center;
	background-size:cover;
	transform:translateX(50%);
}

#tour .tour dl dd ul{
	position:relative;
	z-index:1;
}
}


/* ----------------------------------------
	talk
---------------------------------------- */
#tour .talk{
	padding:150px 0 192px 0;
}

#tour .talk::after{
	content:"";
	position:absolute;
	top:-122px;
	left:50%;
	width:100%;
	height:785px;
	background:url(../../img/tour/bg_01.png) no-repeat center top;
	transform:translateX(-50%);
	z-index:1;
}

#tour .talk .inner::before{
	content:"";
	position:absolute;
	top:368px;
	left:50%;
	width:100vw;
	height:100%;
	background:url(../../img/tour/bg_03.png) repeat-y center top;
	transform:translateX(-50%);
}

#tour .talk .inner{
	z-index:2;
}

@media screen and (max-width:767px){
#tour .talk{
	padding:60px 0 173px 0;
}

#tour .talk::after{
	top:-33px;
	height:100%;
	background-size:190% auto;
}

#tour .talk .inner::before{
	content:none;
}

#tour .talk .inner{
	z-index:2;
}
}


/* dl
---------------------------------------- */
#tour .talk dl::before{
	content:"";
	position:absolute;
	top:49px;
	left:68px;
	width:220px;
	height:316px;
	background:url(../../img/tour/talk_01.png) no-repeat center;
}

#tour .talk dl dt{
	padding:0 4px 60px 0;
	text-align:right;
}
#tour .talk dl dd ul li:nth-child(1){ background:#6fe5c2; }

@media screen and (max-width:767px){
#tour .talk dl::before{
	content:none;
}

#tour .talk dl dt{
	margin:0 -10px 0 0;
	padding:0 0 20px 20%;
}

#tour .talk dl dd::before{
	content:"";
	position:absolute;
	top:-100px;
	left:25%;
	width:110px;
	height:158px;
	background:url(../../img/tour/talk_01.png) no-repeat center;
	background-size:cover;
	transform:translateX(-75%);
}

#tour .talk dl dd ul{
	position:relative;
}
}


/* ----------------------------------------
	splide
---------------------------------------- */
#tour .splide{
	margin:0 0 45px 0;
}
#tour .talk .splide{ margin:0 0 80px 0; }

#tour .splide .txt{
	position:absolute;
	top:-78px;
	right:5px;
	z-index:1;
}
#tour .talk .splide .txt{
	top:-118px;
	right:7px;
}

#tour .splide ul li img{
	width:1200px;
	height:700px;
	object-fit:cover;
	border:1px solid #000000;
	border-radius:30px;
}

@media screen and (max-width:767px){
#tour .splide,
#tour .talk .splide{
	margin:0 10px 40px;
}

#tour .splide .txt{
	top:-30px;
	right:0;
}
#tour .talk .splide .txt{
	top:-50px;
	right:0;
}

#tour .splide .txt img{
	width:200px;
}

#tour .splide ul li img{
	width:100%;
	height:100%;
	object-fit:fill;
	aspect-ratio:12/7;
	border-radius:20px;
}
}


/* splide__arrow
---------------------------------------- */
#tour .splide__arrow{
	right:-30px;
	width:65px;
	height:65px;
	background:#000000;
	border-radius:50%;
	opacity:1;
	transition-duration:0.2s;
}
#tour .splide__arrow--prev{
	left:-30px;
	transform:translateY(-50%) scaleX(-1);
}
#tour .splide__arrow:disabled{ opacity:0; }
#tour .splide__arrow:hover:not(:disabled){ opacity:0.8; }
#tour .splide__arrow svg{ display:none; }

#tour .splide__arrow::before{
	content:"";
	position:absolute;
	top:0;
	right:24px;
	width:14px;
	height:100%;
	background:url(../../img/tour/arrow.png) no-repeat center;
}

@media screen and (max-width:767px){
#tour .splide__arrow{
	right:-10px;
	width:40px;
	height:40px;
}
#tour .splide__arrow--prev{ left:-10px; }

#tour .splide__arrow::before{
	right:13px;
	width:10px;
	background-size:100% auto;
}
}


/* ----------------------------------------
	box
---------------------------------------- */
#tour .box{
	margin:0 0 100px 0;
	padding:80px 50px 25px;
	background:#ffffff;
	border-radius:20px
}

#tour .box h3{
	position:relative;
	margin:0 0 35px 0;
	padding:18px 64px;
	background:#009e96;
	border:1px solid #050505;
	border-radius:5px;
	font-size:3.2rem;
	font-weight:700;
	color:#ffffff;
	line-height:4.2rem;
}

#tour .box h3::before{
	content:"";
	position:absolute;
	top:32px;
	left:24px;
	width:12px;
	height:12px;
	background:#fcfbba;
	border:1px solid #000000;
	border-radius:50%;
}

#tour .box p,
#tour .box ul{
	margin:0 0 65px 0;
	font-size:2.2rem;
	line-height:3.6rem;
}

#tour .box ul li{
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
}

@media screen and (max-width:767px){
#tour .box{
	margin:0 0 40px 0;
	padding:40px 20px 10px;
}

#tour .box h3{
	margin:0 0 20px 0;
	padding:10px 20px 10px 42px;
	font-size:2.0rem;
	line-height:3.0rem;
}

#tour .box h3::before{
	top:19px;
	left:20px;
	width:10px;
	height:10px;
}

#tour .box p,
#tour .box ul{
	margin:0 0 30px 0;
	font-size:1.6rem;
	line-height:2;
}
}


/* ----------------------------------------
	reservation
---------------------------------------- */

/* tour
---------------------------------------- */
#tour .tour .reservation::after{
	content:"";
	position:absolute;
	bottom:-192px;
	right:-80px;
	width:408px;
	height:616px;
	background:url(../../img/tour/tour_reservation.png) no-repeat center;
}

@media screen and (max-width:767px){
#tour .tour .reservation::after{
	bottom:-290px;
	right:-10px;
	width:204px;
	height:308px;
	background-size:cover;
}
}


/* talk
---------------------------------------- */
#tour .talk .reservation::after{
	content:"";
	position:absolute;
	bottom:-110px;
	left:50px;
	width:324px;
	height:480px;
	background:url(../../img/tour/talk_reservation.png) no-repeat center;
}

@media screen and (max-width:767px){
#tour .talk .reservation::after{
	bottom:-227px;
	left:50%;
	width:162px;
	height:240px;
	background-size:cover;
	transform:translateX(-50%);
}
}


/* btn
---------------------------------------- */
#tour .reservation .btn{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:16px 0;
}

#tour .reservation .btn a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	max-width:454px;
	width:100%;
	height:106px;
	padding:0 0 0 54px;
	background:#ff6137;
	border:3px solid #ffffff;
	border-radius:14px;
	font-size:2.6rem; 
	font-weight:700;
	color:#ffffff;
	line-height:1;
	text-decoration:none;
}
#tour .reservation .btn a.line{ background:#06c755; }

#tour .reservation .btn a::before{
	content:"";
	position:absolute;
	top:0;
	left:20px;
	width:54px;
	height:100%;
	background:url(../../img/common/icon_entry.png) no-repeat center;
}
#tour .reservation .btn a.line::before{ background-image:url(../../img/common/icon_line.png); }

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#tour .reservation .btn a{
		font-size:2.2rem; 
	}
}
}

@media screen and (max-width:767px){
#tour .reservation .btn a{
	height:86px;
	padding:0 20px 0 60px;
	font-size:2.0rem; 
	line-height:2.4rem;
}

#tour .reservation .btn a::before{
	width:30px;
	background-size:30px auto;
}
}



/* ========================================================================
	募集要項						[ /recruit/ ]
======================================================================== */
#recruit{
	padding:0 0 100px 0;
}

#recruit table{
	margin:0 0 100px 0;
	border:none;
	font-size:2.2rem;
	line-height:3.8rem;
}

#recruit table tr{
	border:none;
}

#recruit table th{
	padding:21px 50px;
	background:#e4e4e4;
	border:1px solid #000000;
}

#recruit table td{
	padding:21px 50px;
	border:1px solid #000000;
}

@media screen and (max-width:767px){
#recruit{
	padding:0 0 20px 0;
}

#recruit table{
	margin:0 0 40px 0;
	border-bottom:1px solid #000000;
	font-size:1.6rem;
	line-height:2;
}

#recruit table th{
	padding:10px 20px;
	border-bottom:none;
}

#recruit table td{
	padding:20px;
	border-bottom:none;
}
}


/* ----------------------------------------
	widget_cat
---------------------------------------- */
#recruit .widget_cat a.active{
	background:#009e96;
	border-color:#009e96;
	color:#ffffff;
}
#recruit .widget_cat a.active::after{ background-image:url(../../img/common/arrow_cat_on.png); }
#recruit .widget_cat a.active .icon{ background:#ffffff; }


/* ----------------------------------------
	h_02
---------------------------------------- */
#recruit .h_02 span{
	background:#fd9131;
}


/* ----------------------------------------
	entry
---------------------------------------- */
#recruit .entry{
	position:relative;
	margin:0 0 100px 0;
	padding:100px 0;
	background:#fff6ce;
	text-align:center;
}

#recruit .entry::before{
	content:"";
	position:absolute;
	top:70px;
	left:50%;
	width:128px;
	height:92px;
	margin:0 0 0 270px;
	background:url(../../img/recruit/entry_01.png) no-repeat center;
}

#recruit .entry p{
	margin:0 0 64px 0;
	font-size:2.6rem;
	font-weight:700;
	line-height:4.8rem;
}

#recruit .entry p span{
	display:inline-block;
	background:linear-gradient(transparent 64.6%, #a2eee3 0%);
	padding:0 0 0 10px;
}

@media screen and (max-width:767px){
#recruit .entry{
	margin:0 0 40px 0;
	padding:40px 20px;
}

#recruit .entry::before{
	top:-16px;
	left:auto;
	right:10px;
	width:64px;
	height:46px;
	margin:0;
	background-size:64px 46px;
}

#recruit .entry p{
	margin:0 0 40px 0;
	font-size:min(3.0vw, 1.8rem); /* 600px */
	line-height:min(5.0vw, 3.0rem); /* 600px */
}

#recruit .entry p span{
	display:inline;
}
}


/* widget_btn
---------------------------------------- */
#recruit .entry .widget_btn{
	position:relative;
	margin:0 0 4px 0;
}

#recruit .entry .widget_btn::before{
	content:"";
	position:absolute;
	top:-58px;
	right:50%;
	width:170px;
	height:114px;
	margin:0 178px 0 0;
	background:url(../../img/recruit/entry_02.png) no-repeat center;
	z-index:1;
}

#recruit .entry .widget_btn span{
	min-width:620px;
	padding:0 20px 0 0
}

#recruit .entry .widget_btn span::after{
	content:"";
	position:absolute;
	top:0;
	right:20px;
	width:62px;
	height:100%;
	background:url(../../img/recruit/arrow.png) no-repeat center;
}

@media screen and (max-width:767px){
#recruit .entry .widget_btn::before{
	top:-29px;
	right:auto;
	left:-24px;
	width:85px;
	height:57px;
	margin:0;
	background-size:85px 57px;
}

#recruit .entry .widget_btn span{
	min-width:auto;
	min-height:90px;
	padding:0 20px 0 0
}

#recruit .entry .widget_btn span::after{
	right:20px;
	width:30px;
	background-size:30px;
}
}


/* ========================================================================
	よくあるご質問					[ /faq/ ]
======================================================================== */

/* ----------------------------------------
	cat
---------------------------------------- */
#faq .cat{
	padding:0 0 92px 0;
}

@media screen and (max-width:767px){
#faq .cat{
	padding:0 0 23px 0;
}
}


/* ----------------------------------------
	h_03
---------------------------------------- */
#faq .h_03 .ja{
	position:relative;
	padding:20px 100px;
	border-color:#3e9cfd;
	font-size:4.4rem;
	line-height:1;
}

#faq .h_03 .ja::before,
#faq .h_03 .ja::after{
	content:"";
	position:absolute;
	bottom:-18px;
	left:50%;
	border-style:solid;
	border-width:18px 17px 0 17px;
	border-color:#3e9cfd transparent transparent transparent;
	transform:translateX(-50%);
}
#faq .h_03 .ja::after{
	bottom:-13px;
	border-top-color:#e8f5fe;
}

#faq .h_03 .ja .icon{
	position:absolute;
	top:10px;
	left:0;
	width:70px;
	height:100%;
	-webkit-mask:var(--icon) no-repeat left top;
	mask:var(--icon) no-repeat left top;
	background:#3e9cfd;
}

@media screen and (max-width:767px){
#faq .h_03 .ja{
	padding:10px 60px;
	font-size:2.4rem;
	line-height:3.4rem;
}

#faq .h_03 .ja .icon{
	width:40px;
}
}


/* ----------------------------------------
	faq
---------------------------------------- */
#faq .faq .inner{
	display:flex;
	align-items:flex-start;
	gap:0 56px;
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

#faq .faq .contents{
	flex:1;
}

@media screen and (max-width:767px){
#faq .faq .inner{
	display:block;
}
}


/* bg_blue
---------------------------------------- */
#faq .faq.bg_blue{
	margin:0 0 200px 0;
	padding:100px 0 200px 0;
	background:url(../../img/faq/bg_faq.png) repeat-y center 154px #e8f5fe;
}

#faq .faq.bg_blue::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:57px;
	background:#e8f5fe;
}

@media screen and (max-width:767px){
#faq .faq.bg_blue{
	margin:0 0 60px 0;
	padding:60px 0;
	background-position:center 20px;
	background-size:100% auto;
}
#faq .faq.bg_blue::after{ content:none; }
}


/* aside
---------------------------------------- */
#faq .faq aside{
	position:sticky;
	top:120px;
	width:320px;
	z-index:1;
}

#faq .faq aside dl{
	position:relative;
	padding:26px 22px 20px;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:10px;
}

#faq .faq aside dl::before{
	content:"";
	position:absolute;
	top:6px;
	left:-1px;
	width:100%;
	height:100%;
	background:#3e9cfd;
	border:1px solid #000000;
	border-radius:10px;
	z-index:-1;
}

#faq .faq aside dl dt{
	margin:0 0 20px 0;
	-webkit-text-stroke:1px #00304f;
	text-stroke:1px #00304f;
	text-align:center;
	font-size:3.0rem;
	color:#83c0ff;
	line-height:1;
}

#faq .faq aside ul li{
	background:url(../../img/common/line.png) repeat-x left bottom;
}
#faq .faq aside ul li:last-child{ background:none; }

#faq .faq aside ul li a{
	display:block;
	position:relative;
	padding:0 0 0 30px;
	font-size:2.2rem;
	font-weight:700;
	line-height:6.0rem;
	text-decoration:none;
}

#faq .faq aside ul li a::before{
	content:"";
	position:absolute;
	top:50%;
	left:2px;
	width:9px;
	height:9px;
	background:#3e9cfd;
	border-radius:50%;
	opacity:0;
	transform:translateY(-50%);
	transition-duration:0.2s;
}
#faq .faq aside ul li a.active::before{ opacity:1; }

@media (hover:hover){ /* iPad（iOS）Safari用 */
#faq .faq aside ul li a:hover::before{ opacity:1; }
}

@media screen and (max-width:767px){
#faq .faq aside{
	display:none;
}
}


/* ----------------------------------------
	section
---------------------------------------- */
#faq .section{
	padding:0 0 170px 0;
}
#faq .section:last-child{
	margin-bottom:-20px;
	padding-bottom:0;
}

#faq .section:first-child::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:55px;
	background:#e8f5fe;
}

@media screen and (max-width:767px){
#faq .section{
	padding:0 0 20px 0;
}
#faq .section:first-child::before{ content:none; }
}


/* dl
---------------------------------------- */
#faq .section dl{
	margin:0 0 20px 0;
	padding:25px 30px 0;
	background:#ffffff;
	border:1px solid #0c0c0c;
	border-radius:10px;
}

#faq .section dl dt{
	display:flex;
	align-items:center;
	position:relative;
	min-height:64px;
	margin:0 0 25px 0;
	padding:0 60px 0 110px;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.0rem;
	cursor:pointer;
	transition-duration:0.2s;
}
#faq .section dl dt:hover{ opacity:0.8; }

#faq .section dl dt::after{
	content:"＋";
	position:absolute;
	top:50%;
	right:0;
	font-size:4.0rem;
	color:#3e9cfd;
	transform:translateY(-50%);
}
#faq .section dl dt.close::after{ content:"－"; }

#faq .section dl dd{
	display:none;
	position:relative;
	padding:40px 0 50px 110px;
	background:linear-gradient(to right, #000000 4px, transparent 4px) repeat-x left top;
	background-size:6px 1px;
	font-size:2.2rem;
	line-height:3.6rem;
}

#faq .section dl dt span,
#faq .section dl dd span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	left:0;
	width:64px;
	height:64px;
	background:#3e9cfd;
	border:1px solid #050505;
	border-radius:5px;
	font-size:3.2rem;
	font-weight:700;
	color:#ffffff;
}
#faq .section dl dd span{
	top:26px;
	background:#ff6b72;
}

@media screen and (max-width:767px){
#faq .section dl{
	padding:20px 20px 0;
}

#faq .section dl dt{
	min-height:40px;
	margin:0 0 20px 0;
	padding:0 50px 0 60px;
	font-size:2.0rem;
	line-height:3.0rem;
}
#faq .section dl dt::after{ font-size:3.0rem; }

#faq .section dl dd{
	padding:24px 0 30px 60px;
	font-size:1.6rem;
	line-height:2;
}

#faq .section dl dt span,
#faq .section dl dd span{
	width:40px;
	height:40px;
	font-size:2.0rem;
}
#faq .section dl dd span{ top:21px; }
}


/* ========================================================================
	クロストーク					[ /crosstalk/ ]
======================================================================== */
#crosstalk{
	overflow:hidden;
}


/* ----------------------------------------
	key
---------------------------------------- */
#crosstalk .key{
	padding:208px 0 120px 0;
	background:url(../../img/crosstalk/bg_key.png) no-repeat center 70px #d3f7f2;
}

#crosstalk .key .inner{
	z-index:2;
}

#crosstalk .key h1{
	margin:0 0 40px 0;
}

#crosstalk .key .balloon{
	position:absolute;
	top:-68px;
	right:54px;
}

#crosstalk .key p{
	position:relative;
	padding:24px 0;
	background:#ffffff;
	border:2px solid #009e96;
	border-radius:20px;
	text-align:center;
	font-size:2.4rem;
	font-weight:700;
	line-height:4.0rem;
}

#crosstalk .key p::before{
	content:"";
	position:absolute;
	top:5px;
	left:-2px;
	width:100%;
	height:100%;
	background:#5cc2cf;
	border:2px solid #009e96;
	border-radius:20px;
	z-index:-1;
}

@media screen and (max-width:767px){
#crosstalk .key{
	padding:100px 0 82px 0;
	background-position:-10px 80px;
	background-size:100% auto;
}

#crosstalk .key h1{
	margin:0 20px 10px;
	text-align:center;
}

#crosstalk .key .balloon{
	position:relative;
	top:auto;
	right:auto;
	margin:0 10px -12px 0;
	text-align:right;
	z-index:1;
}

#crosstalk .key .balloon img{
	width:240px;
}

#crosstalk .key p{
	padding:20px;
	text-align:left;
	font-size:1.8rem;
	line-height:2;
}
}


/* ----------------------------------------
	interview
---------------------------------------- */
#crosstalk .interview{
	padding:0 0 210px 0;
}

#crosstalk .interview.bg_white::before{
	top:-130px;
	height:204px;
	background:url(../../img/crosstalk/bg_white.png) no-repeat center top;
}

#crosstalk .interview .inner{
	width:auto;
	max-width:1680px;
	margin-top:-74px;
	padding:0 40px;
	z-index:1;
}

#crosstalk .interview h2{
	max-width:1350px;
	margin:0 auto 24px;
	text-align:right;
}

#crosstalk .interview ul{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0 4.25%;
	position:relative;
	max-width:1508px;
	margin:0 auto;
}

#crosstalk .interview ul::before{
	content:"";
	position:absolute;
	top:-106px;
	left:-82px;
	width:162px;
	height:118px;
	background:url(../../img/crosstalk/bg_interview01.png) no-repeat center;
}

#crosstalk .interview ul::after{
	content:"";
	position:absolute;
	top:-92px;
	right:-92px;
	width:166px;
	height:138px;
	background:url(../../img/crosstalk/bg_interview02.png) no-repeat center;
}

#crosstalk .interview ul li a{
	display:block;
	max-width:326px;
	height:100%;
	padding:0 0 30px 0;
	background:url(../../img/crosstalk/icon_interview.png) no-repeat center 14px #ff9fb3;
	background-size:100% auto;
	border:5px solid #000000;
	border-radius:30px;
	text-decoration:none;
}
#crosstalk .interview ul li:nth-child(2) a{ background-color:#ffb351; }
#crosstalk .interview ul li:nth-child(3) a{ background-color:#59e269; }
#crosstalk .interview ul li:nth-child(4) a{ background-color:#6cacf4; }

#crosstalk .interview ul li .img{
	margin:0 -39px;
	text-align:center;
}

#crosstalk .interview dl dt{
	display:flex;
	align-items:center;
	height:47px;
	margin:0 4.74683% 0 -2px;
	padding:0 0 0 12.65822%;
	background:#ffffff;
	border:1px solid #000000;
	font-size:1.8rem;
	font-weight:700;
}

#crosstalk .interview dl dd{
	padding:12px 30px 16px;
	line-height:2.4rem;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#crosstalk .interview dl dt{
		font-size:1.5rem;
	}
}
}

@media screen and (max-width:767px){
#crosstalk .interview{
	padding:20px 0 72px 0;
}

#crosstalk .interview.bg_white::before{
	top:-102px;
	height:102px;
	background-size:auto 102px;
}

#crosstalk .interview .inner{
	margin-top:0;
	padding:0 20px;
}

#crosstalk .interview h2{
	margin:0 -10px 20px;
}

#crosstalk .interview ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
#crosstalk .interview ul::before,
#crosstalk .interview ul::after{ content:none; }

#crosstalk .interview ul li{
	margin:0 0 20px 0;
}

#crosstalk .interview dl dt{
	margin-right:15px;
	padding-left:40px;
	font-size:min(4.5vw, 1.8rem); /* 400px */
}
}


/* btn
---------------------------------------- */
#crosstalk .interview .btn{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	max-width:252px;
	height:45px;
	margin:0 30px;
	padding:0 20px 0 0;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:23px;
	font-size:1.7rem;
	font-weight:700;
}

#crosstalk .interview .btn::after{
	content:"";
	position:absolute;
	top:0;
	right:20px;
	width:12px;
	height:100%;
	background:url(../../img/crosstalk/arrow.png) no-repeat center;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	#crosstalk .interview .btn{
		font-size:1.6rem;
	}
}
}

@media screen and (max-width:767px){
#crosstalk .interview .btn{
	font-size:min(4.25vw, 1.7rem); /* 400px */
}
}


/* ----------------------------------------
	talk
---------------------------------------- */
#crosstalk .talk{
	padding-bottom:292px;
}

#crosstalk .talk.bg_mint::before{
	top:-204px;
	height:204px;
	background-image:url(../../img/crosstalk/bg_mint.png);
}

#crosstalk .talk .inner{
	display:flex;
	gap:0 50px;
	width:auto;
	max-width:1640px;
	padding:0 20px;
}

@media screen and (max-width:767px){
#crosstalk .talk{
	padding-bottom:190px;
}

#crosstalk .talk.bg_mint::before{
	top:-102px;
	height:102px;
	background-size:auto 102px;
}

#crosstalk .talk .inner{
	display:block;
}
}


/* tab
---------------------------------------- */
#crosstalk .talk .tab{
	width:350px;
}

#crosstalk .talk .tab li{
	position:relative;
}

#crosstalk .talk .tab a{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	position:relative;
	padding:30px 32px 45px 40px;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:20px;
	margin:0 0 30px 0;
	line-height:1;
	text-decoration:none;
}

#crosstalk .talk .tab a::before{
	content:"";
	position:absolute;
	top:9px;
	left:-1px;
	width:100%;
	height:100%;
	background:#009e96;
	border:1px solid #000000;
	border-radius:20px;
	transition-duration:0.2s;
	z-index:-1;
}

#crosstalk .talk .tab .num{
	font-size:3.6rem;
	font-weight:700;
	color:#009e96;
	transition-duration:0.2s;
}

#crosstalk .talk .tab .en{
	font-size:1.6rem;
	font-weight:700;
	color:#009e96;
	transition-duration:0.2s;
}

#crosstalk .talk .tab .ja{
	width:100%;
	padding:7px 0 0 0;
	font-size:2.4rem;
	font-weight:700;
	line-height:3.4rem;
}

#crosstalk .talk .tab a.active,
#crosstalk .talk .tab a:hover{
	background:#009e96;
	color:#ffffff;
}
#crosstalk .talk .tab a.active::before,
#crosstalk .talk .tab a:hover::before{
	background:#ffffff;
}
#crosstalk .talk .tab a.active .num,
#crosstalk .talk .tab a.active .en,
#crosstalk .talk .tab a:hover .num,
#crosstalk .talk .tab a:hover .en{
	color:#ffffff;
}

@media screen and (max-width:767px){
#crosstalk .talk .tab{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:16px 10px;
	width:auto;
	margin:0 0 26px 0;
}

#crosstalk .talk .tab li::before{
	height:calc(100% + 4px);
	border-radius:20px;
}

#crosstalk .talk .tab a{
	height:100%;
	padding:15px 10px 25px;
	border-radius:20px;
	margin:0;
}

#crosstalk .talk .tab .num{
	font-size:3.0rem;
}

#crosstalk .talk .tab .en{
	font-size:1.2rem;
}

#crosstalk .talk .tab .ja{
	padding:10px 0 0 0;
	font-size:1.8rem;
	font-size:min(3.10344vw, 1.8rem); /* 580px */
}
}


/* box
---------------------------------------- */
#crosstalk .talk .box{
	flex:1;
	position:relative;
	padding:0 0 40px 0;
	background:#d8ecfe;
	border:30px solid #000000;
	border-radius:50px;
}

#crosstalk .talk .box h2{
	margin:0 0 80px 0;
	position:relative;
	padding:0 40px;
	background:#41a4bb;
	border-top-left-radius:20px;
	border-top-right-radius:20px;
	font-size:3.0rem;
	font-weight:500;
	color:#ffffff;
	line-height:8.0rem;
}

#crosstalk .talk .box h2::before{
	content:"";
	position:absolute;
	top:0;
	right:40px;
	width:202px;
	height:100%;
	background:url(../../img/crosstalk/icon_talk.png) no-repeat center;
}

#crosstalk .talk .box h2 span{
	padding:0 0 0 40px;
	background:url(../../img/crosstalk/h2_talk.png) no-repeat left center;
}

#crosstalk .talk .box ol li{
	display:flex;
	margin:0 30px 40px;
}
#crosstalk .talk .box ol li:first-child{ justify-content:flex-end; }

#crosstalk .talk .box dl{
	display:flex;
}

#crosstalk .talk .box dl dt{
	width:180px;
}
#crosstalk .talk .box ol li:first-child dl dt{
	order:2;
	width:160px;
	text-align:right;
}

#crosstalk .talk .box dl dd{
	flex:1;
	display:flex;
	align-items:flex-start;
	gap:0 28px;
	padding:70px 0 0 0;
}

#crosstalk .talk .box dl dd span{
	flex:1;
	position:relative;
	padding:30px 40px;
	background:#ffffff;
	border-radius:30px;
	font-size:2.0rem;
	line-height:3.4rem;
}
#crosstalk .talk .box ol li:first-child dd span{
	background:#2fd142;
	border-radius:47px;
}

#crosstalk .talk .box dl dd span::before{
	content:"";
	position:absolute;
	top:-10px;
	left:-24px;
	width:34px;
	height:46px;
	background:url(../../img/crosstalk/talk_a.png) no-repeat center;
}
#crosstalk .talk .box ol li:first-child dd span::before{
	left:auto;
	right:-4px;
	width:26px;
	height:32px;
	background-image:url(../../img/crosstalk/talk_q.png);
}

#crosstalk .talk .box dl dd img{
	border-radius:15px;
}

@media screen and (max-width:767px){
#crosstalk .talk .box{
	padding:0 0 10px 0;
	border:10px solid #000000;
	border-radius:30px;
}

#crosstalk .talk .box h2{
	margin:0 0 40px 0;
	padding:53px 10px 20px 20px;
	font-size:1.8rem;
	line-height:2.4rem;
}

#crosstalk .talk .box h2::before{
	top:20px;
	right:20px;
	width:101px;
	height:21px;
	background-size:101px 21px;
}

#crosstalk .talk .box h2 span{
	display:block;
	padding:0 0 0 20px;
	background-size:10px auto;
}

#crosstalk .talk .box ol li,
#crosstalk .talk .box ol li:first-child{
	margin:0;
	padding:0 15px 20px;
}

#crosstalk .talk .box dl{
	display:block;
}

#crosstalk .talk .box dl dt,
#crosstalk .talk .box ol li:first-child dl dt{
	width:auto;
	margin:0 0 15px 0;
}

#crosstalk .talk .box dl dt img{
	width:80px;
}

#crosstalk .talk .box dl dd{
	display:block;
	padding:0;
}

#crosstalk .talk .box dl dd span{
	display:block;
	margin:0 0 10px 0;
	padding:15px;
	border-radius:15px;
	font-size:1.6rem;
	line-height:2.6rem;
}
#crosstalk .talk .box ol li:first-child dd span{ border-radius:15px; }

#crosstalk .talk .box dl dd span::after{
	content:"";
	position:absolute;
	top:-10px;
	left:35px;
	border-style:solid;
	border-width:0 5px 11px 5px;
	border-color:transparent transparent #ffffff transparent;
}
#crosstalk .talk .box dl dd span::before{ content:none; }
#crosstalk .talk .box ol li:first-child dd span::after{
	left:auto;
	right:35px;
	border-bottom-color:#2fd142;
}

#crosstalk .talk .box dl dd img{
	display:block;
	width:510px;
	margin:0 auto 10px;
}
}


/* ---------- btn ---------- */
#crosstalk .talk .btn{
	position:absolute;
	bottom:-150px;
	right:0;
}

#crosstalk .talk .btn a{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	position:relative;
	height:80px;
	padding:0 40px;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:10px;
	font-size:2.0rem;
	font-weight:700;
	line-height:1;
	text-decoration:none;
}
#crosstalk .talk .btn a:hover{ background:#009e96; color:#ffffff; }

#crosstalk .talk .btn a::before{
	content:"";
	position:absolute;
	top:7px;
	left:-1px;
	width:100%;
	height:100%;
	background:#009e96;
	border:1px solid #000000;
	border-radius:10px;
	transition-duration:0.2s;
	z-index:-1;
}
#crosstalk .talk .btn a:hover::before{ background:#ffffff; }

#crosstalk .talk .btn a span{
	position:relative;
	padding:0 1.0em 0 30px;
	color:#009e96;
	transition-duration:0.2s;
}
#crosstalk .talk .btn a:hover span{ color:#ffffff; }

#crosstalk .talk .btn a span::before,
#crosstalk .talk .btn a span::after{
	content:"";
	position:absolute;
	top:3px;
	left:0;
	border-style:solid;
	border-width:8px 0 8px 10px;
	border-color:transparent transparent transparent #009E96;
	transition-duration:0.2s;
}
#crosstalk .talk .btn a span::after{ left:10px; }
#crosstalk .talk .btn a:hover span::before,
#crosstalk .talk .btn a:hover span::after{ border-left-color:#ffffff; }

@media screen and (max-width:767px){
#crosstalk .talk .btn{
	bottom:-110px;
	right:-10px;
}

#crosstalk .talk .btn a{
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	padding:0 20px;
	font-size:1.8rem;
	line-height:2.2rem;
}

#crosstalk .talk .btn a span{
	margin:0 0 4px 0;
	padding-left:26px;
	line-height:1;
}
#crosstalk .talk .btn a span::before,
#crosstalk .talk .btn a span::after{ border-width:7px 0 7px 8px; }
#crosstalk .talk .btn a span::after{ left:8px; }
}


/* ========================================================================
	スタッフインタビュー			[ /interview/ ]
======================================================================== */
#interview{
	overflow:hidden;
	padding:0 0 100px 0;
}

#interview.list{
	background:url(../../img/common/bg_pattern.png) no-repeat center 100px;
}

#interview.list .inner{
	width:auto;
	max-width:1540px;
	padding:0 20px;
}

@media screen and (max-width:767px){
#interview{
	padding:0 0 20px 0;
}

#interview.list{
	background-size:200% auto;
}
}


/* ----------------------------------------
	widget_ttl
---------------------------------------- */
#interview .widget_ttl .inner::after{
	content:none;
}


/* ----------------------------------------
	h_01
---------------------------------------- */
#interview .h_01 .en{
	font-size:12.6rem;
	color:#fd9131;
}
#interview .interview .h_01 .en{ color:#3cc19a; }

#interview .h_01 .ja{
	padding:17px 30px;
	background:#f0e412;
	font-size:3.6rem;
}
#interview .interview .h_01 .ja{ background:#ffffff; }

@media screen and (max-width:767px){
#interview .h_01 .en{
	font-size:min(15.625vw, 12.0rem); /* 768px */
}

#interview .h_01 .ja{
	padding:10px 30px;
	font-size:2.0rem;
}
}


/* ----------------------------------------
	first
---------------------------------------- */
#interview .first{
	margin:-190px 0 0 0;
	padding:0 0 212px 0;
}

#interview .first .inner{
	width:auto;
	max-width:1540px;
	padding:0 20px;
}

#interview .first p.lead{
	width:1200px;
	margin:0 auto;
	padding:10px 0 10px 58px;
	background:url(../../img/interview/icon_lead.png) no-repeat left top;
	font-size:2.4rem;
	line-height:3.4rem;
}

@media screen and (max-width:767px){
#interview .first{
	margin:-80px 0 0 0;
	padding:0 0 83px 0;
}

#interview .first p.lead{
	width:auto;
	padding:0 0 0 40px;
	background-size:30px auto;
	font-size:1.8rem;
	line-height:2.8rem;
}
}


/* key
---------------------------------------- */
#interview .first .key{
	position:relative;
	margin:0 0 30px 0;
}

#interview .first .key > img{
	border-radius:20px;
}

#interview .first .key .block{
	position:absolute;
	bottom:58px;
	right:50px;
	z-index:1;
}

#interview .first .key .balloon{
	display:inline-block;
	position:relative;
	margin:0 0 45px 5px;
	padding:25px 40px;
	background:#fffedd;
	border-radius:20px;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.2rem;
}

#interview .first .key .balloon::before{
	content:"";
	position:absolute;
	bottom:-22px;
	left:70px;
	border-style:solid;
	border-width:22px 12.5px 0 12.5px;
	border-color:#fffedd transparent transparent transparent;
}

#interview .first .key .balloon span{
	color:#3cc19a;
}

@media screen and (max-width:767px){
#interview .first .key{
	margin:0 0 28px 0;
}

#interview .first .key .block{
	position:static;
	padding:20px 0 0 0;
}

#interview .first .key .balloon{
	margin:0 0 30px 0;
	padding:20px;
	background:#fffdb6;
	font-size:2.0rem;
	line-height:3.0rem;
}
#interview .first .key .balloon::before{ border-top-color:#fffdb6; }
}


/* ---------- box ---------- */
#interview .first .key .box{
	width:670px;
	position:relative;
	padding:10px 36px 20px;
	background:#e5f6f4;
	border-radius:10px;
}

#interview .first .key .box::before{
	content:"";
	position:absolute;
	top:8px;
	left:0;
	width:100%;
	height:100%;
	background:#009e96;
	border-radius:10px;
	z-index:-1;
}

#interview .first .key .box dl{
	position:relative;
	padding:20px 0 13px 80px;
	background:linear-gradient(to right, #000000 4px, transparent 4px) repeat-x left bottom;
	background-size:6px 1px;
}
#interview .first .key .box dl:last-child{ padding-bottom:12px; background:none; }

#interview .first .key .box dl dt{
	margin:0 0 5px 0;
	font-size:2.0rem;
	font-weight:700;
	line-height:1;
}
#interview .first .key .box dl.position dt{ font-size:2.6rem; }

#interview .first .key .box dl dt img{
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
}

#interview .first .key .box dl.position{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:20px 10px 21px 80px;
}

#interview .first .key .box dl.position ul{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}

#interview .first .key .box dl.position ul li{
	min-width:116px;
	padding:0 10px;
	background:#abdfd8;
	border-radius:20px;
	text-align:center;
	font-size:1.6rem;
	font-weight:700;
	line-height:4.0rem;
}

@media screen and (max-width:767px){
#interview .first .key .box{
	width:auto;
	padding:10px 20px;
}

#interview .first .key .box dl{
	padding:20px 0 13px 0;
}

#interview .first .key .box dl dt{
	position:relative;
	padding:0 0 0 48px;
	font-size:1.8rem;
	line-height:3.6rem;
}
#interview .first .key .box dl.position dt{ margin-bottom:15px; font-size:1.8rem; }

#interview .first .key .box dl dt img{
	width:36px;
}

#interview .first .key .box dl.position{
	display:block;
	padding:20px 0 21px 0;
}
}


/* ----------------------------------------
	interview
---------------------------------------- */
#interview .interview{
	padding:150px 0 242px 0;
}

#interview .interview .inner{
	z-index:1;
}
#interview .interview .inner.wide{
	width:auto;
	max-width:1540px;
	padding:0 20px;
}

#interview .interview .inner::before{
	content:"";
	position:absolute;
	top:-264px;
	left:50%;
	width:256px;
	height:264px;
	margin:0 0 0 344px;
	background:url(../../img/interview/illust_interview.png) no-repeat center;
}

#interview .interview h3{
	display:flex;
	align-items:center;
	position:relative;
	min-height:80px;
	margin:0 0 30px 0;
	padding:0 0 0 116px;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.0rem;
}

#interview .interview h3 span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	left:0;
	width:80px;
	height:80px;
	background:#009e96;
	border:1px solid #050505;
	border-radius:5px;
	color:#ffffff;
}

@media screen and (max-width:767px){
#interview .interview{
	padding:60px 0 63px 0;
}

#interview .interview .inner::before{
	top:-100px;
	left:auto;
	right:20px;
	width:100%;
	height:100px;
	margin:0;
	background-position:right center;
	background-size:auto 100px;
}

#interview .interview h3{
	min-height:40px;
	margin:0 0 20px 0;
	padding:0 0 0 60px;
	font-size:2.0rem;
	line-height:3.0rem;
}

#interview .interview h3 span{
	width:40px;
	height:40px;
}
}


/* ul
---------------------------------------- */
#interview .interview ul li{
	display:flex;
	padding:0 0 50px 0;
}
#interview .interview ul li:nth-child(even){ justify-content:flex-end; }
#interview .interview ul li:last-child{ padding-bottom:0; }

#interview .interview ul li .block{
	flex:1;
	max-width:800px;
	min-width:600px;
}
#interview .interview ul li:nth-child(even) .block{ order:2; }

#interview .interview ul li .img{
	position:relative;
	margin:110px 70px 0 -10px;
	padding:32px 0 0 0;
	transform:rotate(5.9deg);
}
#interview .interview ul li:nth-child(even) .img{
	margin:110px -10px 0 70px;
	transform:rotate(-6.3deg);
	z-index:1;
}

#interview .interview ul li .img::before{
	content:"";
	position:absolute;
	top:-60px;
	right:-84px;
	width:166px;
	height:138px;
	background:url(../../img/interview/bg_interview01.png) no-repeat center;
	transform:rotate(-5.9deg);
}
#interview .interview ul li:nth-child(2) .img::before{
	top:-20px;
	right:auto;
	left:-40px;
	width:106px;
	height:112px;
	background-image:url(../../img/interview/bg_interview02.png);
	transform:rotate(6.3deg);
}
#interview .interview ul li:nth-child(3) .img::before{
	top:-4px;
	right:-38px;
	width:98px;
	height:100px;
	background-image:url(../../img/interview/bg_interview03.png);
}

#interview .interview ul li .img img{
	border-radius:20px;
}

@media screen and (max-width:767px){
#interview .interview ul li{
	display:block;
	padding:0 0 40px 0;
}

#interview .interview ul li .block{
	min-width:auto;
}

#interview .interview ul li .img{
	margin:0 40px 0 0;
	padding:16px 0 0 0;
}
#interview .interview ul li:nth-child(2) .img{ margin:0 0 0 20px; }
#interview .interview ul li:nth-child(3) .img{ margin:0 20px 0 0; }

#interview .interview ul li .img::before{
	top:-30px;
	right:-42px;
	width:83px;
	height:69px;
	background-size:83px 69px;
}
#interview .interview ul li:nth-child(2) .img::before{
	top:-10px;
	left:-20px;
	width:53px;
	height:56px;
	background-size:53px 56px;
}
#interview .interview ul li:nth-child(3) .img::before{
	top:-2px;
	right:-19px;
	width:49px;
	height:50px;
	background-size:49px 50px;
}
}


/* box
---------------------------------------- */
#interview .interview .box{
	position:relative;
	margin:0 0 60px 0;
	padding:70px 70px 34px;
	background:#ffffff;
	border:1px solid #030303;
	border-radius:20px;
}

#interview .interview .box::before{
	content:"";
	position:absolute;
	top:9px;
	left:-1px;
	width:100%;
	height:100%;
	background:#009e96;
	border:1px solid #000000;
	border-radius:20px;
	z-index:-1;
}

#interview .interview .box p{
	margin:0 0 36px 0;
	font-size:2.2rem;
	line-height:3.6rem;
}

@media screen and (max-width:767px){
#interview .interview .box{
	margin:0 0 50px 0;
	padding:30px 20px;
}
#interview .interview ul li .box{ margin-bottom:30px; }

#interview .interview .box p{
	font-size:1.6rem;
	line-height:2;
}
}


/* ----------------------------------------
	works
---------------------------------------- */
#interview .works{
	padding:150px 0 0 0;
}

#interview .works .inner{
	width:auto;
	max-width:1440px;
	padding:0 20px;
}

@media screen and (max-width:767px){
#interview .works{
	padding:60px 0 0 0;
}
}


/* ol
---------------------------------------- */
#interview .works ol{
	margin:0 0 100px 0;
	padding:80px 100px 50px;
	background:#ccf0eb;
	border-radius:20px;
}

#interview .works ol li{
	display:flex;
	align-items:flex-start;
	gap:0 60px;
	position:relative;
	padding:0 0 50px 0;
}

#interview .works ol li::before{
	content:"";
	position:absolute;
	top:0;
	left:47px;
	width:8px;
	height:100%;
	background:#0c9790;
}
#interview .works ol li:last-child::before{ content:none; }

#interview .works ol li > img{
	position:relative;
}

#interview .works ol li dl{
	flex:1;
	position:relative;
	background:#ffffff;
	border:1px solid #1a1a1a;
	border-radius:20px;	
	padding:40px 60px;
}

#interview .works ol li dl::before,
#interview .works ol li dl::after{
	content:"";
	position:absolute;
	top:28px;
	left:-28px;
	border-style:solid;
	border-width:22px 28px 22px 0;
	border-color:transparent #1a1a1a transparent transparent;
}
#interview .works ol li dl::after{
	top:29px;
	left:-27px;
	border-width:21px 27px 21px 0;
	border-right-color:#ffffff;
}

#interview .works ol li dl dt{
	margin:0 0 20px 0;
	padding:0 300px 20px 0;
	background:url(../../img/common/line.png) repeat-x left bottom;
	font-size:2.4rem;
	font-weight:700;
	line-height:3.4rem;
}

#interview .works ol li dl dt span{
	margin:0 1.0em 0 0;
}

#interview .works ol li dl dd{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:0 40px;
	font-size:2.2rem;
	line-height:3.4rem;
}

#interview .works ol li dl dd > img{
	order:2;
	margin:-74px 0 0 0;
	border-radius:20px;
}

@media screen and (max-width:767px){
#interview .works ol{
	margin:0 0 40px 0;
	padding:40px 20px 20px;
}

#interview .works ol li{
	gap:0 15px;
	padding:0 0 20px 0;
}

#interview .works ol li::before{
	left:18px;
	width:4px;
}

#interview .works ol li > img{
	width:40px;
}

#interview .works ol li dl{
	padding:20px;
}
#interview .works ol li dl::before,
#interview .works ol li dl::after{ content:none; }

#interview .works ol li dl dt{
	padding:0 0 17px 0;
	font-size:1.8rem;
	line-height:2.8rem;
}

#interview .works ol li dl dt span{
	display:block;
	margin:0;
}

#interview .works ol li dl dd{
	display:block;
	font-size:1.6rem;
	line-height:2;
}

#interview .works ol li dl dd > img{
	display:block;
	margin:0 auto 20px;
	border-radius:10px;
}
}


/* ----------------------------------------
	qa
---------------------------------------- */
#interview .qa .inner{
	width:auto;
	max-width:1560px;
	padding:0 20px;
	z-index:1;
}

#interview .qa .img{
	margin:0 0 60px 0;
}

@media screen and (max-width:767px){
#interview .qa .img{
	margin:0 0 40px 0;
}
}


/* bg_white
---------------------------------------- */
#interview .qa.bg_white::before{
	height:50%;
	background:url(../../img/interview/bg_qa_before.png) no-repeat center top;
	background-size:100% auto;
}

#interview .qa.bg_white::after{
	content:"";
	position:absolute;
	bottom:-204px;
	left:0;
	width:100%;
	height:50%;
	background:url(../../img/interview/bg_qa_after.png) no-repeat center bottom;
	background-size:100% auto;
}

@media screen and (max-width:767px){
#interview .qa.bg_white::after{
	bottom:-64px;
}
}


/* ========================================================================
	お知らせ						[ /news/ ]
	コラム							[ /column/ ]
======================================================================== */
#news{
	padding:0 0 100px 0;
}

#news > .inner h1{
	margin:0 0 80px 0;
	font-size:4.0rem;
	font-weight:700;
	line-height:6.0rem;
}

@media screen and (max-width:767px){
#news{
	padding:0 0 20px 0;
}

#news > .inner h1{
	margin:0 0 40px 0;
	font-size:2.4rem;
	line-height:4.0rem;
}
}


/* ----------------------------------------
	key
---------------------------------------- */
#news .key{
	margin:0 0 160px 0;
	text-align:center;
}

@media screen and (max-width:767px){
#news .key{
	margin:0 0 60px 0;
}
}


/* ----------------------------------------
	cat
---------------------------------------- */
#news .cat{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 10px 0;
}

#news .cat li{
	display:flex;
	height:32px;
	padding:0 16px;
	background:#fbe4d0;
	border-radius:16px;
	font-size:1.5rem;
	font-weight:700;
}
#news .cat li:nth-child(2){ background:#f7efb6; }


/* ========================================================================
	エントリーフォーム				[ /entry/ ]
======================================================================== */
#entry{
	padding:0 0 100px 0;
	background:url(../../img/common/bg_pattern.png) no-repeat center 820px;
}

#entry > .inner{
	margin-top:-140px;
}

@media screen and (max-width:767px){
#entry{
	padding:0 0 20px 0;
	background:none;
}

#entry > .inner{
	margin-top:-60px;
}
}


/* ----------------------------------------
	widget_ttl
---------------------------------------- */
#entry .widget_ttl .inner::after{
	content:none;
}


/* ========================================================================
	お問い合わせ					[ /contact/ ]
======================================================================== */
#contact{
	padding:0 0 100px 0;
}

#contact > .inner p{
	margin:0 0 60px 0;
	text-align:center;
}

#contact > .inner ul{
	margin:0 0 60px 0;
}

#contact > .inner ul li{
	padding:0 0 0 1.5em;
	text-indent:-1.5em;
}

@media screen and (max-width:767px){
#contact{
	padding:0 0 20px 0;
}

#contact > .inner p,
#contact > .inner ul{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	table
---------------------------------------- */
#contact table{
	margin:0 0 60px 0;
	border:none;
}
#contact table.confirm{
	overflow-wrap:break-word;
	table-layout:fixed;
}

#contact table tr{
	border:none;
}

#contact table th{
	width:280px;
	padding:44px 50px;
	background:#e4e4e4;
	border:1px solid #000000;
}

#contact table td{
	border:1px solid #000000;
}
#contact table td.privacy{ padding:44px 50px; }

#contact table td.label{
	display:flex;
	flex-wrap:wrap;
	gap:20px 40px;
	padding:44px 50px;
	border:none;
	border-right:1px solid #000000;
}

@media screen and (max-width:767px){
#contact table{
	margin:0 0 40px 0;
	border-bottom:1px solid #000000;
}

#contact table th{
	padding:10px 20px;
}

#contact table td,
#contact table td.privacy,
#contact table td.label{
	padding:20px;
	border:none;
	border-left:1px solid #000000;
	border-right:1px solid #000000;
}
}


/* ----------------------------------------
	h_02
---------------------------------------- */
#contact .h_02{
	margin:0 0 60px 0;
	line-height:7.0rem;
}

@media screen and (max-width:767px){
#contact .h_02{
	margin:0 0 40px 0;
	font-size:2.4rem;
	line-height:3.4rem;
}
}


/* ----------------------------------------
	txt / error
---------------------------------------- */
#contact .txt{
	display:flex;
	justify-content:center;
	margin:0 0 60px 0;
}

#contact .txt p{
	margin:0;
	text-align:left;
}

#contact .error{
	margin:0 0 60px 0;
	text-align:center;
}

#contact .error p{
	margin:0;
}

@media screen and (max-width:767px){
#contact .txt,
#contact .error{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	widget_btn
---------------------------------------- */
#contact .widget_btn span{
	min-width:400px;
	min-height:100px;
}

@media screen and (max-width:767px){
#contact .widget_btn span{
	min-width:auto;
	min-height:80px;
	width:100%;
}
}


/* ========================================================================
	個人情報保護方針				[ /privacy/ ]
======================================================================== */
#privacy{
	padding:0 0 140px 0;
}

#privacy p{
	margin:0 0 60px 0;
}

#privacy dl dt{
	font-weight:700;
}

#privacy dl dd{
	margin:20px 0 60px 0;
}

#privacy ul{
	margin:20px 0;
}

#privacy ul li{
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
}

@media screen and (max-width:767px){
#privacy{
	padding:0 0 20px 0;
}

#privacy p{
	margin:0 0 40px 0;
}

#privacy dl dd{
	margin:10px 0 40px 0;
}

#privacy ul{
	margin:10px 0;
}
}


/* ========================================================================
	サイトマップ					[ /sitemap/ ]
======================================================================== */
#sitemap{
	padding:0 0 180px 0;
}

#sitemap > .inner{
	display:flex;
	justify-content:center;
	gap:0 200px;
}

#sitemap ul li a{
	display:inline-block;
	position:relative;
	margin:0 0 20px 0;
	padding:0 0 0 20px;
	font-size:2.0rem;
	text-decoration:none;
}
#sitemap ul li a:hover{ text-decoration:underline; }

#sitemap ul li a::before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	border-style:solid;
	border-width:5px 0 5px 8px;
	border-color:transparent transparent transparent #009e96;
	transform:translateY(-50%);
}

@media screen and (max-width:767px){
#sitemap{
	padding:0 0 40px 0;
}

#sitemap .inner{
	display:grid;
}

#sitemap ul li a{
	font-size:1.8rem;
	line-height:3.8rem;
}
}