@charset "UTF-8";

/* reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,figure,footer,header,hgroup,menu,nav,section,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}article,aside,figure,footer,header,hgroup,nav,section{display:block;}img,object,embed{vertical-align: bottom;}html{overflow-y:scroll;}ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}th{font-weight:bold;vertical-align:bottom;}td{font-weight:inherit;vertical-align:top;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}pre{white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word;}input[type="radio"]{vertical-align:text-bottom;}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline;}select,input,textarea{font:99% sans-serif;}table{font-size:inherit;font:100%;}a:hover,a:active{outline:none;}strong,th{font-weight:bold;}td,td img{vertical-align:top;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}pre,code,kbd,samp{font-family:monospace,sans-serif;}label,input[type=button],input[type=submit],button{cursor:pointer;}button,input,select,textarea{margin:0;}button{width:auto;overflow:visible;}[hidden]{display:none !important;}[disabled]{cursor:not-allowed;}:focus:not(:focus-visible){outline:none;}

/* clear */
.clear:before,.clear:after{content:"\0020";display:block;height:0;overflow:hidden;}.clear:after{clear:both;}.clear{zoom:1;}

/* base */

:root {
  --White: #fff;
  --White-rgb: 255, 255, 255;
  --Black: #000;
  --Black-rgb: 0, 0, 0;
  --Text: #111;
  --Text-rgb: 17,17,17;
  /* Gray */
  --LightGray: #F3F3F3;
  --Gray: #999999;
  --DarkGray: #666666;
  /* others */
  --Blue: #0097D4;
  --Blue-rgb: 0,151,212;
  --Red: #E0243B;
  --Yellow: #EFEA66;
  --Yellow-logo: #E3DF7A;
  --grd-Blue01: radial-gradient(at 31% 59%, rgba(0, 150, 212, 0.05), rgba(0, 150, 212, 0.2)), radial-gradient(farthest-side at 88% 4%, rgba(6, 156, 229, 0.1), rgba(6, 156, 229, 0));
  --grd-Blue02: radial-gradient(at 24% 61%, rgba(0, 150, 212, 0.2), rgba(0, 150, 212, 0.05)), radial-gradient(farthest-side at 88% 4%, rgba(6, 156, 229, 0.15), rgba(6, 156, 229, 0.02));

/*
  --FNT-base: 'Noto Sans JP','游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
  --FNT-en: 'Noto Sans', sans-serif;
  --FNT-zh: 'Noto Sans TC', sans-serif;
*/
  --FNT-base: 'Zen Maru Gothic','游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
  --FNT-en: 'Nunito', sans-serif;
  --FNT-zh: 'Chiron GoRound TC', sans-serif;
  --FNT-ja-hw: 'Zen Kurenaido', sans-serif;
  --FNT-en-hw: 'Caveat', cursive;
  --WGT-L: 300;
  --WGT-R: 400;
  --WGT-M: 500;
  --WGT-D: 600;
  --WGT-B: 700;
}

html {
	height: 100vh;
    overflow: auto;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
    position: relative;
    width: 100%;
    min-height: 100%;
    font-weight: var(--WGT-R);
    font-style: normal;
    line-height: 1;
    color: var(--Text);
    background-color: var(--White);
}
body.b-ja {
    font-family: var(--FNT-base);
    font-weight: var(--WGT-M);
	letter-spacing: 0.05em;
}
body.b-en_US {
    font-family: var(--FNT-en);
	letter-spacing: 0.05em;
}
body.b-zh_TW {
    font-family: var(--FNT-zh);
	letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {

	html { font-size: 1px; }

	@media ( max-width: 1280px ) { html { font-size: 0.078125vw; /*w1280のときの1px*/ } }

	body {
		min-width:1280rem;
		height: 100vh;
		padding-top: 104rem;
		font-size: 16rem;
		background: url("../../img/common/bg_header_pc.png") 50% 0 no-repeat;
		background-size: 2500rem 104rem;
	}
	body.b-home {
		padding-top: 0;
	}

}
@media screen and (max-width: 767px) {

	html {
		font-size: .266666667vw;; /* base 375 */
		-webkit-font-smoothing: antialiased;
	}
	body{
		min-width: 375rem;
		min-height: 100vh;
		font-size: 14rem;
		background: url("../../img/common/bg_header_sp.png") 0 0 no-repeat;
		background-size: 100% auto;
	}

}

/* 明朝 
.serif{
	font-family: '游明朝',YuMincho,'ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','ＭＳ Ｐ明朝',serif;
	font-weight: 400;
}
*/
/* 欧文 
.en, .label_en, .copy_en{
    font-family: var(--FNT-en);
}*/
.label_en{
	text-transform: capitalize;
}

/* 手書き文字 */
body.b-ja .hw{
	font-family: var(--FNT-ja-hw);
}
body.b-en_US .hw{
	font-family: var(--FNT-en-hw);
}
body.b-zh_TW {
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

p,li,dd,td {
	text-align: justify;
	text-justify: inter-ideograph;
}
body.b-en_US {
	p,li,dd,td {
		text-align: left;
	}
}

h1,h2,h3,h4,h5{
    font-weight: var(--WGT-R);
}

img {
	max-width: 100%;
	height: auto;
}
svg {
	width: 1em;
	height: 1em;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
}

i {
    font-size: 0%;
}

a:link,
a:visited,
a:hover,
a:active{
    color: var(--Text);
	text-decoration: none;
	overflow-wrap: break-word;
}

a.textlink:link,
a.textlink:visited{
    color: var(--Text);
	text-decoration: underline;
	text-decoration-color: rgba(var(--Text-rgb), 0.6);
}
a.textlink:hover,
a.textlink:active{
    color: rgba(var(--Text-rgb), 0.6);
}
a.alpha:link,
a.alpha:visited,
a.trans:link,
a.trans:visited {
	transition-property: opacity;
	opacity: 1;
}
a.alpha:hover,
a.alpha:active {
	opacity: 0.6;
}
a.trans:hover,
a.trans:active {
	opacity: 0;
}

a.btn_shadow{
	filter: drop-shadow(2px 3px 4px rgba(0,0,0,0));
	transition-property: all;
}
a.btn_shadow:hover{
	filter: drop-shadow(2px 3px 4px rgba(0,0,0,0.4));
}

@media screen and (min-width: 768px) {

	.br_sp,
	.text_sp,
	.block_sp{
		display:none;
	}
	.br_pc,
	.text_pc{
		display:inline;
	}
	.block_pc{
		display:block;
	}

	a[href^="tel:"] { pointer-events: none !important; }

	a,a > *,a::before,a::after,
	button,button::before,button::after {
	  transition-property: none;
	  transition-duration: .4s;
	  transition-timing-function: ease-in-out;
	}

}
@media screen and (max-width: 767px) {

	.br_sp,
	.text_sp{
		display:inline;
	}
	.block_sp{
		display:block;
	}
	.br_pc,
	.text_pc,
	.block_pc{
		display:none;
	}

}

/* utility */
/*
.touch_anime{transition: opacity .3s;}
@media all and (min-width:768px) {.touch_anime:not(.nopacity):hover{opacity: .7;}}
@media all and (max-width:767px) {.touch_anime:not(.nopacity).touch__start{opacity: .7;}}
.scroll_anime{transition: all 1.5s ease .1s;}
.scroll_anime.fuwa{opacity:0; transform: scale(.95);}
.scroll_anime.fuwa.scroll__start{opacity:1;transform: scale(1)}
.scroll_anime.fuwa-up{transform: translateY(50px);opacity:0;}
.scroll_anime.fuwa-up.scroll__start{transform: translateY(0px);opacity:1;}
.scroll_anime.fuwa-down{transform: translateY(-50px);opacity:0;}
.scroll_anime.fuwa-down.scroll__start{transform: translateY(0px);opacity:1;}
.scroll_anime.fuwa-right{transition: all 0.5s ease .1s;transform: translateX(-30px);opacity:0;}
.scroll_anime.fuwa-right.scroll__start{transform: translateX(0px);opacity:1;}
.scroll_anime.fuwa-left{transition: all 0.5s ease .1s;transform: translateX(30px);opacity:0;}
.scroll_anime.fuwa-left.scroll__start{transform: translateX(0px);opacity:1;}
.scroll_filter{position: relative;overflow: hidden;}
.scroll_filter::before{content: '';width: 100%;height: 100%;background: #fff;position: absolute;left:0;top:0;transition: all 3.5s ease .1s;}
.scroll_filter.filter-left.scroll__start::before{left:-100%;}
.scroll_filter.filter-right.scroll__start::before{left: 100%;}
.scroll_filter.filter-up.scroll__start::before{top:-100%;}
.scroll_filter.filter-down.scroll__start::before{top: 100%;}
*/


@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/******************************************************
header
******************************************************/

.header{
	width: 100%;
	z-index: 500;
}
@media screen and (min-width: 768px) {
	.header{
		position: fixed;
		top: 0;
		left: 0;
	}
}
@media screen and (max-width: 767px) {
	.header{
		position: relative;
	}
}

.header .header_inner{
	display: flex;
	justify-content: space-between;
}
@media screen and (min-width: 768px) {
	.header .header_inner{
		align-items: center;
		gap: 24rem;
		/*height: 104rem;*/
		padding: 0 2.5%;
	}
}
@media screen and (max-width: 767px) {
	.header .header_inner{
		align-items: flex-end;
		height: 60rem;
		padding: 0 56rem 0 4%;
	}
}

.header .header_inner .header_logo{
	display: block;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	letter-spacing: 0;
	white-space: nowrap;
	overflow: hidden;
	background: url("../../img/common/logo.svg") 50% 50% no-repeat;
	background-size: contain;
}
@media screen and (min-width: 768px) {
	.header .header_inner .header_logo{
		width: 169rem;
		/*height: 80rem;*/
	}
}
@media screen and (max-width: 767px) {
	.header .header_inner .header_logo{
		width: 104rem;
		height: 49rem;
	}
}
body.b-ja .header_inner .header_logo{
	background-image: url("../../img/common/logo_ja.svg");
}
body.b-en_US .header_inner .header_logo{
	background-image: url("../../img/common/logo_ja.svg");
}
body.b-zh_TW .header_inner .header_logo{
	background-image: url("../../img/common/logo_zh.svg");
}

/* header_nav */

@media screen and (min-width: 768px) {

	.header_nav{
		flex-grow: 1;
		display: flex;
		justify-content: flex-end;
	}
	.header_nav .global_nav{
		display: flex;
		align-items: center;
		gap: 40rem;
	}
	.header_nav .global_nav .gnav_list{
		display: flex;
		gap: 48rem;
	}
	.header_nav .global_nav .gnav_list li > a{
		display: flex;
		align-items: center;
		height: 56rem;
	}
	.header_nav .global_nav .gnav_list li > a .label{
		position: relative;
		display: block;
		padding: 0 2rem;
		font-size: 16rem;
		font-weight: var(--WGT-B);
		text-transform: capitalize;
		z-index: 10;
	}
	.header_nav .global_nav .gnav_list li > a .label::before{
		position: absolute;
		top: 70%;
		left: 0;
		display: block;
		width: 100%;
		height: 11rem;
		content: "";
		background: url("../../img/common/line_nami_yellow.svg") 0 50% repeat-x;
		transform: scale(0, 1);
		transform-origin: right top;
		transition-property: transform;
		transition-duration: .3s;
		z-index: -1;
	}
	.header_nav .global_nav .gnav_list li > a:hover .label::before{
		transform: scale(1, 1);
		transform-origin: left top;
	}
	.header_nav .global_nav .gnav_list li > a.current .label::before{
		transform: scale(1, 1);
		transform-origin: left top;
	}
	.header_nav .global_nav .gnav_list li.gnav_item_home{
		display: none;
	}
	.header_nav .global_nav .gnav_list li.gnav_item_news > ul{
		display: none;
	}
	.header_nav .global_nav .gnav_list li.gnav_item_spot > a{
		display: none;
	}
	.header_nav .global_nav .gnav_list li.gnav_item_spot > ul{
		display: flex;
		gap: 48rem;
	}
	.header_nav .global_nav .snav_list > li{
		display: none;
	}
	.header_nav .global_nav .snav_list > li.snav_item_instagram{
		display: block;
	}
	.header_nav .global_nav .snav_list > li.snav_item_instagram svg{
		width: 18rem;
		height: 18rem;
	}
}
@media screen and (max-width: 767px) {

	.header_nav{
		position:fixed;
		top: 0;
		right: -100vw;
		width: 100vw;
		height: auto;
		padding-top: 40rem;
		background-color: var(--White);
		overflow: hidden;
		z-index:400;
		transition: all 0.3s;

		.global_nav{
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 24rem;
			padding: 0 32rem 32rem;
			background: rgba(var(--Blue-rgb), 0.15) url("../../img/common/bg_footer_sp.png") 0 0 no-repeat;
			background-size: 100% auto;
			&::before{
				display: block;
				width: 100%;
				height: 68rem;
				content: "";
				background: url("../../img/common/logo.svg") 50% 50% no-repeat;
				background-size: contain;
			}
			.gnav_list{
				> li {
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					gap: 0;
					padding: 8rem 16rem;
					border-bottom: 1px solid var(--Blue);
					> a{
						display: flex;
						justify-content: flex-start;
						align-items: center;
						gap: 8rem;
						min-width: 12em;
						padding: 8rem 0;
						&::before{
							display: flex;
							justify-content: center;
							align-items: center;
							width: 16rem;
							height: 16rem;
							content: "";
							border-radius: 16rem;
							background: var(--Blue) url("../../img/common/arrow_wht.svg") 50% 50% no-repeat;
							background-size: 60% auto;
						}
						.label{
							font-size: 16rem;
							font-weight: var(--WGT-B);
							text-transform: capitalize;
						}
					}
					> ul{
						padding-left: 32rem;
						> li > a{
							display: flex;
							justify-content: flex-start;
							align-items: center;
							gap: 10rem;
							padding: 10rem 0;
							&::before{
								display: flex;
								justify-content: center;
								align-items: center;
								width: 10rem;
								height: 10rem;
								content: "";
								background: url("../../img/common/arrow_blue.svg") 50% 50% no-repeat;
								background-size: contain;
							}
							.label{
								font-size: 14rem;
								font-weight: var(--WGT-B);
								text-transform: capitalize;
							}
						}
					}
				}
			}
			.snav_list{
				> li{
					display: none;
				}
				> li.snav_item_instagram{
					display: block;
					svg{
						width: 20rem;
						height: 20rem;
					}
				}
			}
		}

	}
	.header_nav.active{
		right: 0;
	}
}


/* lang_nav */

@media screen and (min-width: 768px) {
	.lang_nav{
		position: relative;
	}
}
@media screen and (max-width: 767px) {
	.lang_nav{
		position: fixed;
		top: 0;
		right: 56rem;
		width: 56rem;
		height: 60rem;
		border-bottom-left-radius: 8rem;
		z-index: 600;
	}
}
@media screen and (max-width: 767px) {
	.lang_nav .btn_lang{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		padding-left: 8rem;
	}
}
.lang_nav .btn_lang > svg{
	width: 18rem;
	height: 18rem;
}
.lang_nav .popup_nav{
	position: absolute;
	width: 8em;
	z-index: 999;
	visibility: hidden;
	opacity: 0;
	transition: all 0.4s ease-out;
}
@media screen and (min-width: 768px) {
	.lang_nav .popup_nav{
		top: 32rem;
		right: -8rem;
	}
}
@media screen and (max-width: 767px) {
	.lang_nav .popup_nav{
		top: 48rem;
		right: 6rem;
	}
}
.lang_nav .popup_nav ul{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 4rem;
	padding: 4rem;
	background-color: var(--Blue);
	border-radius: 8rem;
}
.lang_nav .popup_nav ul::before{
	position: absolute;
	top: -8rem;
	right: 12rem;
	content: "";
	border-bottom: 9rem solid var(--Blue);
	border-right: 6rem solid transparent;
	border-left: 6rem solid transparent;
}
.lang_nav .popup_nav ul > li > a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	font-weight: var(--WGT-B);
	color: var(--White);
	background-color: var(--Blue);
	transition-property: color, background;
}
@media screen and (min-width: 768px) {
	.lang_nav .popup_nav ul > li > a{
		line-height: 2;
		border-radius: 6rem;
	}
	.lang_nav .popup_nav ul > li > a:hover{
		color: var(--Blue);
		background-color: var(--White);
	}
}
@media screen and (max-width: 767px) {
	.lang_nav .popup_nav ul > li > a{
		line-height: 3;
	}
}
@media screen and (max-width: 767px) {
	.lang_nav .popup_nav ul > li{
		border-bottom: solid 1rem rgba(var(--White-rgb), 0.5);
	}
	.lang_nav .popup_nav ul > li:last-child {
		border-bottom: none;
	}
}
@media screen and (min-width: 768px) {
	.lang_nav:hover > .popup_nav{
		visibility: visible;
		opacity: 1;
	}
}
@media screen and (max-width: 767px) {
	.lang_nav > .popup_nav.active{
		visibility: visible;
		opacity: 1;
	}
}

/* btn_menu */

@media screen and (min-width: 768px) {
	.btn_menu,
	.bg_menu{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.btn_menu{
		position: fixed;
		top: 0;
		right: 0;
		width: 56rem;
		height: 60rem;
		z-index: 600;
		> a{
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			gap: 4rem;
			width: 100%;
			height: 100%;
			padding-right: 8rem;
			position: relative;
			transition: .35s ease-out;
			&::before,
			&::after{
				display: block;
				content: "";
				width: 18rem;
				height: 2rem;
				background-color: var(--Text);
				transition: .35s ease-in-out;
			}
			> span{
				display: block;
				width: 18rem;
				height: 2rem;
				font-size: 0%;
				line-height: 0%;
				text-indent: 100%;
				letter-spacing: 0;
				white-space: nowrap;
				overflow: hidden;
				background-color: var(--Text);
				transition: .35s ease-in-out;
			}
		}
	}
	.btn_menu.active{
			gap: 0;
		> a{
			&::before{
				transform: translateY(6rem) rotate(135deg);
			}
			&::after{
				transform: translateY(-6rem) rotate(-135deg);
			}
			> span{
				opacity: 0;
			}
		}
	}
}


/* ハンバーガーメニュー開いているとき背景固定、グレー表示 */

@media screen and (max-width: 767px) {

	body.fixed{
		position: fixed;
		width: 100%;
		height: 100%;
	}
	.bg_menu{
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		background: var(--Black);
		opacity: 0;
		visibility: hidden;
		z-index: -1;
		transition: all 0.5s;
		cursor: pointer;
	}
	.btn_menu.active + .bg_menu{
		opacity: 0.6;
		visibility: visible;
	}

}


/* home */

@media screen and (min-width: 768px) {
	.b-home .header .header_inner .header_logo{
		opacity: 0;
	}
	.b-home .header .header_inner .label{
		color: var(--White);
		transition: color 0.4s ease-out;
	}
}
@media screen and (max-width: 767px) {
	.b-home .header .header_inner{
		height: 0;
	}
}
.b-home .header .header_inner .header_nav .global_nav .gnav_list li > a .label::before{
	/*top: 105%;*/
	display: none;
}
@media screen and (min-width: 768px) {
	.b-home .header .header_inner .header_nav .global_nav .snav_list li > a .label > svg{
		fill: var(--White);
		transition: fill 0.4s ease-out;
	}
}
.b-home .header .header_inner .lang_nav .btn_lang > svg{
	fill: var(--White);
	transition: fill 0.4s ease-out;
}
@media screen and (max-width: 767px) {
	.b-home .header .btn_menu > a::before,
	.b-home .header .btn_menu > a::after{
		background-color: var(--White);
	}
	.b-home .header .btn_menu > a > span{
		background-color: var(--White);
	}
}

@media screen and (max-width: 767px) {
	.b-home.fixed .header{ /* ハンバーガーメニュー開いているとき */
		.lang_nav .btn_lang > svg{
			fill: var(--Text);
		}
		.btn_menu{
			> a{
				&::before,
				&::after{
					background-color: var(--Text);
				}
				> span{
					background-color: var(--Text);
				}
			}
		}
	}
}

/* header_fix */

@media screen and (min-width: 768px) {

	.header .header_inner{
		height: 104rem;
		background-color: rgba(var(--White-rgb), 0);
		box-shadow: 0px 8px 16px 0px rgba(var(--Black-rgb), 0);
		transition: 0.4s ease-out;
		transition-property: height, background, box-shadow;
	}
	.header .header_inner .header_logo{
		height: 80rem;
		transition: height 0.4s ease-out, opacity 0.4s ease-out;
	}
	.header.header_fix .header_inner{
		height: 80rem;
		background-color: rgba(var(--White-rgb), 0.98);
		box-shadow: 0px 4px 12px 0px rgba(var(--Black-rgb), 0.05);
	}
	.header.header_fix .header_inner .header_logo{
		height: 64rem;
		opacity: 1;
	}
	.header.header_fix .header_inner .label{
		color: var(--Text);
	}
	.header.header_fix .header_inner .header_nav .global_nav .gnav_list li > a .label::before{
		/*top: 70%;*/
		display: block;
	}
	.header.header_fix .header_inner .header_nav .global_nav .snav_list li > a .label > svg{
		fill: var(--Text);
	}
	.header.header_fix .header_inner .lang_nav .btn_lang > svg{
		fill: var(--Text);
	}
}
@media screen and (max-width: 767px) {

	.header{
		.lang_nav,
		.btn_menu{
			background-color: rgba(var(--White-rgb), 0);
			transition: background 0.4s ease-out;
		}
	}
	.header.header_fix{
		.lang_nav,
		.btn_menu{
			background-color: rgba(var(--White-rgb), 0.98);
		}
		.lang_nav .btn_lang > svg{
			fill: var(--Text) !important;
		}
		.btn_menu{
			> a{
				&::before,
				&::after{
					background-color: var(--Text);
				}
				> span{
					background-color: var(--Text);
				}
			}
		}
	}
}


/******************************************************
.breadcrumb
******************************************************/

.breadcrumb{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background: var(--White);
}
.breadcrumb ol{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	list-style: none;
	line-height: 1;
}
.breadcrumb ol > li > a{
	display: flex;
	align-items: center;
	font-weight: var(--WGT-B);
	color: var(--Blue);
	text-transform: capitalize;
}
.breadcrumb ol > li > a::after{
	display: block;
	content: "";
	border-right: 1rem solid var(--Gray);
	border-top: 1rem solid var(--Gray);
	transform: translate(0, 20%) rotate(45deg);
}
.breadcrumb ol > li:first-child > a::before{
	display: block;
	content: "";
	background: url("../../img/common/icn_home.svg");
	background-size: contain;
}
.breadcrumb ol > li:last-child > a{
	color: var(--DarkGray);
	cursor: default;
}
.breadcrumb ol > li:last-child > a::after{
	display: none;
}

@media screen and (min-width: 768px) {
	.breadcrumb{
		min-height: 48rem;
		padding: 8rem 5%;
	}
	.breadcrumb > ol {
		gap: 0.5em 1em;
		font-size: 14rem;
	}
	.breadcrumb > ol > li > a{
		opacity: 1;
		transition-property: opacity;
	}
	.breadcrumb > ol > li > a:hover{
		opacity: 0.4;
	}
	.breadcrumb > ol > li > a::after{
		width: 8rem;
		height: 8rem;
		margin-left: 12rem;
	}
	.breadcrumb > ol > li:first-child > a::before{
				width: 20rem;
				height: 20rem;
				margin-right: 8rem;
	}
	.breadcrumb > ol > li:last-child > a:hover{
		opacity: 1;
	}
}
@media screen and (max-width: 767px) {
	.breadcrumb{
		/*min-height: 32rem;*/
		padding: 8rem 12rem;
		> ol {
			gap: 0.4em;
			font-size: 12rem;
			> li {
				> a{
					&::after{
						width: 6rem;
						height: 6rem;
						margin-left: 0.4em;
					}
				}
				&:first-child{
					> a{
						&::before{
							width: 16rem;
							height: 16rem;
							margin-right: 2rem;
						}
					}
				}
			}
		}
	}
	
}

/******************************************************
.contents
******************************************************/

.contents{
	position: relative;
    overflow-x: hidden;
	overflow-y: hidden;
	line-height: 1.5;

	display: flex;
	flex-direction: column;
	align-items: stretch;
}
@media screen and (min-width: 768px) {
	.contents{
		gap: 48rem;
		padding: 64rem 0 80rem;
	}
}
@media screen and (max-width: 767px) {
	.contents{
		gap: 40rem;
		padding: 32rem 0 40rem;
	}
}

.contents.contents_home{
	padding-top: 0;
	gap: 0;
}


@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/******************************************************
.contents_header
******************************************************/

/* .contents_header_home ********************/

.contents_header_home{
    position: relative;
	overflow: hidden;
}
@media screen and (min-width: 768px) {
	.contents_header_home{
		width: 100vw;
		height: 500rem;
	}
}
@media screen and (max-width: 767px) {
	.contents_header_home{
		width: 100vw;
		height: 240rem;
	}
}

/*.main_visual{ // video
	top: 0;
	left: 0;
	overflow: hidden;
	@media screen and (min-width: 768px) {
		position: fixed;
		width: 100vw;
		height: 100%;
		z-index: -100;
	}
	@media screen and (max-width: 767px) {
		position: absolute;
		width: 100vw;
		height: 149.3333vw;
	}
	.main_video{
		position: absolute;
		top: -100%;
		bottom: -100%;
		left: -100%;
		right: -100%;
		margin: auto;
		width: auto;
		height: auto;
		min-width: 100%;
		@media screen and (min-width: 768px) {
			min-height: 100%;
		}
		@media screen and (max-width: 767px) {
			max-height: 100%;
		}
	}
}*/

.contents_header_home .main_imgs{
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.contents_header_home .main_imgs .main_img img{
	width: 100%;
	object-fit: cover;
}
@media screen and (min-width: 768px) {
	.contents_header_home .main_imgs .main_img img{
		height: 500rem;
	}
}
@media screen and (max-width: 767px) {
	.contents_header_home .main_imgs .main_img img{
		height: 240rem;
	}
}
.contents_header_home .main_copy{
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: flex-start;
		gap: 12rem;
		width: 100%;
		height: 100%;
		color: var(--White);
		background: rgba(var(--Black-rgb), 0.2) url("../../img/common/logo_ja_wht.svg") 52% 52% no-repeat;
}
@media screen and (min-width: 768px) {
	.contents_header_home .main_copy{
		padding: 64rem 6%;
		background-size: 404rem auto;
	}
	.contents_header_home .main_copy .label{
		font-size: 24rem;
		font-weight: var(--WGT-B);
		line-height: 1.5;
		letter-spacing: 0.1em;
	}
	.contents_header_home .main_copy .copy{
		font-size: 18rem;
		font-weight: var(--WGT-B);
		line-height: 1.5;
		letter-spacing: 0.1em;
	}
}
@media screen and (max-width: 767px) {
	.contents_header_home .main_copy{
		background-size: 240rem auto;
	}
	.contents_header_home .main_copy .label,
	.contents_header_home .main_copy .copy{
		font-size: 0%;
		line-height: 0%;
		text-indent: 100%;
		letter-spacing: 0;
		white-space: nowrap;
		overflow: hidden;
	}
}
body.b-ja .contents_header_home .main_copy{
	background-image: url("../../img/common/logo_ja_wht.svg");
}
body.b-en_US .contents_header_home .main_copy{
	background-image: url("../../img/common/logo_ja_wht.svg");
}
body.b-zh_TW .contents_header_home .main_copy{
	background-image: url("../../img/common/logo_zh_wht.svg");
}

/* .contents_header ********************/

@media screen and (min-width: 768px) {
	.contents_header.archive{
		width: 100%;
		max-width: 1160rem;
		margin: 0 auto;
	}
}

.label_contents_header{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
@media screen and (min-width: 768px) {
	.label_contents_header{
		gap: 32rem;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header{
		gap: 16rem;
	}
}

.label_contents_header .label_icn{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 6rem;
	flex-shrink: 0;
	padding: 4rem;
	background: var(--Blue);
}
@media screen and (min-width: 768px) {
	.label_contents_header .label_icn{
		width: 104rem;
		height: 104rem;
		border-radius: 16rem;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header .label_icn{
		width: 64rem;
		height: 64rem;
		border-radius: 0 8rem 8rem 0;
	}
}
.label_contents_header .label_icn svg{
	fill: var(--White);
}
@media screen and (min-width: 768px) {
	.label_contents_header .label_icn svg{
		width: 24rem;
		height: 24rem;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header .label_icn svg{
		width: 18rem;
		height: 18rem;
	}
}

.label_contents_header .label_icn > .label{
	font-weight: var(--WGT-B);
	line-height: 1;
	color: var(--White);
	text-transform: capitalize;
}
@media screen and (min-width: 768px) {
	.label_contents_header .label_icn > .label{
		font-size: 18rem;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header .label_icn > .label{
		font-size: 12rem;
	}
}
.label_contents_header .label_txt{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
@media screen and (min-width: 768px) {
	.label_contents_header .label_txt{
		padding-top: 12rem;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header .label_txt{
		padding-top: 4rem;
	}
}
.label_contents_header .label_txt > .copy{
	font-weight: var(--WGT-B);
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	.label_contents_header .label_txt > .copy{
		font-size: 18rem;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header .label_txt > .copy{
		font-size: 14rem;
	}
}
.label_contents_header .label_txt > .title{
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-wrap: wrap;
	font-weight: var(--WGT-B);
	text-transform: capitalize;
}
@media screen and (min-width: 768px) {
	.label_contents_header .label_txt > .title{
		gap: 1.5em;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header .label_txt > .title{
		gap: 0 0.5em;
	}
}
.label_contents_header .label_txt > .title > .label_contents{
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	.label_contents_header .label_txt > .title > .label_contents{
		font-size: 40rem;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header .label_txt > .title > .label_contents{
		font-size: 24rem;
	}
}
@media screen and (min-width: 768px) {
	.label_contents_header .label_txt > .title > .label_archive{
		font-size: 20rem;
		line-height: 2.25;
	}
}
@media screen and (max-width: 767px) {
	.label_contents_header .label_txt > .title > .label_archive{
		font-size: 12rem;
		line-height: 2.25;
	}
}

.contents_header.single{
	position: absolute;
	left: 0;
}
@media screen and (min-width: 768px) {
	.contents_header.single{
		top: 64rem;
	}
}
@media screen and (max-width: 767px) {
	.contents_header.single{
		top: 32rem;
	}
}
@media screen and (min-width: 768px) {
	.contents_header.single .label_icn{
		width: 96rem;
		border-radius: 0 16rem 16rem 0;
	}
}
@media screen and (max-width: 767px) {
	.contents_header.single .label_icn{
		width: 32rem;
	}
	.contents_header.single .label_icn > .label{
		display: none;
	}
}
.contents_header.single .label_txt{
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}


/******************************************************
.contents_footer
******************************************************/

/* .contents_footer ********************/

.contents_footer{
	width: 100%;
	max-width: 1160rem;
	margin: 0 auto;
	padding-top: 40rem;
}

/* .contents_nav ********************/

.contents_nav{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
@media screen and (min-width: 768px) {
	.contents_nav{
		gap: 8rem;
		max-width: 960rem;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	.contents_nav{
		gap: 4rem;
		padding: 0 8rem;
	}
}
.contents_nav > li{
	flex: 1;
}
.contents_nav > li > a{
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2rem solid var(--Blue);
	background: var(--Blue);
	transition-property: background;
}
@media screen and (min-width: 768px) {
	.contents_nav > li > a{
		position: relative;					
		gap: 10rem;
		height: 64rem;
		padding: 8rem 32rem 8rem 16rem;
		border-radius: 12px;
	}
}
@media screen and (max-width: 767px) {
	.contents_nav > li > a{
		flex-direction: column;
		gap: 4rem;
		height: 70rem;
		padding: 8rem 4rem 4rem;
		border-radius: 8px;
	}
}
.contents_nav > li > a > svg{
	width: 1.125em;
	height: 1.125em;
	fill: var(--White);
	transition-property: fill;
}
.contents_nav > li > a > .label{
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--White);
	font-weight: var(--WGT-B);
	line-height: 1.2;
	text-align: center;
	transition-property: color;
}
@media screen and (min-width: 768px) {
	.contents_nav > li > a > .label{
		flex-direction: row;
	}
	.contents_nav > li > a::before{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10rem;
		margin: auto 0;
		display: block;
		width: 16rem;
		height: 16rem;
		content: "";
		border-radius: 50%;
		background-color: var(--Blue);
		transform-origin: center center;
		transform: scale(0, 0);
		transition: transform 0.3s ease-out;
	}
	.contents_nav > li > a::after{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10rem;
		margin: auto 0;
		display: block;
		width: 16rem;
		height: 16rem;
		content: "";
		border-radius: 50%;
		background: var(--White) url("../../img/common/arrow_blue.svg") 50% 50% no-repeat;
		background-size: 60% auto;
		transition: background 0.3s ease-out;
	}
	.contents_nav > li > a:hover{
		background: var(--White);
	}
	.contents_nav > li > a:hover > svg{
		fill: var(--Blue);
	}
	.contents_nav > li > a:hover > .label{
		color: var(--Blue);
	}
	.contents_nav > li > a:hover::before{
		transform: scale(1, 1);
	}
	.contents_nav > li > a:hover::after{
		background-color: transparent;
		background-image: url("../../img/common/arrow_wht.svg");
	}
}
@media screen and (max-width: 767px) {
	.contents_nav > li > a > .label{
		flex-direction: column;
		min-height: 34rem;
		letter-spacing: 0;
	}
}

.contents_nav > li > a.current{
	background: var(--White);
}
.contents_nav > li > a.current > svg{
	fill: var(--Blue);
}
.contents_nav > li > a.current > .label{
	color: var(--Blue);
}
.contents_nav > li > a.current::before{
	transform: scale(1, 1);
}
.contents_nav > li > a.current::after{
	background-color: transparent;
	background-image: url("../../img/common/arrow_wht.svg");
}

@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}

/******************************************************
.section
******************************************************/

/* .section ********************/

.section{
    width: 100%;
	background-color: var(--White);
}
@media screen and (min-width: 768px) {
	.section{
		max-width: 1160rem;
		margin-left: auto;
		margin-right: auto;
		padding-left: calc((100vw - 1160rem)/ 2);
		padding-right: calc((100vw - 1160rem)/ 2);
		box-sizing: content-box;
	}
	.section.section_narrow{
		max-width: 1000rem;
		padding-left: calc((100vw - 1000rem)/ 2);
		padding-right: calc((100vw - 1000rem)/ 2);
	}
}

.section.section_related{
	background: rgba(var(--Blue-rgb), 0.15);
}
@media screen and (min-width: 768px) {
	.section.section_related{
		max-width: 880rem;
		padding: 64rem calc((100vw - 880rem)/ 2);
	}
}
@media screen and (max-width: 767px) {
	.section.section_related{
		padding: 40rem 16rem;
	}
}

@media screen and (max-width: 767px) {
	.section.section_taglists{
		padding-left: 4rem;
		padding-right: 4rem;
	}
	.section.section_archive{
		padding-left: 16rem;
		padding-right: 16rem;
	}
}


/* .section_label ********************/

.section_label{

}



/* .section_2 ********************/

@media screen and (min-width: 768px) {

	.section_2 + .section_2{
		margin-top: 80rem;
	}

}
@media screen and (max-width: 767px) {

	.section_2 + .section_2{
		margin-top: 48rem;
	}

}



/* .section_body ********************/

@media screen and (min-width: 768px) {

	.section_body.col,
	.sbody_block.col{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 40rem;
	}

	.section_body.row,
	.sbody_block.row{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		gap: 40rem;
		.sbody_text, .sbody_img{
			width: 48.05%;
		}
	}

	.section_body.row.wrap,
	.sbody_block.row.wrap{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 40rem;
		.sbody_text, .sbody_img{
			width: 48.05%;
		}
		.sbody_text.w100, .sbody_img.w100{
			width: 100%;
		}
	}

	.section_body + .section_body{
		margin-top: 64rem;
	}

	.section_body{
		
		.sbody_text{
			p{
				line-height: 2;
				letter-spacing: 0.8rem;
			}
			p + p{
				margin-top: 2em;
			}
		}

		.sbody_list{
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: flex-start;
			gap: 40rem 32rem;
			> dt{
				width: 144rem;
				font-size: 22rem;
				letter-spacing: 1.1rem;
			}
			> dd{
				width: calc(100% - 176rem);
				p{
					line-height: 1.75;
					letter-spacing: 0.8rem;
				}
				p + p{
					margin-top: 2em;
				}
			}
		}
		
		.sbody_list_line{
			display: flex;
			flex-wrap: wrap;
			align-items: stretch;
			gap: 0rem;
			> dt{
				width: 216rem;
				padding: 16rem 0;
				font-weight: var(--WGT-B);
				line-height: 1.75;
				border-bottom: 1px solid var(--LightGray);			
			}
			> dd{
				width: calc(100% - 216rem);
				padding: 16rem 0 16rem 24rem;
				border-bottom: 1px solid var(--LightGray);
				p{
					line-height: 1.75;
				}
				p + p{
					margin-top: 0.5em;
				}
			}
		}

		.sbody_list_3clm{
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			gap: 32rem 40rem;
			> li{
				width: calc(33.33% - 27rem);
				.img > img{
					width: 100%;
					height: 210rem;
					object-fit: cover;
				}
				.caption{
					margin-top: 16rem;
					font-size: 14rem;
					line-height: 1.5;
					letter-spacing: 0.7rem;
					color: var(--Gray);
				}
			}
		}

		ol{
			padding-left: 1.25em;
			> li{
				line-height: 1.75;
				letter-spacing: 0.8rem;
			}
			> li + li{
				margin-top: 2em;
			}
		}

	}

}
@media screen and (max-width: 767px) {

	.section_body,
	.sbody_block{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 32rem;
	}

	.section_body + .section_body{
		margin-top: 40rem;
	}

	.section_body{
		
		.sbody_text{
			p{
				line-height: 1.75;
				letter-spacing: 0;
			}
			p + p{
				margin-top: 2em;
			}
		}

		.sbody_list{
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 16rem;
			> dt{
				font-size: 20rem;
			}
			> dd{
				p{
					line-height: 1.75;
					letter-spacing: 0;
				}
				p + p{
					margin-top: 2em;
				}
			}
		}
		
		.sbody_list_line{
			display: flex;
			flex-direction: column;
			align-items: stretch;
			> dt{
				padding: 12rem 0 0;
				font-weight: var(--WGT-B);
				line-height: 1.75;
			}
			> dd{
				padding: 4rem 0 12rem;
				border-bottom: 1px solid var(--LightGray);	
				p{
					line-height: 1.75;
				}
				p + p{
					margin-top: 0.5em;
				}
			}
		}

		.sbody_list_3clm{
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 40rem;
			> li{
				.img > img{
					width: 100%;
					height: 223rem;
					object-fit: cover;
				}
				.caption{
					margin-top: 8rem;
					font-size: 12rem;
					line-height: 1.5;
					letter-spacing: 0.6rem;
					color: var(--Gray);
				}
			}
		}

		ol{
			padding-left: 1.25em;
			> li{
				line-height: 1.75;
				letter-spacing: 0;
			}
			> li + li{
				margin-top: 2em;
			}
		}
	}

}

/* 見出し ********************/

.section_body_label{
}





/* 汎用 ********************/

/* 　注意書き　 */

.note{
	font-size: 0.875em;
	color: var(--Gray);
	line-height: 1.5;
	letter-spacing: 0.7rem;
}

/* 　マップ枠　 */

.box_iframe iframe{
    width: 100%;
	@media screen and (min-width: 768px) {
		height: 560rem;
	}
	@media screen and (max-width: 767px) {
		height: 320rem;
	}
}

/* 　写真画像 角丸　 */

@media screen and (min-width: 768px) {

	.ph_r{
		border-radius: 16rem;
	}
	.ph_r_s{
		border-radius: 8rem;
	}

}
@media screen and (max-width: 767px) {

	.ph_r{
		border-radius: 8rem;
	}
	.ph_r_s{
		border-radius: 4rem;
	}

}


/* 　ボタンの入れ物　 */

.btn_row{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.25em;
}
.btn_col{
	display: flex;
	flex-direction: column;
	gap: 0.25em;
	padding-top: 0.5em;
}
@media screen and (min-width: 768px) {
	.btn_col{
		align-items: flex-start;
	}
}
@media screen and (max-width: 767px) {
	.btn_col{
		align-items: center;
	}
}

/* 　MOREボタン　 */

.btn_box_arrow{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 999rem;
	border: 1px solid var(--Blue);
	background: var(--White);
	min-width: 240rem;
	height: 40rem;
	padding: 8rem 32rem 8rem 16rem;
}
.btn_box_arrow .label{
	font-size: 14rem;
	font-weight: var(--WGT-B);
	line-height: 1;
	letter-spacing: 0.1em;
	color: var(--Blue);
	transition-property: color;
}
.btn_box_arrow .icn{
	position: absolute;
	top: 50%;
	right: 8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24rem;
	height: 24rem;
	border-radius: 50%;
	background-color: var(--Blue);
	transform: translateY(-50%);
}
.btn_box_arrow .icn > svg{
	width: 14rem;
	height: 14rem;
	fill: var(--White);
}

@media screen and (min-width: 768px) {
	.btn_box_arrow{
		transition: background-color 0.4s ease-out;
	}
	.btn_box_arrow .icn::before{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		content: "";
		border-radius: 50%;
		background-color: var(--White);
		transform-origin: center center;
		transform: scale(0, 0);
		transition: transform 0.3s ease-out;
		z-index: -1
	}
	.btn_box_arrow:hover,
	a:hover .btn_box_arrow{
		background-color: var(--Blue);
	}
	.btn_box_arrow:hover .label,
	a:hover .btn_box_arrow .label{
		color: var(--White);
	}
	.btn_box_arrow:hover .icn > svg,
	a:hover .btn_box_arrow .icn > svg{
		fill: var(--Blue);
	}
	.btn_box_arrow:hover .icn::before,
	a:hover .btn_box_arrow .icn::before{
		transform: scale(1, 1);
	}
}

/* 　波下線 黄色　 */

.nami{
	position: relative;
	display: inline-block;
	z-index: 10;
}
.nami::before{
	position: absolute;
	top: 75%;
	left: 0;
	display: block;
	width: 100%;
	height: 0.6875em;
	content: "";
	background: url("../../img/common/line_nami_yellow.svg") 0 0 repeat-x;
	background-size: contain;
	z-index: -1;
}


@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}



/******************************************************
■ HOME　■
******************************************************/

/* ニュース */

.section_home_news{
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 0;
}
@media screen and (min-width: 768px) {
	.section_home_news{
		padding: 56rem 0;
	}
}
@media screen and (max-width: 767px) {
	.section_home_news{
		padding: 24rem 16rem;
	}
}
.section_home_news .section_label_tate{
	display: flex;
	align-items: flex-start;
	padding: 4rem 8rem 4rem 0;
	border-right: 1rem solid var(--Text);
}
.section_home_news .section_label_tate > .label{
	height: 0px;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
}
.section_home_news .section_label_tate > .label_tate{
	line-height: 1;
	writing-mode: vertical-rl;
	text-orientation: sideways;
	transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
	.section_home_news .section_label_tate > .label_tate{
		font-size: 20rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_news .section_label_tate > .label_tate{
		font-size: 14rem;
	}
}

.section_home_news .section_body{
	flex: 1 1 0;
}
@media screen and (max-width: 767px) {
	.section_home_news .section_body .list_slide_news{
		width: 321rem;
	}
}

/* コンテンツ紹介 */

@media screen and (min-width: 768px) {
	.section_home_cnts{
		padding-bottom: 104rem;
		background: url("../../img/common/bg_home_cnts_pc.png") 50% 0 no-repeat;
		background-size: 2500rem auto;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts{
		background: url("../../img/common/bg_home_cnts_sp.png") 0 0 no-repeat;
		background-size: 100% auto;
	}
}
.section_home_cnts > .section_header{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 24rem;
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_header{
		gap: 24rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_header{
		gap: 8rem;
	}
}
.section_home_cnts > .section_header .section_label_hw{
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_header .section_label_hw{
		gap: 16rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_header .section_label_hw{
		gap: 4rem;
	}
}
.section_home_cnts > .section_header .section_label_hw::before{
	display: block;
	content: "";
	background: url("../../img/common/ill_flag.svg") 50% 50% no-repeat;
	background-size: contain;
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_header .section_label_hw::before{
		width: 44rem;
		height: 44rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_header .section_label_hw::before{
		width: 28rem;
		height: 28rem;
	}
}
.section_home_cnts > .section_header .section_label_hw > .label{
	letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_header .section_label_hw > .label{
		font-size: 36rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_header .section_label_hw > .label{
		font-size: 19rem;
	}
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_header .contents_nav{
		width: 800rem;
	}
}

.section_home_cnts > .section_body.list_cnts{
	display: flex;
	align-items: stretch;
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_body.list_cnts{
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 64rem 96rem;
		width: 100%;
		max-width: 1056rem;
		margin: 0 auto;
		padding-top: 64rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_body.list_cnts{
		flex-direction: column;
		gap: 40rem;
		padding-top: 40rem;
	}
}
.section_home_cnts > .section_body.list_cnts > .list_cnts_item{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item{
		width: calc(100%/2 - 96rem/2);
		gap: 8rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item{
		gap: 20rem;
	}
}

.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header{
	align-items: stretch;
	width: 100%;
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header{
		gap: 0;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header{
		gap: 8rem;
	}
}

.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_icn{
	gap: 4rem;
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_icn{
		width: 80rem;
		height: auto;
		border-radius: 12rem 0 0 12rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_icn{
		width: 48rem;
		height: auto;
	}
}

@media screen and (min-width: 768px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_icn > svg{
		width: 20rem;
		height: 20rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_icn > .label{
		font-size: 14rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_icn > svg{
		width: 14rem;
		height: 14rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_icn > .label{
		font-size: 11rem;
	}
}

.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_txt{
	flex-grow: 1;
	background: rgba(var(--Blue-rgb), 0.15);
}
@media screen and (min-width: 768px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_txt{
		padding: 16rem;
		border-radius: 0 12rem 12rem 0;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_txt > .copy{
		font-size: 14rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_txt > .title > .label_contents{
		font-size: 20rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_txt{
		padding: 8rem 16rem;
		border-radius: 8rem 0 0 8rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_txt > .copy{
		font-size: 12rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_txt > .title > .label_contents{
		font-size: 18rem;
	}
}

.section_home_cnts > .section_body.list_cnts > .list_cnts_item .label_contents_header .label_txt > .title > .label_contents.nami::before{
	top: 65%;
	height: 0.55em;
}

@media screen and (min-width: 768px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .list_entry .list_item{
		width: 100%;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .list_entry .list_item > a .entry_img {
		padding-top: 56.25%;
	}							
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .list_entry .list_item + .list_item{
		display: none;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .btn_col{
		position: absolute;
		top: 28rem;
		right: 12rem;
		padding-top: 0;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .btn_col > .btn_box_arrow{
		min-width: initial;
		height: auto;
		padding: 8rem 28rem 8rem 12rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .btn_col > .btn_box_arrow .label{
		font-size: 13rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .btn_col > .btn_box_arrow .icn{
		width: 14rem;
		height: 14rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .btn_col > .btn_box_arrow .icn > svg{
		width: 10rem;
		height: 10rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .list_slide_cnts{
		margin-left: 8rem;
		margin-right: 8rem;
		margin-bottom: 20rem;
	}
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item .list_slide_cnts .list_item{
		padding: 0 7rem;
		width: calc(100%/2);
	}
}
@media screen and (max-width: 767px) {/* ●●●60分スポット投稿したら表示する●●● */
	.section_home_cnts > .section_body.list_cnts > .list_cnts_item.min60{
		display: none;
	}
}

/* とは？ */

@media screen and (min-width: 768px) {
	.section_home_about{
		position: relative;
		padding-bottom: 120rem;
		background: url("../../img/home/bg_home_about_pc.jpg") 50% 48rem no-repeat;
		background-size: 2500rem auto;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about{
		margin-top: 40rem;
		background: url("../../img/home/bg_home_about_sp.jpg") 0 44rem no-repeat;
		background-size: 100% auto;
	}
}
.section_home_about .home_about_txt{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media screen and (min-width: 768px) {
	.section_home_about .home_about_txt{
		gap: 48rem;
		width: 480rem;
		margin-left: auto;
		padding-top: 26rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about .home_about_txt{
		gap: 24rem;
		padding-top: 40rem;
		padding-left: 16rem;
		padding-right: 16rem;
	}
}
.section_home_about .home_about_txt .section_label_hw{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4rem;
}
.section_home_about .home_about_txt .section_label_hw::before{
	display: block;
	content: "";
	background: url("../../img/common/ill_plane.svg") 50% 50% no-repeat;
	background-size: contain;
}
@media screen and (min-width: 768px) {
	.section_home_about .home_about_txt .section_label_hw::before{
		width: 50rem;
		height: 50rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about .home_about_txt .section_label_hw::before{
		width: 40rem;
		height: 40rem;
	}
}
.section_home_about .home_about_txt .section_label_hw > .label{
	letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
	.section_home_about .home_about_txt .section_label_hw > .label{
		font-size: 34rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about .home_about_txt .section_label_hw > .label{
		font-size: 22rem;
	}
}
.section_home_about .home_about_txt .home_about_body{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: var(--White);
}
@media screen and (min-width: 768px) {
	.section_home_about .home_about_txt .home_about_body{
		gap: 40rem;
		padding: 56rem 66rem;
		border-radius: 16rem;
		box-shadow: 8px 8px 0 0 var(--Blue);
	}
	.b-en_US .section_home_about .home_about_txt .home_about_body{
		padding: 56rem 48rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about .home_about_txt .home_about_body{
		gap: 24rem;
		padding: 32rem 24rem;
		border-radius: 12rem;
		box-shadow: 4px 4px 0 0 var(--Blue);
	}
}
.section_home_about .home_about_txt .home_about_body::before,
.section_home_about .home_about_txt .home_about_body::after{
	position: absolute;
	display: block;
	content: "";
	background: 0 0 no-repeat;
	background-size: contain;
}
@media screen and (min-width: 768px) {
	.section_home_about .home_about_txt .home_about_body::before,
	.section_home_about .home_about_txt .home_about_body::after{
		width: 66rem;
		height: 66rem;
		background-image: url("../../img/common/line_dot_light.svg");
	}
	.section_home_about .home_about_txt .home_about_body::before{
		top: -10rem;
		left: -10rem;
	}
	.section_home_about .home_about_txt .home_about_body::after{
		bottom: -12rem;
		right: -12rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about .home_about_txt .home_about_body::before,
	.section_home_about .home_about_txt .home_about_body::after{
		width: 40rem;
		height: 40rem;
		background-image: url("../../img/common/line_dot_bold.svg");
	}
	.section_home_about .home_about_txt .home_about_body::before{
		top: -7rem;
		left: -7rem;
	}
	.section_home_about .home_about_txt .home_about_body::after{
		bottom: -9rem;
		right: -9rem;
	}
}
.section_home_about .home_about_txt .home_about_body .copy{
	font-weight: var(--WGT-B);
	letter-spacing: 0.1em;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.section_home_about .home_about_txt .home_about_body .copy{
		font-size: 24rem;
		line-height: 1.75;
	}
	.b-en_US .section_home_about .home_about_txt .home_about_body .copy{
		letter-spacing: 0.05em;
		font-size: 20rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about .home_about_txt .home_about_body .copy{
		font-size: 18rem;
		line-height: 1.5;
	}
	.b-en_US .section_home_about .home_about_txt .home_about_body .copy{
		letter-spacing: 0.05em;
		font-size: 16rem;
	}
}
.section_home_about .home_about_txt .home_about_body .body{
	font-weight: var(--WGT-B);
	letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
	.section_home_about .home_about_txt .home_about_body .body{
		font-size: 16rem;
		line-height: 1.75;
	}
	.b-en_US .section_home_about .home_about_txt .home_about_body .body{
		line-height: 1.6;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about .home_about_txt .home_about_body .body{
		font-size: 14rem;
		line-height: 1.6;
	}
}

@media screen and (min-width: 768px) {
	.section_home_about .home_about_img{
		position: absolute;
		top: 0;
		left: 0;
		width: calc(50% - 10rem);
		height: 560rem;
		margin-top: 0;
		border-radius: 0 24rem 24rem 0;
		overflow: hidden;
	}
	.section_home_about .home_about_img img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
@media screen and (max-width: 767px) {
	.section_home_about .home_about_img{
		padding-top: 2rem;
		background-color: var(--White);
	}
}




@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}

/* 日吉回漕店の強み、事業紹介SP */

@media screen and (min-width: 768px) {

	.section_home.section_home_strengths{
		position: relative;
		background-color: rgba(var(--White-rgb), 0.80);
		backdrop-filter: blur(12px);
		
		>header{
			.section_home_label{
				align-items: flex-end;
			}
		}
		.section_body{
			display: flex;
			flex-direction: column;
			flex-wrap: wrap;
			justify-content: center;
			gap: 40rem;
			max-height: 1604rem;
			margin-top: -176rem;
			.card{
				> a{
					display: flex;
					flex-direction: column;
					align-items: stretch;
					gap: 32rem;
					width: 620rem;
					padding: 40rem;
					background-color: var(--White);
					border-radius: 16rem;
					> .img{
						> p {
							width: 100%;
							height: 320rem;
							border-radius: 8rem;
							overflow: hidden;
							> img{
								width: 100%;
								height: 100%;
								object-fit: cover;
								transform: scale(1, 1);
								transform-origin: center center;
								transition: transform 0.4s ease-out;
							}
						}
					}
					> .text{
						display: flex;
						flex-direction: column;
						align-items: stretch;
						gap: 24rem;
						> .label{
							font-size: 24rem;
							font-weight: var(--WGT-B);
							line-height: 1.5;
							letter-spacing: 2.4rem;
							transition: color 0.4s ease-out;
						}
						> p{
							line-height: 1.75;
						} 
					}
					&:hover{
						> .img{
							> p {
								> img{
									transform: scale(1.05, 1.05);
								}
							}
						}
						> .text{
							> .label{
								color: var(--COL-GRE-01);
							}
						}
					}
				}
			}
		}
	}

	.b-en_US .section_home.section_home_strengths{
		.section_body{
			.card{
				> a{
					> .text{
						> .label{
							letter-spacing: 0;
						}
					}
				}
			}
		}
	}

}
@media screen and (max-width: 767px) {

	.section_home.section_home_strengths{
		/* background: url("../../img/home/bg_strengths_sp.jpg") 50% 50% no-repeat;
		background-attachment: fixed;
		background-size: cover; iOS NG */
		background-color: transparent;
		position: relative;
		&::before{
			position: fixed;
			top: 0;
			left: 0;
			display: block;
			width: 100%;
			height: 100vh;
			content: "";
			background: url("../../img/home/bg_strengths_sp.jpg") 50% 50% no-repeat;
			background-size: 100vw auto;
			z-index: -1;
		}
	}

	.section_home.section_home_strengths,
	.section_home.section_home_business{
		.section_body{
			display: flex;
			flex-direction: column;
			gap: 16rem;
			.card{
				> a{
					display: flex;
					flex-direction: column;
					align-items: stretch;
					gap: 20rem;
					padding: 20rem;
					background-color: var(--White);
					border-radius: 8rem;
					> .img{
						> p {
							width: 100%;
							height: 178rem;
							border-radius: 4rem;
							overflow: hidden;
							> img{
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						}
					}
					> .text{
						display: flex;
						flex-direction: column;
						align-items: stretch;
						gap: 20rem;
						> .label{
							font-size: 20rem;
							font-weight: var(--WGT-B);
							line-height: 1.5;
							letter-spacing: 2rem;
						}
						> p{
							line-height: 1.75;
						}
						.btn{
							display: flex;
							justify-content: center;
						}
					}
				}
			}
		}
	}
	.section_home_business{
		> header{
			.section_home_label {
				> .label {
					letter-spacing: -0.64rem;
				}
			}
		}
		.section_body{
			.card{
				> a{
					background-color: var(--COL-LBL-01) !important;
				}
			}
		}
	}

	.b-en_US .section_home.section_home_strengths,
	.b-en_US .section_home.section_home_business{
		.section_body{
			.card{
				> a{
					> .text{
						> .label{
							letter-spacing: 0;
						}
					}
				}
			}
		}
	}

}

/* 事業紹介PC */

@media screen and (min-width: 768px) {

	.section_home.section_home_business{
	
		.section_body{
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 40rem;
			.card{
				> a{
					display: flex;
					align-items: stretch;
					gap: 48rem;
					padding: 24rem 48rem 24rem 24rem;
					border-radius: 16rem;
					border: solid 1rem var(--COL-LBL-01);
					background-color: var(--COL-LBL-01);
					transition-property: all;
					> .img{
						> p {
							width: 768rem;
							height: 432rem;
							border-radius: 8rem;
							overflow: hidden;
							> img{
								width: 100%;
								height: 100%;
								object-fit: cover;
								transform: scale(1, 1);
								transform-origin: center center;
								transition: transform 0.4s ease-out;
							}
						}
						> .caption{
							display: block;
							padding-top: 8rem;
							font-size: 12rem;
						}
					}
					> .text{
						display: flex;
						flex-direction: column;
						justify-content: center;
						align-items: stretch;
						gap: 24rem;
						> .label{
							font-size: 32rem;
							font-weight: var(--WGT-B);
							line-height: 1.5;
							letter-spacing: 3.2rem;
							transition: color 0.4s ease-out;
						}
						> p{
							line-height: 1.75;
						} 
					}
					&:hover{
						border: solid 1rem var(--LightGray);
						background-color: var(--White);
						> .img{
							> p {
								> img{
									transform: scale(1.05, 1.05);
								}
							}
						}
						> .text{
							> .label{
								color: var(--COL-GRE-01);
							}
						}
					}
				}
				&:nth-of-type(2n){
					> a{
						flex-direction: row-reverse;
						padding: 24rem 24rem 24rem 48rem;
					}
				}
			}
		}
	}
	
	.b-en_US .section_home.section_home_business{
		.section_body{
			.card{
				> a{
					> .text{
						> .label{
							letter-spacing: 0;
						}
					}
				}
			}
		}
	}

}



@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}

/******************************************************
■ entry ■
******************************************************/

/* archive ********************/

.tag_list{
	display: flex;
	background: rgba(var(--Blue-rgb), 0.15);
}
@media screen and (min-width: 768px) {
	.tag_list{
		justify-content: flex-start;
		align-items: flex-start;
		gap: 32rem;	
		padding: 24rem 40rem;
		border-radius: 12rem;
	}
}
@media screen and (max-width: 767px) {
	.tag_list{
		flex-direction: column;
		align-items: flex-start;
		gap: 2rem;
		padding: 4rem 12rem 12rem;
		border-radius: 8rem;
	}
}
.tag_list > .label{
	display: flex;
	align-items: center;
	gap: 8rem;
	min-width: 5em;
	padding: 8rem 0;
	font-weight: var(--WGT-B);
	color: var(--Blue);
	line-height: 1.25;
}
@media screen and (min-width: 768px) {
	.tag_list > .label{
		font-size: 14rem;
	}
}
@media screen and (max-width: 767px) {
	.tag_list > .label{
		font-size: 12rem;
	}
}
.tag_list > .label::before{
	display: block;
	width: 1.154em;
	height: 1.154em;
	content: "";
	background: 50% 50% no-repeat;
	background-size: contain;
}
.tag_list > .label.area::before{
	background-image: url("../../img/common/icn_area.svg");
}
.tag_list > .label.tag::before{
	background-image: url("../../img/common/icn_tag.svg");
}

.tag_list > ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
@media screen and (min-width: 768px) {
	.tag_list > ul{
		gap: 8rem;
	}
}
@media screen and (max-width: 767px) {
	.tag_list > ul{
		gap: 4rem;
	}
}
.tag_list > ul > li > a{
		display: inline-block;
		padding: 0.5em 1em;
		line-height: 1.25;
		border-radius: 0.25em;
		background: var(--White);
		transition-property: background, color;
}
@media screen and (min-width: 768px) {
	.tag_list > ul > li > a{
		font-size: 15rem;
	}
	.tag_list > ul > li > a:hover{
		background: rgba(var(--Blue-rgb), 0.25);
	}
}
@media screen and (max-width: 767px) {
	.tag_list > ul > li > a{
		font-size: 12rem;
	}
}
.tag_list > ul > li > a.current{
	color: var(--White);
	background: rgba(var(--Blue-rgb), 1);
}

.tag_list + .tag_list{
	margin-top: 4rem;
}


/* .list_entry ********************/

@media screen and (min-width: 768px) {

	.list_entry{
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.list_entry.news{
		gap: 0 40rem;
	}
	.list_entry.news .list_item{
		width: calc(100%/2 - 40rem/2);
	}
	.section_home_news .list_entry.news{
		gap: 0;
	}
	.section_home_news .list_entry.news .list_item{
		flex-wrap: nowrap;
		width: calc(100%/3);
	}
	.section_home_news .list_entry.news .list_item + .list_item{
		border-left: 1rem solid var(--Text);
	}
	.list_entry.spot,
	.list_entry.course{
		gap: 80rem 40rem;
	}
	.list_entry.spot .list_item,
	.list_entry.course .list_item{
		width: calc(100%/3 - 40rem*2/3);
	}
	.list_entry.story{
		gap: 80rem 120rem;
	}
	.list_entry.story .list_item{
		width: calc(100%/2 - 120rem/2);
	}

}
@media screen and (max-width: 767px) {

	.list_entry{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 40rem;
	}
	.list_entry.spot{
		flex-direction: row;
		justify-content: flex-start;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 40rem 15rem;
		.list_item{
			width: calc(100%/2 - 15rem/2);
		}
	}
	
}


/* .list_item ********************/

/* 共通設定 */
.list_item > a{
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}
.list_item > a .entry_icn{
	display: none;
}
.list_item > a .entry_img{
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%; /* 360:270 */
	overflow: hidden;
	background: rgba(var(--Blue-rgb), 0.5) url("../../img/common/logo_ja_wht.svg") 50% 50% no-repeat;
	background-size: 50% auto;
}
@media screen and (min-width: 768px) {
	.list_item > a .entry_img{
		border-radius: 12rem;
	}
}
@media screen and (max-width: 767px) {
	.list_item > a .entry_img{
		border-radius: 8rem;
	}
}
.list_item > a .entry_img > img{     
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1, 1);
	transform-origin: center center;
	transition: transform 0.4s ease-out;
}
.list_item > a .entry_text{
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}
.list_item > a .entry_text .entry_title{
	font-weight: var(--WGT-B);
	line-height: 1.25;
	letter-spacing: 0.05em;
}
.list_item > a .entry_text .entry_summary{
	line-height: 1.5;
}

@media screen and (min-width: 768px) {
	.list_item > a .entry_text{
		position: relative;
	}
	.list_item > a .entry_text::before{
		position: absolute;
		bottom: 0;
		right: 0;
		display: block;
		width: 24rem;
		height: 24rem;
		content: "";
		border-radius: 50%;
		background-color: var(--Blue);
		transform-origin: center center;
		transform: scale(0, 0);
		transition: transform 0.3s ease-out;
	}
	.list_item > a .entry_text::after{
		position: absolute;
		bottom: 0;
		right: 0;
		display: block;
		width: 24rem;
		height: 24rem;
		content: "";
		background: url("../../img/common/arrow_wht.svg") 50% 50% no-repeat;
		background-size: 60% auto;
	}
	.list_item > a .entry_text .entry_title{
		font-size: 22rem;
		letter-spacing: 0.05em;
		transition: color 0.4s ease-out;
	}
	.list_item > a .entry_text .entry_summary{
		font-size: 15rem;
		line-height: 1.5;
	}
	.list_item > a .entry_text .entry_tags{
		padding-right: 26rem;
	}
	.list_item > a:hover .entry_img > img{
		transform: scale(1.07, 1.07);
	}
	.list_item > a:hover .entry_text::before{
		transform: scale(1, 1);
	}
	.list_item > a:hover .entry_text .entry_title{
		color: var(--Blue);
	}
}
@media screen and (max-width: 767px) {
	.list_item > a .entry_text .entry_title{
		font-size: 15rem;
	}
	.list_item > a .entry_text .entry_summary{
		font-size: 12rem;
		line-height: 1.25;
	}
}
body.b-ja .list_item > a .entry_img{
	background-image: url("../../img/common/logo_ja_wht.svg");
}
body.b-en_US .list_item > a .entry_img{
	background-image: url("../../img/common/logo_ja_wht.svg");
}
body.b-zh_TW .list_item > a .entry_img{
	background-image: url("../../img/common/logo_zh_wht.svg");
}

.list_entry.news .list_item > a{
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
	border-bottom: 1px solid var(--Text);
}
@media screen and (min-width: 768px) {
	.list_entry.news .list_item > a{
		padding: 24rem 16rem;
		background-color: rgba(var(--Blue-rgb), 0);
		transition-property: background;
	}
	.list_entry.news .list_item > a:hover{
		background-color: rgba(var(--Blue-rgb), 0.1);
	}
}
@media screen and (max-width: 767px) {
	.list_entry.news .list_item > a{
		padding: 16rem 0;
	}
}
.list_entry.news .list_item > a .entry_img{
	width: 35%;
	height: 0;
	padding-top: 26.25%; /* 360:270 */
	border-radius: 0;
}
.list_entry.news .list_item > a .entry_text{
	width: 60%;
}
.list_entry.news .list_item > a .entry_text .entry_tags .entry_date{
	padding-left: 0.5em;
	line-height: 1.5;
}
.list_entry.news .list_item > a .entry_text .entry_title{
	font-weight: var(--WGT-R);
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	.list_entry.news .list_item > a .entry_text .entry_title{
		padding-bottom: 12rem;
		font-size: 18rem;
	}
}
@media screen and (max-width: 767px) {
	.list_entry.news .list_item > a .entry_text .entry_title{
		font-size: 15rem;
	}
}
@media screen and (min-width: 768px) {
	.list_entry.news .list_item > a .entry_text::before,
	.list_entry.news .list_item > a .entry_text::after{
		bottom: -12rem;
		right: -4rem;
	}
}

.section_home_news .list_entry.news .list_item{
	padding: 0 16rem;
}
.section_home_news .list_entry.news .list_item > a{
	border-bottom: none;
}
@media screen and (min-width: 768px) {
	.section_home_news .list_entry.news .list_item > a{
		position: relative;
		margin: -16rem 0;
		padding: 16rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_news .list_entry.news .list_item > a{
		padding: 0;
	}
}
.section_home_news .list_entry.news .list_item > a .entry_img{
	padding-top: 28%;
	border-radius: 0;
}
.section_home_news .list_entry.news .list_item > a .entry_text{
	gap: 0.25em;
}
@media screen and (min-width: 768px) {
	.section_home_news .list_entry.news .list_item > a .entry_text .entry_tags{
		padding-right: 0;
	}
}
.section_home_news .list_entry.news .list_item > a .entry_text .entry_tags .entry_date{
	padding-left: 0.4em;
}
.section_home_news .list_entry.news .list_item > a .entry_text .entry_tags .entry_tag.news{
	min-width: 5em;
	padding: 0.2em 0.8em;
}
.section_home_news .list_entry.news .list_item > a .entry_text .entry_title{
	line-height: 1.25;
}
@media screen and (min-width: 768px) {
	.section_home_news .list_entry.news .list_item > a .entry_text .entry_title{
		padding-bottom: 0;
		font-size: 16rem;
	}
}
@media screen and (max-width: 767px) {
	.section_home_news .list_entry.news .list_item > a .entry_text .entry_title{
		font-size: 14rem;
	}
}
@media screen and (min-width: 768px) {
	.section_home_news .list_entry.news .list_item > a .entry_text::before,
	.section_home_news .list_entry.news .list_item > a .entry_text::after{
		width: 18rem;
		height: 18rem;
		bottom: -10rem;
		right: -10rem;
	}
}

@media screen and (max-width: 767px) {

	.list_entry.course .list_item > a .entry_img,
	.list_entry.story .list_item > a .entry_img{
		padding-top: 53.64%; /* 343:184 */
	}
}


/* entry_tags ********************/

.entry_tags{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
}
@media screen and (min-width: 768px) {
	.entry_tags{
		font-size: 12rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_tags{
		font-size: 10rem;
	}
}
.entry_tags .entry_tag{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.3em;
	padding: 0.6em 0.8em;
	line-height: 1;
	text-align: center;
	border-radius: 0.3em;
	background: var(--LightGray);
	transition-property: background;
}
.entry_tags .entry_tag > svg{
	width: 1.1em;
	height: 1.1em;
	fill: var(--Text);
}
@media screen and (min-width: 768px) {
	.entry_tags a.entry_tag:hover{
		background: rgba(var(--Blue-rgb), 0.25);
	}
}
.entry_tags .entry_tag.news{
	min-width: 6em;
	padding: 0.3em 0.8em;
	color: var(--White);
	background: var(--Text);
}
@media screen and (min-width: 768px) {
	.entry_tags .entry_tag.news{
		font-size: 13rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_tags .entry_tag.news{
		font-size: 12rem;
	}
}

@media screen and (min-width: 768px) {
	.entry .entry_header .entry_tags .entry_tag{
		font-size: 13rem;
	}
	.entry .entry_header .entry_tags .entry_tag.news{
		min-width: 7em;
		font-size: 15rem;
	}
}


/* entry_date ********************/

.entry_date{
	color: var(--DarkGray);
	line-height: 1;
}
@media screen and (min-width: 768px) {
	.entry_date{
		font-size: 15rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_date{
		font-size: 12rem;
	}
}


/* 個別ページ：共通 ＋ 新着情報　********************/

/* 共通（新着情報寄り） */

article.entry{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media screen and (min-width: 768px) {
	article.entry{
		gap: 80rem;
	}
}
@media screen and (max-width: 767px) {
	article.entry{
		gap: 40rem;
	}
}
article.entry .entry_header{
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
@media screen and (min-width: 768px) {
	article.entry .entry_header{
		gap: 24rem;
	}
}
@media screen and (max-width: 767px) {
	article.entry .entry_header{
		gap: 16rem;
	}
}
article.entry .entry_header .entry_header_txt{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8rem;
}
article.entry .entry_header .entry_header_txt .entry_title{
	font-weight: var(--WGT-B);
	line-height: 1.5;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
	article.entry .entry_header .entry_header_txt .entry_title{
		font-size: 28rem;
	}
}
@media screen and (max-width: 767px) {
	article.entry .entry_header .entry_header_txt .entry_title{
		font-size: 18rem;
	}
}

/* 新着情報 */

article.entry.entry_news .entry_header{
	width: 100%;
}
@media screen and (min-width: 768px) {
	article.entry.entry_news .entry_header{
		max-width: 1000rem;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_news .entry_header .entry_header_txt{
		padding-left: 48rem;
	}
}
article.entry.entry_news .entry_header .entry_header_txt .entry_tags .entry_date{
	padding-left: 0.5em;
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	article.entry.entry_news .entry_header .entry_header_txt .entry_tags a.entry_tag:hover{
		background: rgba(var(--Blue-rgb), 1);
	}
}
article.entry.entry_news .entry_header .entry_img{
	width: 100%;
}
@media screen and (min-width: 768px) {
	article.entry.entry_news .entry_header .entry_img{
		height: 480rem;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_news .entry_header .entry_img{
		height: 240rem;
	}
}
article.entry.entry_news .entry_header .entry_img > img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
article.entry.entry_news .entry_body{
	width: 100%;
}
@media screen and (min-width: 768px) {
	article.entry.entry_news .entry_body{
		max-width: 840rem;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_news .entry_body{
		padding: 0 24rem;
	}
}


/* スポット、モデルコース 共通　entry_header */

article.entry.entry_spot .entry_header,
article.entry.entry_course .entry_header{
	width: 100%;
}
@media screen and (min-width: 768px) {
	article.entry.entry_spot .entry_header,
	article.entry.entry_course .entry_header{
		flex-direction: row;
		justify-content: space-between;
	}
}
@media screen and (min-width: 768px) {
	article.entry.entry_spot .entry_header .entry_header_txt,
	article.entry.entry_course .entry_header .entry_header_txt{
		width: 35%;
		gap: 32rem;
		padding-top: 16rem;
		padding-left: 10%;
	}
	article.entry.entry_spot .entry_header .entry_header_txt .entry_title,
	article.entry.entry_course .entry_header .entry_header_txt .entry_title{
		font-size: 36rem;
	}
	article.entry.entry_spot .entry_header .entry_img,
	article.entry.entry_course .entry_header .entry_img{
		width: 60%;
		margin-top: -32rem;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_spot .entry_header .entry_header_txt,
	article.entry.entry_course .entry_header .entry_header_txt{
		padding-left: 48rem;
	}
	article.entry.entry_spot .entry_header .entry_header_txt .entry_title,
	article.entry.entry_course .entry_header .entry_header_txt .entry_title{
		font-size: 22rem;
	}
}
article.entry.entry_spot .entry_header .entry_introduction > p,
article.entry.entry_course .entry_header .entry_introduction > p{
	line-height: 1.75;
}
@media screen and (min-width: 768px) {
	article.entry.entry_spot .entry_header .entry_introduction > p,
	article.entry.entry_course .entry_header .entry_introduction > p{
		font-size: 17rem;
	}
}
article.entry.entry_spot .entry_header .entry_introduction.sp,
article.entry.entry_course .entry_header .entry_introduction.sp{
	padding: 0 24rem;
}
article.entry.entry_spot .entry_body,
article.entry.entry_course .entry_body{
	width: 100%;
}
@media screen and (min-width: 768px) {
	article.entry.entry_spot .entry_body,
	article.entry.entry_course .entry_body{
		max-width: 840rem;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_spot .entry_body,
	article.entry.entry_course .entry_body{
		padding: 0 24rem;
	}
}

/* 　写真画像 スライダー　 */

@media screen and (min-width: 768px) {
	.slide_imgs{
		width: 100%;
	}
}
.slide_imgs .slide_img{
	border-radius: 12rem 0 0 12rem;
	overflow: hidden;
}
@media screen and (min-width: 768px) {
	.slide_imgs .slide_img{
		/*height: 480rem;*/
		height: 33vw;
	}
}
@media screen and (max-width: 767px) {
	.slide_imgs .slide_img{
		height: 320rem;
	}
}
.slide_imgs .slide_img > img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.slide_imgs .slide_img.logo{
	background: rgba(var(--Blue-rgb), 0.5) url("../../img/common/logo_ja_wht.svg") 50% 50% no-repeat;
}
@media screen and (min-width: 768px) {
	.slide_imgs .slide_img.logo{
		background-size: 40% auto;
	}
}
@media screen and (max-width: 767px) {
	.slide_imgs .slide_img.logo{
		background-size: 60% auto;
	}
}
body.b-ja .slide_imgs .slide_img.logo{
	background-image: url("../../img/common/logo_ja_wht.svg");
}
body.b-en_US .slide_imgs .slide_img.logo{
	background-image: url("../../img/common/logo_ja_wht.svg");
}
body.b-zh_TW .slide_imgs .slide_img.logo{
	background-image: url("../../img/common/logo_zh_wht.svg");
}

/* 個別ページ：スポット　********************/

.entry_recommend{
	display: flex;
	align-items: stretch;
}
@media screen and (min-width: 768px) {
	.entry_recommend{
		gap: 40rem;
	}
	.entry_recommend > div{
		flex: 1;
	}
}
@media screen and (max-width: 767px) {
	.entry_recommend{
		flex-direction: column;
		padding: 0 16rem;
	}
}
.entry_recommend > .img{
	border-radius: 12rem;
	overflow: hidden;
}
@media screen and (min-width: 768px) {
	.entry_recommend > .img{
		height: 360rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_recommend > .img{
		height: 240rem;
	}
}
.entry_recommend > .img	> img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.entry_recommend > .txt{
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
@media screen and (min-width: 768px) {
	.entry_recommend > .txt{
		gap: 16rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_recommend > .txt{
		gap: 8rem;
		padding: 0 8rem;
	}
}
.entry_recommend > .txt > .label{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1em;
	font-weight: var(--WGT-B);
}
.entry_recommend > .txt > .label > .label_name{
	position: relative;
	display: inline-block;
	margin: -1em 0 0 -1em;
	padding: 0.5em 1.75em 0.75em 3.5em;
	border-radius: 999rem;
	border: solid 1rem var(--Text);
	background: var(--White) url("../../img/common/ill_flag.svg") 1.25em 50% no-repeat;
	background-size: 2em auto;
}
.entry_recommend > .txt > .label > .label_name::before,
.entry_recommend > .txt > .label > .label_name::after{
	position: absolute;
	top: 100%;
	left: 3.5em;
	content: "";
	border-top: 9rem solid var(--Text);
	border-right: 6rem solid transparent;
	border-left: 6rem solid transparent;
}
.entry_recommend > .txt > .label > .label_name::after{
	border-top-color: var(--White);
	transform: translateY(-2rem);
}
.entry_recommend > .txt > .label > .label_title{
	letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
	.entry_recommend > .txt > .label > .label_title{
		font-size: 28rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_recommend > .txt > .label > .label_title{
		font-size: 18rem;
	}
}
.entry_recommend > .txt .body > p{
	line-height: 1.75;
}

@media screen and (max-width: 767px) {
	.entry_spotinfo{
		padding: 0 16rem;
	}
}
.entry_spotinfo .map{
	margin-top: 48rem;
}
.entry_spotinfo .dl_row.dl_line dd p{
	line-height: 1.75;
}
.entry_spotinfo .dl_row.dl_line dd p > svg{
	margin-right: 0.5em;
}
.entry_spotinfo .dl_row.dl_line dd p + p{
	margin-top: 0.5em;
}
.entry_spotinfo .dl_row.dl_line dd p.time_bus_detail{
	padding-left: 2em;
}
.entry_spotinfo .dl_row.dl_line dt .label_blk{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4rem;
	padding: 0 16rem;
	color: var(--White);
	text-align: center;
	font-size: 0.9375em;
	border-radius: 999rem;
	background: var(--Text);
}
@media screen and (min-width: 768px) {
	.entry_spotinfo .dl_row.dl_line dt .label_blk{
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.entry_spotinfo .dl_row.dl_line dt .label_blk{
		width: 7em;
	}
}

/* 個別ページ：モデルコース　********************/

.list_schedule{
	position: relative;
	display: flex;
	flex-direction: column;
}
.list_schedule::after{
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	display: block;
	width: 1px;/* remだと縮小表示で消える */
	height: 100%;
	content: "";
	background-color: var(--Text);
}
@media screen and (min-width: 768px) {
	.list_schedule{
		gap: 80rem;
	}
	.list_schedule::after{
		left: 50%;
	}
}
@media screen and (max-width: 767px) {
	.list_schedule{
		gap: 60rem;
		padding-left: 16rem;
		padding-right: 16rem;
	}
	.list_schedule::after{
		left: 36rem;
	}
}

.item_schedule{
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--grd-Blue01);
}
.item_schedule:nth-of-type(2n){
	background: var(--grd-Blue02);
}

@media screen and (min-width: 768px) {
	.item_schedule{
		flex-wrap: wrap;
		justify-content: center;
		gap: 16rem 120rem;
		height: 400rem;
		padding: 40rem;
		border-radius: 16rem;
	}
}
@media screen and (max-width: 767px) {
	.item_schedule{
		align-items: stretch;
		gap: 16rem;
		padding: 32rem 24rem 32rem 48rem;
		border-radius: 12rem;
	}
}

.item_schedule::before{
	position: absolute;
	transform: translateX(-50%) translateY(-50%);
	display: block;
	content: "";
	border-radius: 50%;
	z-index: 10;
	background-color: var(--Text);
	border: solid 1rem var(--Text);
}
@media screen and (min-width: 768px) {
	.item_schedule::before{
		top: 50%;
		left: 50%;
		width: 11rem;
		height: 11rem;
	}
}
@media screen and (max-width: 767px) {
	.item_schedule::before{
		top: 48rem;
		left: 20rem;
		width: 9rem;
		height: 9rem;
	}
}
		
.item_schedule > .label_trnsf{
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.5em;
	font-weight: var(--WGT-B);
	background-color: var(--White);
	border: solid 1rem var(--Text);
	z-index: 10;
}
@media screen and (min-width: 768px) {
	.item_schedule > .label_trnsf{
		top: -62rem;
		left: 50%;
		transform: translateX(-50%);
		min-width: 240rem;
		height: 44rem;
		border-radius: 99rem;
	}
}
@media screen and (max-width: 767px) {
	.item_schedule > .label_trnsf{
		top: -48rem;
		left: 0;
		height: 36rem;
		border-radius: 12rem;
	}
}

.item_schedule > .label{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.item_schedule > .label > .time{
	font-weight: var(--WGT-B);
	line-height: 1.0;
	letter-spacing: 0.05em;
	color: var(--Blue);
}
.item_schedule > .label > .title{
	font-weight: var(--WGT-B);
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.item_schedule > .img > img{
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.item_schedule > .txt{
	line-height: 1.75;
}
@media screen and (min-width: 768px) {
	.item_schedule > .label{
		order: 2;
		gap: 16rem;
		width: 480rem;
		padding-left: 24rem;
	}
	.item_schedule > .label > .time{
		font-size: 40rem;
	}
	.item_schedule > .label > .title{
		font-size: 22rem;
	}
	.item_schedule > .img{
		order: 1;
		height: 320rem;
		width: 480rem;
	}
	.item_schedule > .img > img{
		border-radius: 12rem;
	}
	.item_schedule > .txt{
		order: 3;
		width: 480rem;
		padding-left: 24rem;
	}
	.item_schedule > .btn_col{
		order: 4;
		width: 480rem;
		padding-left: 24rem;
	}
	.item_schedule:nth-of-type(2n) > .label{
		order: 1;
	}
	.item_schedule:nth-of-type(2n) > .img{
		order: 4;
	}
	.item_schedule:nth-of-type(2n) > .txt{
		order: 2;
	}
	.item_schedule:nth-of-type(2n) > .btn_col{
		order: 3;
	}
}
@media screen and (max-width: 767px) {
	.item_schedule > .label{
		gap: 8rem;
	}
	.item_schedule > .label > .time{
		font-size: 32rem;
	}
	.item_schedule > .label > .title{
		font-size: 18rem;
	}
	.item_schedule > .img{
		width: 100%;
		height: 176rem;
	}
	.item_schedule > .img > img{
		border-radius: 8rem;
	}
	.item_schedule > .txt{
	}
}

@media screen and (min-width: 768px) {
	.item_schedule.no_img{
		height: 182rem;
	}
	.item_schedule.no_img > .img{
		height: 100rem;
	}
}
@media screen and (max-width: 767px) {
	.item_schedule.no_img > .img{
		display: none;
	}
}

/* 個別ページ：ストーリー　********************/

article.entry.entry_story .entry_header{
	width: 100%;
}
@media screen and (min-width: 768px) {
	article.entry.entry_story .entry_header{
		max-width: 1000rem;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_story .entry_header{
		padding: 0 8rem;
	}
}
article.entry.entry_story .entry_header .entry_img{
	width: 100%;
	overflow: hidden;
}
@media screen and (min-width: 768px) {
	article.entry.entry_story .entry_header .entry_img{
		height: 480rem;
		border-radius: 12rem;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_story .entry_header .entry_img{
		height: 240rem;
		margin-top: -8rem;
		border-radius: 8rem;
	}
}
article.entry.entry_story .entry_header .entry_img > img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
article.entry.entry_story .entry_header .entry_header_txt{
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
@media screen and (min-width: 768px) {
	article.entry.entry_story .entry_header .entry_header_txt{
		gap: 24rem;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_story .entry_header .entry_header_txt{
		gap: 16rem;
		padding: 0 16rem;
	}
}
article.entry.entry_story .entry_header .entry_header_txt .entry_title{
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
article.entry.entry_story .entry_header .entry_header_txt .entry_info dl{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0.5em;
}
article.entry.entry_story .entry_header .entry_header_txt .entry_info dl dt::after{
	content: " :";
}
@media screen and (min-width: 768px) {
	article.entry.entry_story .entry_header .entry_header_txt .entry_title{
		gap: 24rem;
	}
	article.entry.entry_story .entry_header .entry_header_txt .entry_title .title{
		font-size: 30rem;
		line-height: 1.25;
		letter-spacing: 0.05em;
	}
	article.entry.entry_story .entry_header .entry_header_txt .entry_title .spot{
		font-size: 18rem;
		letter-spacing: 0.05em;
	}
	article.entry.entry_story .entry_header .entry_header_txt .entry_lead{
		font-size: 17rem;
		letter-spacing: 0.05em;
		line-height: 2;
	}
	article.entry.entry_story .entry_header .entry_header_txt .entry_info{
		font-size: 15rem;
		letter-spacing: 0.05em;
		line-height: 1.75;
	}

}
@media screen and (max-width: 767px) {
	article.entry.entry_story .entry_header .entry_header_txt .entry_title{
		gap: 12rem;
	}
	article.entry.entry_story .entry_header .entry_header_txt .entry_title .title{
		font-size: 18rem;
		line-height: 1.25;
		letter-spacing: 0.05em;
	}
	article.entry.entry_story .entry_header .entry_header_txt .entry_title .spot{
		font-size: 14rem;
	}
	article.entry.entry_story .entry_header .entry_header_txt .entry_lead{
		font-size: 14rem;
		line-height: 2;
	}
	article.entry.entry_story .entry_header .entry_header_txt .entry_info{
		font-size: 12rem;
		letter-spacing: 0.05em;
		line-height: 1.75;
	}

}

article.entry.entry_story .entry_body{
	width: 100%;
}
@media screen and (min-width: 768px) {
	article.entry.entry_story .entry_body{
		max-width: 840rem;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	article.entry.entry_story .entry_body{
		padding: 0 24rem;
	}
}





@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}



/* 個別ページ：共通 フッター　********************/

/* 　選択された関連記事　 */

.section_related{
	display: flex;
	flex-direction: column;
	gap: 24rem;
}
.section_related .label_related{
	height: 0px;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	margin: 0;
}
.section_related .related_posts{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24rem;
}
.section_related .related_posts .list_item > a{
	position: relative;
	padding: 16rem;
	border-radius: 12rem;
	background: var(--White);
	overflow: hidden;
}
@media screen and (min-width: 768px) {
	.section_related .related_posts .list_item > a{
		flex-direction: row-reverse;
		gap: 40rem;
		padding-left: 88rem;
	}
	.section_related .related_posts .list_item > a .entry_img{
		width: 41.24%;
		padding-top: 30.93%; /* 360:270 */
		border-radius: 8rem;
	}
	.section_related .related_posts .list_item > a .entry_text{
		width: 53.61%;
		padding-top: 12rem;
		gap: 12rem;
	}
	.section_related .related_posts .list_item > a .entry_text .entry_title{
		padding-right: 0;
	}
	.section_related .related_posts .list_item > a .entry_text::before,
	.section_related .related_posts .list_item > a .entry_text::after{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.section_related .related_posts .list_item > a{
		gap: 16rem;
	}
	.section_related .related_posts .list_item > a .entry_img{
		padding-top: 57.88%; /* 311:180 */
	}
	.section_related .related_posts .list_item > a .entry_text{
		gap: 8rem;
	}
}
.section_related .related_posts .list_item > a .entry_icn{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 64rem;
	height: 60rem;
	padding: 4rem;
	gap: 4rem;
	border-radius: 0 0 8rem 0;
	background: var(--Blue);
	z-index: 10;
}
.section_related .related_posts .list_item > a .entry_icn > svg{
	width: 16rem;
	height: 16rem;
	fill: var(--White);
}
.section_related .related_posts .list_item > a .entry_icn > .label{
	font-size: 11rem;
	font-weight: var(--WGT-B);
	line-height: 1;
	color: var(--White);
	text-transform: capitalize;
}

/* 共通 entry_footer（○○をもっと見る entry_otherpost） */

article.entry .entry_footer{
	display: flex;
	flex-direction: column;
	align-items: stretch; /* centerだと中のslideの幅が際限なく広がるのでNG */
	width: 100%;
}
@media screen and (min-width: 768px) {
	article.entry .entry_footer{
		gap: 80rem;
		max-width: 1160rem;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	article.entry .entry_footer{
		gap: 40rem;
	}
}

.entry_otherpost .label_contents_header{
	align-items: stretch;
	width: 100%;
}
@media screen and (min-width: 768px) {
	.entry_otherpost .label_contents_header{
		gap: 0;
		margin-bottom: 32rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_otherpost .label_contents_header{
		gap: 8rem;
		margin-bottom: 20rem;
	}
}
.entry_otherpost .label_contents_header .label_icn{
	gap: 4rem;
}
@media screen and (min-width: 768px) {
	.entry_otherpost .label_contents_header .label_icn{
		width: 80rem;
		height: auto;
		border-radius: 12rem 0 0 12rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_otherpost .label_contents_header .label_icn{
		width: 48rem;
		height: auto;
	}
}

@media screen and (min-width: 768px) {
	.entry_otherpost .label_contents_header .label_icn > svg{
		width: 20rem;
		height: 20rem;
	}
	.entry_otherpost .label_contents_header .label_icn > .label{
		font-size: 14rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_otherpost .label_contents_header .label_icn > svg{
		width: 14rem;
		height: 14rem;
	}
	.entry_otherpost .label_contents_header .label_icn > .label{
		font-size: 11rem;
	}
}
.entry_otherpost .label_contents_header .label_txt{
	flex-grow: 1;
	font-weight: var(--WGT-B);
	letter-spacing: 0.05em;
	line-height: 1.5;
	background: rgba(var(--Blue-rgb), 0.15);
}
@media screen and (min-width: 768px) {
	.entry_otherpost .label_contents_header .label_txt{
		padding: 20rem 24rem;
		border-radius: 0 12rem 12rem 0;
		font-size: 22rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_otherpost .label_contents_header .label_txt{
		padding: 16rem;
		border-radius: 8rem 0 0 8rem;
		font-size: 16rem;
	}
}

@media screen and (min-width: 768px) {
	.entry_otherpost .list_entry.list_slide{
		margin-left: -20rem;
		margin-right: -20rem;
	}
	.entry_otherpost .list_entry.list_slide .list_item{
		padding: 0 20rem;
		width: calc(100%/3);
	}
}
@media screen and (max-width: 767px) {
	.entry_otherpost .list_entry.list_slide{
		margin-left: 8rem;
		margin-right: 8rem;
		margin-bottom: 20rem;
	}
	.entry_otherpost .list_entry.list_slide .list_item{
		padding: 0 7rem;
		width: calc(100%/2);
	}
}


@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}




/* WP本文欄の中 ********************/

@media screen and (max-width: 767px) {
	.entry .entry_body.section_body{
		display: block;
	}
}

@media screen and (min-width: 768px) {
	.entry .entry_body{
		font-size: 17rem;
	}
}
.entry .entry_body > h2{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 8rem;
	margin: 2em 0 1.5em;
	font-weight: var(--WGT-B);
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	.entry .entry_body > h2{
		font-size: 22rem;
		letter-spacing: 1rem;
	}
}
@media screen and (max-width: 767px) {
	.entry .entry_body > h2{
		font-size: 16rem;
		letter-spacing: 0.8rem;
	}
}
.entry .entry_body > h3{
	margin: 1.5em 0 1.0em;
	font-size: 1.10em;
	font-weight: var(--WGT-B);
}
.entry .entry_body > img{
	display: block;
	width: 100%;
	/*max-width: 600px;*/
	max-height: 600px;
	margin: 2em auto;
	object-fit: contain;
}
.entry .entry_body > blockquote{
	margin: 2em 0;
	padding: 2em 2em;
	background-color: rgba(var(--Blue-rgb), 0.1);
	border-radius: 8rem;
}
.entry .entry_body > ul{
	margin: 2em 0;
	padding-left: 2em;
	list-style: disc;
}
.entry .entry_body > ul > li{
	letter-spacing: 0;
}
.entry .entry_body > ul > li + li{
	margin-top: 0.5em;
}
.entry .entry_body > ol{
	margin: 2em 0;
	padding-left: 2em;
}
.entry .entry_body > ol > li{
	letter-spacing: 0;
}
.entry .entry_body > ol > li + li{
	margin-top: 0.5em;
}
.entry .entry_body > p{
	line-height: 2em;
}
.entry .entry_body > p + p{
	padding-top: 2em;
}
.entry .entry_body > p > a{
	text-decoration: underline;
}

/* WP画像キャプション */
.entry .entry_body > .wp-caption{
	width: 100% !important;
	max-width: 560px;
	margin: 2em auto;
}
.entry .entry_body > .wp-caption img{
	margin-bottom: 0.5em;
}
.entry .entry_body > .wp-caption-text{
	font-size: 0.9em;
	text-align: center;
}


/* wp-pagenavi ********************/

.wp-pagenavi{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8rem;
}
@media screen and (min-width: 768px) {
	.wp-pagenavi{
	    padding-top: 80rem;
	}
}
@media screen and (max-width: 767px) {
	.wp-pagenavi{
	    padding-top: 40rem;
	}
}
.wp-pagenavi > a,
.wp-pagenavi > .current{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32rem;
	height: 32rem;
	font-size: 15rem;
	font-weight: var(--WGT-B);
	color: var(--Text);
	background-color: var(--White);
	border-radius: 4rem;
}
.wp-pagenavi > .current{
	color: var(--White);
	background-color: var(--Text);
}
.wp-pagenavi > .pages{
	display:none;
}

.wp-pagenavi > a.nextpostslink,
.wp-pagenavi > a.previouspostslink{
	width: 40rem;
	height: 40rem;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url("../../img/common/arrow.svg") 50% 50% no-repeat;
	background-size: 40%;
	border-radius: 50%;
	border: solid 1rem var(--Text);
}
.wp-pagenavi > a.previouspostslink{
	margin-right: 2em;
	transform: rotate(180deg);
}
.wp-pagenavi > a.nextpostslink{
	margin-left: 2em;
}

.pagenavi{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8rem;
	width: 92%;
	max-width: 1000rem;
	margin: 0 auto;
}
.pagenavi > .pagenavi_prev,
.pagenavi > .pagenavi_next{
	min-width: 8em;
}
.pagenavi > .pagenavi_prev a,
.pagenavi > .pagenavi_arch a,
.pagenavi > .pagenavi_next a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40rem;
	padding: 0 1.5em;
	font-weight: var(--WGT-B);
	color: var(--Text);
	border: solid 1rem var(--Text);
	background: var(--White);
	border-radius: 999rem;
	transition-property: color, background;
}
@media screen and (min-width: 768px) {
	.pagenavi > .pagenavi_prev a,
	.pagenavi > .pagenavi_arch a,
	.pagenavi > .pagenavi_next a{
		gap: 8rem;
		font-size: 15rem;
	}
	.pagenavi > .pagenavi_prev a:hover,
	.pagenavi > .pagenavi_arch a:hover,
	.pagenavi > .pagenavi_next a:hover{
		color: var(--White);
		background: var(--Text);
	}
}
@media screen and (max-width: 767px) {
	.pagenavi > .pagenavi_prev a,
	.pagenavi > .pagenavi_arch a,
	.pagenavi > .pagenavi_next a{
		gap: 0;
		font-size: 12rem;
	}
}

.pagenavi > .pagenavi_prev a::before,
.pagenavi > .pagenavi_next a::after{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24rem;
	height: 24rem;
	margin-right: -12rem;
	/*content: ">";
	font-size: 14rem;
	color: var(--White);*/
	content: "";
	background: url("../../img/common/arrow.svg") 50% 50% no-repeat;
	background-size: 60%;
	border-radius: 50%;
	transition-property: background;
}
.pagenavi > .pagenavi_prev a::before{
	/*content: "<";*/
	margin-right: 0;
	margin-left: -12rem;
	transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
	.pagenavi > .pagenavi_prev a:hover::before,
	.pagenavi > .pagenavi_next a:hover::after{
		background-color: var(--White);
	}
}

@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}

/******************************************************
■ company/profile　■
******************************************************/

/* 営業拠点 */




/******************************************************
■ recruit　■
******************************************************/


/* ある社員の1日 */

@media screen and (min-width: 768px) {

	.list_oneday{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 40rem;
		.card{
			flex: 1;
			> a{
				display: flex;
				flex-direction: column;
				align-items: stretch;
				gap: 32rem;
				padding: 40rem;
				background-color: var(--White);
				border: solid 1rem var(--LightGray);
				border-radius: 16rem;
				> .img{
					> p {
						width: 100%;
						height: 320rem;
						border-radius: 8rem;
						overflow: hidden;
						> img{
							width: 100%;
							height: 100%;
							object-fit: cover;
							transform: scale(1, 1);
							transform-origin: center center;
							transition: transform 0.4s ease-out;
						}
					}
				}
				> .text{
					display: flex;
					flex-direction: column;
					align-items: stretch;
					gap: 24rem;
					> .label{
						font-size: 24rem;
						font-weight: var(--WGT-B);
						line-height: 1.5;
						letter-spacing: 2.4rem;
						transition: color 0.4s ease-out;
					}
					> p{
						line-height: 1.75;
					} 
				}
				&:hover{
					> .img{
						> p {
							> img{
								transform: scale(1.05, 1.05);
							}
						}
					}
					> .text{
						> .label{
							color: var(--COL-GRE-01);
						}
					}
				}
			}
		}
	}

}
@media screen and (max-width: 767px) {

	.list_oneday{
		display: flex;
		flex-direction: column;
		gap: 16rem;
		.card{
			> a{
				display: flex;
				flex-direction: column;
				align-items: stretch;
				gap: 20rem;
				padding: 20rem;
				background-color: var(--White);
				border: solid 1rem var(--LightGray);
				border-radius: 8rem;
				> .img{
					> p {
						width: 100%;
						height: 178rem;
						border-radius: 4rem;
						overflow: hidden;
						> img{
							width: 100%;
							height: 100%;
							object-fit: cover;
						}
					}
				}
				> .text{
					display: flex;
					flex-direction: column;
					align-items: stretch;
					gap: 20rem;
					> .label{
						font-size: 20rem;
						font-weight: var(--WGT-B);
						line-height: 1.5;
						letter-spacing: 2rem;
					}
					> p{
						line-height: 1.75;
					}
					.btn{
						display: flex;
						justify-content: center;
					}
				}
			}
		}
	}

}



/******************************************************
■ recruit/oneday_archive/oneday01　■
******************************************************/



@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/******************************************************
■ お問い合わせ contact ■
******************************************************/

/* フォーム ***************************/


table.table_form tr th{
    width: 14em;
	padding: 0.6em;
    font-weight: var(--WGT-B);
	text-align: left;
	vertical-align: top;
}
table.table_form tr td {
	padding: 0.6em;
	text-align: left;
	vertical-align: top;
}
table.table_form tr th label{
}

table.table_form.confirm tr th{
	padding: 1em 0.6em;
}
table.table_form.confirm tr td {
	padding: 1em 0.6em;
	border-bottom: solid 1rem var(--LightGray);
}

@media screen and (max-width: 767px) {

	table.table_form tr th{
		display:block;
		width: 100%;
		padding: 0.6em 0 0;
	}
	table.table_form tr td {
		display:block;
		width: 100%;
		padding: 0.6em 0;
	}

	table.table_form.confirm tr th{
		padding: 1em 0 0;
	}
	table.table_form.confirm tr td {
		padding: 1em 0;
		border-bottom: solid 1rem var(--LightGray);
	}

}

.contact_form input[type="text"],
.contact_form textarea,
.contact_form input[type="tel"],
.contact_form input[type="email"]{
	width: 100%;
	padding:0.6em;
	background-color:var(--COL-LBL-01);
	border:solid 1rem var(--LightGray);
	border-radius:8rem;
	-webkit-appearance: none;
}

.contact_form select,
.contact_form input[type="date"] {
	padding:0.6em;
	background-color:var(--COL-LBL-01);
	border:solid 1rem var(--LightGray);
	border-radius:8rem;
	/* -webkit-appearance: none;セレクトボックス系は外さない */
}
.contact_form select#category{
	width: 100%;
}

.contact_form input[type="file"]{
	width: 100%;
}
.contact_form input[type="file"] + input[type="file"]{
	margin-top: 0.6em;
}

.contact_form input[type="checkbox"],
.contact_form input[type="radio"]{
	vertical-align: middle;
}

.contact_form input[type="text"]#zip1{
	width: 4em;
}
.contact_form input[type="text"]#zip2{
	width: 5em;
}
.contact_form input[type="text"]#zip3{
	width: 7em;
}
.contact_form input[type="date"].datepicker{
	width: auto;
}

#mail2,
#spref,
#address,
#address1,
#address2,
#datem2,
#dated2,
#hour2,
#strt{
	margin-top: 0.6em;
}
.contact_form .form_zip{
	display: inline-block;
}
.contact_form .form_mail2{
	display: block;
}

.must{
	display:inline-block;
	margin-left: 0.8em;
	padding: 0.1em 0.5em;
	background-color: var(--COL-GRE-01);
	color: var(--White);
	font-size: 13rem;
	border-radius:4rem;
}

.form_notice{
	margin-top: 0.6em;
	font-size: 15rem;
	letter-spacing: 0.05em;
}


/* .form_terms ***************/
.form_terms{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	margin: 2em 0 0;
	padding: 1em;
	/*border-top: solid 1rem var(--Gray);
	border-bottom: solid 1rem var(--Gray);*/
}
.form_terms_iframe{
  display: inline-block;
	width: 100%;
	height: 300rem;
	margin: 1em 0;
	background-color: var(--White);
    border: solid 1rem var(--COL-GRE-04);
    overflow:auto; /* scrollからautoに変更 */
    -webkit-overflow-scrolling:touch;
}
.form_terms_iframe iframe{
  width:100%;
  height:100%;
  border:none;
  display:block;
}

@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

    .form_terms{
        padding: 1em 0;
    }

}

.form_terms_check{
	text-align: center;
}

.form_btn{
	margin: 1em 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	text-align: center;
}
.form_btn.confirm{
	flex-direction: row;
}

.form_btn input[type="submit"],
.form_btn input[type="button"] {
	-webkit-appearance: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 8em;
	height: 48rem;
	margin: 16rem 0.2em 0;
	font-weight: var(--WGT-B);
	color:var(--White);
    letter-spacing: 0.05em;
	background: var(--GRD-GRE-01);
	border: solid 1rem var(--COL-GRE-01);
	border-radius: 999rem;
	transition: all 0.3s ease-out;
	position: relative;
	cursor:pointer;
	line-height: 1;
}
.form_btn input[type="submit"] {
	width: 16em;
    font-size: 1.2em;
}
.form_btn input[type="submit"].backbtn,
.form_btn input[type="button"] {
	margin-right: 4rem;
}
.form_btn input[type="submit"]:hover{
    color: var(--COL-GRE-01);
	background:var(--White);
}
.form_btn input[type="submit"].backbtn:hover,
.form_btn input[type="button"]:hover{
    color: var(--COL-GRE-01);
	background:var(--White);
}

input[type="button"].addbtn {
	-webkit-appearance: none;
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0.3em;
	padding: 0.5em 0.8em;
	border-radius: 4rem;
	background-color: var(--Gray);
	border: solid 1rem var(--Gray);
	transition: all 0.3s ease-out;
	position: relative;
	cursor:pointer;
	line-height: 1;
	color:var(--White);
}


/* エラーメッセージ */

.box_errmsg{
	padding-bottom: 1em;
	text-align: center;
}
.errmsg,
.mw_wp_form .error,
.wpcf7-not-valid-tip{
	display:inline-block !important;
	margin-top:3rem;
	margin-left: 5rem;
	padding:4rem 8rem;
	background-color:var(--Red);
	border-radius:0;
	font-size:14rem !important;
	line-height: 1;
/*	font-weight:bold !important;*/
	color:var(--White) !important;
}

/* 確認画面 */
.mw_wp_form_confirm .label_name,
.mw_wp_form_confirm .form_notice,
.mw_wp_form_confirm .form_mail2,
.mw_wp_form_confirm input[type="button"].addbtn{
	display:none;
}

.mw_wp_form_confirm .contact_lead_input,
.mw_wp_form_input .contact_lead_confirm{
    display: none;
}
.mw_wp_form_input .contact_lead_input,
.mw_wp_form_confirm .contact_lead_confirm{
    display: block;
}

/* 完了画面 */
.form_thx{
	padding: 3em 3em 2em;
	background-color: var(--COL-LBL-01);
	border-radius: 16rem;
}

.form_thx_label{
    display: flex;
    flex-direction: column;
    align-items: center;
	padding-bottom: 30rem;
	font-size: 20rem;
    font-weight: var(--WGT-B);
	line-height: 1.6;
	color: var(--COL-GRE-01);
	text-align: center;
}

.form_thx_text{
	padding-bottom: 50rem;
}

.form_thx_text ul,
.form_thx_text p,
.mw_wp_form_complete p{
}
.form_thx_text p + ul,
.form_thx_text p + p,
.mw_wp_form_complete p + p{
	padding-top: 1em;
}


@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/******************************************************
.page-top
******************************************************/

.page-top{
    position: fixed;
    z-index: 300;
    opacity: 0;
	transition: opacity .5s ease-in-out;
}
@media screen and (min-width: 768px) {
	.page-top{
		right: 24rem;
		bottom: 32rem;
		width: 48rem;
		height: 48rem;
	}
}
@media screen and (max-width: 767px) {
	.page-top{
		right: 8rem;
		bottom: 8rem;
		width: 28rem;
		height: 28rem;
	}
}
.page-top > a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 999rem;
	border: solid 1rem var(--Blue);
	background-color: var(--White);
	transition-property: background;
}
.page-top > a > svg{
	transform: rotate(-90deg);
	fill: var(--Blue);
	transition: fill .5s ease-out;
}
@media screen and (min-width: 768px) {
	.page-top > a > svg{
		width: 40%;
		height: 40%;
	}
}
@media screen and (max-width: 767px) {
	.page-top > a > svg{
		width: 50%;
		height: 50%;
	}
}
.page-top > a:hover{
	background-color: var(--Blue);
}
.page-top > a:hover > svg{
	fill: var(--White);
}

.page-top.active{
    opacity: 1;
}


/******************************************************
.footer
******************************************************/

@media screen and (min-width: 768px) {
	.footer{
		margin-top: 80rem;
	}
}
@media screen and (max-width: 767px) {
	.footer{
		margin-top: 40rem;
	}
}

.footer_inner{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media screen and (min-width: 768px) {
	.footer_inner{
		background: rgba(var(--Blue-rgb), 0.15) url("../../img/common/bg_footer_pc.png") 50% 0 no-repeat;
		background-size: 2500rem 104rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_inner{
		background: rgba(var(--Blue-rgb), 0.15) url("../../img/common/bg_footer_sp.png") 0 0 no-repeat;
		background-size: 100% auto;
	}
}
.footer_inner::before{
	display: block;
	width: 100%;
	content: "";
	background: url("../../img/common/logo.svg") 50% 50% no-repeat;
	background-size: contain;
}
@media screen and (min-width: 768px) {
	.footer_inner::before{
		height: 113rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_inner::before{
		height: 80rem;
	}
}
body.b-ja .footer_inner::before{
	background-image: url("../../img/common/logo_ja.svg");
}
body.b-en_US .footer_inner::before{
	background-image: url("../../img/common/logo_ja.svg");
}
body.b-zh_TW .footer_inner::before{
	background-image: url("../../img/common/logo_zh.svg");
}

.footer_nav > .global_nav{
	display: flex;
}
@media screen and (min-width: 768px) {
	.footer_nav > .global_nav{
		justify-content: center;
		align-items: flex-start;
		gap: 88rem;
		padding: 48rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_nav > .global_nav{
		flex-direction: column;
		align-items: flex-start;
		gap: 24rem;
		padding: 32rem 24rem 24rem 24rem;
	}
}

.footer_nav > .global_nav .gnav_list{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8rem;
}
.footer_nav > .global_nav .gnav_list > li {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 1em;
}
.footer_nav > .global_nav .gnav_list > li > a{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
}
.footer_nav > .global_nav .gnav_list > li > a::before{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1em;
	height: 1em;
	content: "";
	border-radius: 50%;
	background: var(--Blue) url("../../img/common/arrow_wht.svg") 50% 50% no-repeat;
	background-size: 60% auto;
}
.footer_nav > .global_nav .gnav_list > li > a .label{
	line-height: 1.75;
	text-transform: capitalize;
}
@media screen and (min-width: 768px) {
	.footer_nav > .global_nav .gnav_list > li > a .label{
		font-size: 17rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_nav > .global_nav .gnav_list > li > a .label{
		font-size: 16rem;
	}
}

.footer_nav > .global_nav .gnav_list > li > ul{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.footer_nav > .global_nav .gnav_list > li > ul > li{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.footer_nav > .global_nav .gnav_list > li > ul > li::before,
.footer_nav > .global_nav .gnav_list > li > ul > li:last-child::after{
	display: block;
	width: 1rem;
	height: 0.6em;
	content: "";
	background-color: var(--Gray);
}
.footer_nav > .global_nav .gnav_list > li > ul > li > a{
	display: inline-block;
	padding: 0 0.75em;
}
.footer_nav > .global_nav .gnav_list > li > ul > li > a .label{
	line-height: 1.75;
	text-transform: capitalize;
}
@media screen and (min-width: 768px) {
	.footer_nav > .global_nav .gnav_list > li > ul > li > a .label{
		font-size: 15rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_nav > .global_nav .gnav_list > li > ul > li > a .label{
		font-size: 12rem;
	}
	.footer_nav > .global_nav .gnav_list > li > ul > li > a .label > span{
		display: none;
	}
}

.footer_nav > .global_nav .snav_list{
	display: flex;
}
@media screen and (min-width: 768px) {
	.footer_nav > .global_nav .snav_list{
		flex-direction: column;
		align-items: flex-start;
		gap: 8rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_nav > .global_nav .snav_list{
		justify-content: flex-start;
		align-items: center;
		gap: 16rem;
	}
}
.footer_nav > .global_nav .snav_list > li > a > svg{
	width: 1.125em;
	height: 1.125em;
}
.footer_nav > .global_nav .snav_list > li > a .label{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.25em;
	font-size: 0.875em;
	line-height: 1.5;
	text-transform: capitalize;
}
.footer_nav > .global_nav .snav_list > li > a .label > svg{
	width: 1em;
	height: 1em;
}
.footer_nav > .global_nav .snav_list > li.snav_item_instagram > a .label{
	padding: 0.25em;
}
.footer_nav > .global_nav .snav_list > li.snav_item_instagram > a .label > svg{
	width: 1.125em;
	height: 1.125em;
}

@media screen and (min-width: 768px) {
	.footer_nav > .global_nav a > .label{
		padding: 0 0.25em;
		background-color: rgba(var(--White-rgb), 0);
		border-radius: 0.25em;
		transition-property: background, color;
	}
	.footer_nav > .global_nav a:hover > .label{
			background-color: rgba(var(--White-rgb), 1);
	}
}

.footer_lang{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	border-top: 1rem solid rgba(var(--Blue-rgb), 0.4);
}
@media screen and (min-width: 768px) {
	.footer_lang{
		gap: 16rem;
		padding: 32rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_lang{
		gap: 8rem;
		padding: 16rem;
	}
}
.footer_lang > svg{
	width: 1.125em;
	height: 1.125em;
	fill: var(--Blue);
}
.footer_lang > ul{
	display: flex;
	justify-content: center;
}
@media screen and (min-width: 768px) {
	.footer_lang > ul{
		gap: 16rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_lang > ul{
		gap: 8rem;
	}
}
.footer_lang > ul > li{
	display: flex;
	align-items: center;
}
@media screen and (min-width: 768px) {
	.footer_lang > ul > li{
		gap: 16rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_lang > ul > li{
		gap: 8rem;
	}
}
.footer_lang > ul > li > a{
	display: inline-block;
	padding: 0 0.5em;
	border-radius: 0.25em;
	background-color: rgba(var(--White-rgb), 0);
	transition-property: background;
}
.footer_lang > ul > li > a > span{
	font-size: 16rem;
	font-weight: var(--WGT-B);
	color: var(--Blue);
	line-height: 1.75;
}
@media screen and (min-width: 768px) {
	.footer_lang > ul > li > a:hover{
		background-color: rgba(var(--White-rgb), 1);
	}
	.footer_lang > ul > li > a > span.label_en{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.footer_lang > ul > li > a > span.label{
		display: none;
	}
}
.footer_lang > ul > li > a.current{
	cursor: default;
	background-color: rgba(var(--White-rgb), 1);
}
.footer_lang > ul > li + li::before{
	display: block;
	width: 1rem;
	height: 1em;
	content: "";
	background-color: var(--Blue);
}

.footer_copy{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	color: var(--White);
	background-color: var(--Blue);
}
@media screen and (min-width: 768px) {
	.footer_copy{
		padding: 24rem;
		border-top-left-radius: 32rem;
		border-top-right-radius: 32rem;
	}
}
@media screen and (max-width: 767px) {
	.footer_copy{
		padding: 16rem;
		border-top-left-radius: 12rem;
		border-top-right-radius: 12rem;
	}
}
.footer_copy > small{
	font-size: 0.8125em;
	font-weight: var(--WGT-B);
}





@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/******************************************************
汎用クラス
******************************************************/

.hidden{
	height: 0px;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	margin: 0;
}

@media screen and (min-width: 768px) {

	.small{
		font-size: 14rem;
	}

}
@media screen and (max-width: 767px) {

	.small{
		font-size: 12rem;
	}

}


.red,
.notice{
    color: var(--Red);
}
.gray{
	color:var(--Gray);
}

strong{
    font-family: var(--FNT-base);
    font-weight: var(--WGT-B);
	font-style:normal;
}
em{
    font-family: var(--FNT-base);
    font-weight: var(--WGT-B);
	font-style:normal;
}

.ta_right{
	text-align:right !important;
}
.ta_left{
	text-align:left !important;
}
.ta_center{
	text-align:center !important;
}

/* indent */
.list_ind1,
.list_ind2,
.list_ind1-5{
	padding:1em 0;
}
.ind1,
.list_ind1 li{
	padding-left:1em;
	text-indent:-1em;
}
.ind2,
.list_ind2 li{
	padding-left:2em;
	text-indent:-2em;
}
.ind1-5,
.list_ind1-5 li{
	padding-left:1.5em;
	text-indent:-1.5em;
}

/* dl リスト */
.dl_row{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
.dl_row dt{
    width: 10em;
	text-align: left;
}
.dl_row dd{
    width: calc(100% - 10em);
    padding-left: 1em;
	text-align: left;
}

.dl_row.dl_line{
    border-top: solid 1rem var(--Text);
    border-bottom: solid 1rem var(--Text);
	@media screen and (max-width: 767px) {
		flex-direction: column;
	}
}
.dl_row.dl_line + .dl_row.dl_line{
	margin-top: -1rem;
}
@media screen and (min-width: 768px) {
	.dl_row.dl_line dt{
	    padding: 1.5em;
	}
	.dl_row.dl_line dd{
	    padding: 1.5em;
	}
}
@media screen and (max-width: 767px) {
	.dl_row.dl_line dt{
	    width: 100%;
	    padding: 1em 0 0;
	}
	.dl_row.dl_line dd{
	    width: 100%;
	    padding: 0.75em 1em 1em;
	}
}

/* table 表 */
table {
	width: 100%;
/*	table-layout: fixed;*/
	border-collapse: collapse;
	border-spacing: 0;
}
table.table_line {
	border: 1rem solid var(--Gray);
}
table.table_line th{
    font-weight: var(--WGT-R);
    color: var(--White);
    line-height: 1.5;
	text-align: left;
	vertical-align: top;
	background-color: var(--Gray);
	border: 1rem solid var(--Gray);
}
table.table_line thead th{
	text-align: center;
	vertical-align: middle;
}
table.table_line thead + tbody th{
    color: var(--Text); 
	text-align: left;
	vertical-align: top;
	background-color: var(--White);
	border: 1rem solid var(--Gray);
}
table.table_line td {
    line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	border: 1rem solid var(--Gray);
}
table.table_line thead th,
table.table_line tbody th,
table.table_line td{
    padding: 0.5em 1.5em;
}

/* slick 読み込んでから表示 */
.slide_imgs{
    opacity: 0;
    transition: opacity .3s linear;
}
.slide_imgs.slick-initialized{
    opacity: 1;
}

/* slick で高さを揃える（縦スライド vertical: true にはNG） */
.list_slide .slick-track {
    display: flex !important;
    align-items: stretch;
}
.list_slide .slick-slide {
    height: auto !important;
}

/* slick で1つだけのドットを非表示 */
.slick-dots > li:only-child {
    display: none;
}

/* Google 翻訳 
html.translated-ltr .header { top: auto; }
html.translated-ltr.non-toolbar .header { top: 0; }
*/