@charset "utf-8";
html,
body {
	color: #202020;
	height: 100%;
	min-height: 100%;
	font-size: 16px;
	font-family: noto-sans-cjk-jp, "Meiryo UI", "ヒラギノ明朝 ProN", "小塚明朝 Pro", Hiragino Kaku Gothic ProN, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5;
	letter-spacing: 0.02em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.is-menu-open {
	overflow: hidden;
}
h1,h2,h3,h4,h5,h6,strong,th {
	font-family: noto-sans-cjk-jp, "Meiryo UI", "ヒラギノ明朝 ProN", "小塚明朝 Pro", Hiragino Kaku Gothic ProN, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.mn {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.eb {
	font-family: "eb-garamond", serif;
	font-weight: 600;
	font-style: normal;
}
.eb.w7 {
	font-weight: 700;
}
/* 834 */
@media screen and (max-width: 834px) {
	body {
		/*font-size:calc(9px + 0.7vmin);*/
		-webkit-tap-highlight-color: transparent;
	}
}
/* 520 */
@media screen and (max-width: 520px) {
	body {
		/*font-size:calc(9px + 1vmin);*/
		-webkit-tap-highlight-color: transparent;
	}
}
a {
	color: #202020;
	text-decoration: none;
	transition: color 0.3s ease;
}
a:visited {}
a:hover,
a:active {
	color: #005F3D;
	text-decoration: none;
}
img {
	width: auto;
	max-width: 100%;
	height: auto;
}
::selection {
	background: rgba(0, 144, 202, 0.5); /* Safari */
}
::-moz-selection {
	background: rgba(0, 144, 202, 0.5); /* Firefox */
}
/* min835 */
@media screen and (min-width: 835px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/*--------------------------------------------------------------*/
/* Form関連 */
/*--------------------------------------------------------------*/
input, textarea, select, button {
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
}
input, select, button {
	vertical-align: middle;
}
textarea::placeholder,
input::placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}
input::-ms-input-placeholder {
	color: #ccc;
}
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=checkbox],
input[type=submit],
input[type=button],
input[type=number],
button,
select:not(.ui-datepicker-year):not(.ui-datepicker-month),
textarea {
	border-radius: 4px;
	border: 1px solid #ddd;
	margin: 0;
	padding: 15px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	background-color: #F7F7F7;
}
textarea {
	width: 100%;
	height: 240px;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
table select:focus,
textarea:focus {
	outline: none;
	background-color: #FFFFDF;
}
input[type=submit],
input[type=button],
button {
	outline: none;
	cursor: pointer;
	background-color: #F4F4F4;
}
input[type=submit]:hover,
input[type=button]:hover {
	background-color: #fff;
}
input[type=submit]:active,
input[type=button]:active,
button:active {
	background-color: #01472e;
}
table select {
	background: url(../images/arrow.png) right 50% no-repeat #fff;
	background-size: contain;
	padding-right: 40px;
}
/* checkbox */
input[type=checkbox] {
	display: none;
}
input[type=checkbox] + .mwform-checkbox-field-text {
	position: relative;
	vertical-align: middle;
	cursor: pointer;
}
input[type=checkbox] + .mwform-checkbox-field-text:before {
	content: "\f0c8";
	font-family: "Font Awesome 5 Free";
	font-weight: 500;
	color: #ccc;
	font-size: 22px;
	margin-right: 4px;
	position: relative;
	bottom: -2px;
}
input[type=checkbox]:checked + .mwform-checkbox-field-text:before {
	content: "\f14a";
	color: #005F3D;
}
/* radio */
input[type=radio] {
	display: none;
}
input[type=radio] + .mwform-radio-field-text:before {
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-weight: 500;
	color: #ccc;
	font-size: 18px;
	margin-right: 6px;
}
input[type=radio]:checked + .mwform-radio-field-text:before {
	content: "\f192";
	color: #005F3D;
}
/* label */
.form label {
	white-space: nowrap;
}
/* select */
select:not(.ui-datepicker-year):not(.ui-datepicker-month) {
	/* styling */
	background-image: linear-gradient(45deg, transparent 50.1%, #fff 50.1%), linear-gradient(135deg, #fff 50.1%, transparent 50.1%), linear-gradient(to right, #005F3D, #005F3D);
	background-position: calc(100% - 19px) calc(1em + 2px), calc(100% - 14px) calc(1em + 2px), 100% 0;
	background-size: 5px 5px, 5px 5px, 2.5em 2.5em;
	background-repeat: no-repeat;
	border: thin solid #bfbfbf;
	border-radius: 4px;
	display: inline-block;
	font: inherit;
	line-height: 1.5em;
	padding: 0.5em 3.5em 0.5em 1em;
	color: #000;
	/* reset */
	margin: 0;      
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	position: relative;
	width: 100%;
}
select:not(.ui-datepicker-year):not(.ui-datepicker-month):focus {
	background-image: linear-gradient(45deg, white 50.1%, transparent 50.1%), linear-gradient(135deg, transparent 50.1%, white 50.1%), linear-gradient(to right, #005F3D, #005F3D);
	background-position: calc(100% - 14px) calc(1em + 2px), calc(100% - 19px) calc(1em + 2px), 100% 0;
	background-size: 5px 5px, 5px 5px, 2.5em 2.5em;
	background-repeat: no-repeat;
	border-color: #bfbfbf;
	outline: 0;
}
select:not(.ui-datepicker-year):not(.ui-datepicker-month):-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}
/* 580 */
@media (max-width: 580px) {
	input[type=text],
	input[type=password],
	input[type=email],
	input[type=tel],
	input[type=checkbox],
	input[type=submit],
	input[type=button],
	input[type=number],
	button,
	select:not(.ui-datepicker-year):not(.ui-datepicker-month),
	textarea {
		padding: 8px;
	}
}

/*--------------------------------------------------------------*/
/* layout */
/*--------------------------------------------------------------*/
main {
	/*overflow: hidden;*/
}
.flex {
	display: flex;
	flex-wrap: wrap;
}
.flex.reverse {
	flex-direction: row-reverse;
}
.center {
	text-align: center;
}
._right {
	text-align: right;
}
.w1200 {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
.w800 {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
.w700 {
	max-width: 700px;
	width: 100%;
	margin: 0 auto;
}
.mb14 {
	margin-bottom: 140px;
}
.mb16 {
	margin-bottom: 160px!important;
}
.gfbox a {
	display: block;
	width: max-content;
	background: #005F3D;
	border: 1px solid #005F3D;
	color: #fff;
	font-size: 14px;
	line-height: 1;
	padding: 4px 11px 5px 11px;
	transition: .3s ease;
}
.gfbox a:hover {
	background: #fff;
	color: #005F3D;
}
/* pc tb sp view */
.sp_view {
	display: none!important;
}
.tb_view {
	display: none!important;
}
/* 1230 */
@media (max-width: 1230px) {
	.mb14 {
		margin-bottom: max(11.4vw, 80px)!important;
	}
	.mb16 {
		margin-bottom: max(13vw, 80px)!important;
	}
}
/* 768 */
@media (max-width: 768px) {
	.pc_view {
		display: none;
	}
	.tb_view {
		display: block;
	}
	.tb_none {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	.sp_view {
		display: block!important;
	}
	.sp_view.inline {
		display: inline-block;
	}
	.sp_none {
		display: none!important;
	}
}
/* base */
.content {
	width: auto;
	max-width: 1480px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
.inner_content {
	width: auto;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------*/
/* table */
/*--------------------------------------------------------------*/
table.tbl {
	width: 100%;
	border-top: 1px solid #BABABA;
	margin-bottom: 80px;
}
table.tbl tr {
	border-bottom: 1px solid #BABABA;
}
table.tbl tr th,
table.tbl tr td {
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	padding: 40px;
	text-align: left;
	line-height: 1.8;
}
table.tbl tr th {
	white-space: nowrap;
	letter-spacing: 3px;
	text-indent: 3px;
}
table.tbl tr td a.btnya.mail {
	margin-top: 10px;
}

/*--------------------------------------------------------------*/
/* .fixed */
/*--------------------------------------------------------------*/
.fixed {
	position: fixed!important;
	top: 0px;
	z-index: 99;
	animation: moveimg 1s 1;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.3);
	border-bottom: none!important;
}
@keyframes moveimg {
	0% { top: -350px; }
	100% { top: 0px; }
}

/*--------------------------------------------------------------*/
/* vegas */
/*--------------------------------------------------------------*/
.vegas-animation-kenburns {
	animation: kenburns ease-out;
}
@keyframes kenburns {
	0% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

/*--------------------------------------------------------------*/
/* zoom */
/*--------------------------------------------------------------*/
.zhover {
	overflow: hidden;
	z-index: 2;
	position: relative;
}
.zhover img {
	transform:scale(1) ;
	transition:all 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
a:hover .zhover img:hover {
	transform:scale(1.03) ;
}

/*--------------------------------------------------------------*/
/* zoomOut */
/*--------------------------------------------------------------*/
.zohover {
	transform:scale(1.08) ;
	transition:all 2s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-show.zohover {
	transform:scale(1) ;
}

/*--------------------------------------------------------------*/
/* l-hoverUnderline */
/*--------------------------------------------------------------*/
.l-hoverUnderline {
	padding-bottom: 0.2em;
	background: linear-gradient(#000, #000) 0 100% / 0 1px no-repeat;
	transition: background 0.3s;
	text-decoration: none;
}
.l-hoverUnderline:hover {
	background-size: 100% 1px;
}

/*--------------------------------------------------------------*/
/* l-mask */
/*--------------------------------------------------------------*/
.l-mask {
	display: inline-block;
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0 100%);
	transition: all 1s cubic-bezier(0.5, 1, 0.89, 1);
	vertical-align: middle;
}
.is-show .l-mask,
.is-show.l-mask {
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0 100%);
}
.l-mask.is-full {
	width: 100%;
}

/*--------------------------------------------------------------*/
/* text */
/*--------------------------------------------------------------*/
.l-textMain {
	font-size: 116%;
	line-height: 2;
}
.l-textTips {
	font-size: 100%;
	line-height: 1.7;
}
.l-list-dot li {
	font-size: 116%;
	line-height: 2;
	margin-left: 1em;
}
.l-list-dot li::before {
	content: "・";
	margin-left: -1em;
}
.l-list-asterisk li {
	font-size: 116%;
	line-height: 2;
	margin-left: 1em;
}
.l-list-asterisk li::before {
	content: "※";
	margin-left: -1em;
}
.l-list-number {
	padding-left: 2em;
}
.l-list-number li {
	font-size: 116%;
	line-height: 2;
	list-style: decimal;
}
/* 834 */
@media screen and (max-width: 834px) {
	.l-textMain,
	.l-list-dot li ,
	.l-list-asterisk li,
	.l-list-number li {
		font-size: 100%;
		line-height: 1.8;
	}
	.l-textTips {
		font-size: 85%;
		line-height: 1.6;
	}
}

/*--------------------------------------------------------------*/
/* linkWrap */
/*--------------------------------------------------------------*/
.l-linkWrap {
	padding: 20px 0 20px;
	text-align: center;
}
.l-linkWrap.is-left {
	text-align: left;
}
.l-linkWrap.is-right {
	text-align: right;
}
/* 834 */
@media screen and (max-width: 834px) {
	.l-linkWrap.is-left ,
	.l-linkWrap.is-right {
		text-align: center;
	}
}

/*--------------------------------------------------------------*/
/* more */
/*--------------------------------------------------------------*/
.more {
	margin-top: 60px;
}
.more a {
	color: #000;
	font-size: 16px;
	display: inline-block;
	padding: 0 15px 15px 15px;
	border-bottom: 1px solid #000;
}
.more a span::after {
	content: '';
	aspect-ratio: 38 / 20;
	width: 22px;
	margin-left: 20px;
	display: inline-block;
	background: url(../images/arrow.png) no-repeat;
	background-size: contain;
	transition: .3s ease;
}
.more a:hover span::after {
	transform: translateX(5px);
}
/* 580 */
@media (max-width: 580px) {
	.more {
		margin-top: 40px;
	}
	.more a {
		font-size: 14px;
		padding: 0 10px 10px 10px;
	}
	.more a span::after {
		width: 17px;
	}
}


/*--------------------------------------------------------------*/
/* btn */
/*--------------------------------------------------------------*/
.btnya {
	letter-spacing: 2px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	width: auto;
	padding: 12px 27px 12px 30px;
	border-radius: 35px;
	background: #005F3D;
	color: #fff;
	text-decoration: none;
	border: 1px solid #005F3D;
	transition: box-shadow 0.2s ease;
}
.btnya span.txt {
	margin-top: -1px;
}
.btnya span.ya {
	display: inline-block;
	width: 32px;
	margin-left: 10px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1px solid #fff;
	position: relative;
	background: url(../images/ya.svg) no-repeat;
	background-position: center center;
	transition: all 0.2s ease;
}
body.is-pc .btnya:hover {
	color: #fff;
	box-shadow: 3px 3px 3px 0px rgba(0,0,0,0.4);
}
body:not(.is-pc) .btnya:hover {
	color: #fff;
}
body.is-pc .btnya:hover span.ya {
	border: 1px solid transparent;
	animation: arrow01 0.4s ease forwards 0.2s;
}
@keyframes arrow01 {
	0% {
		transform: translateX(0);
	}
	50% {
		transform: translateX(5px);
	}
	100% {
		transform: translateX(0);
	}
}
/* small */
.btnya.small {
	padding-top: 8px;
	padding-bottom: 8px;
}
.btnya.small span.ya {
	width: 25px;
	background-size: 65%;
}
/* white */
.btnya.white {
	background: #fff;
	color: #005F3D;
	border: 1px solid #005F3D;
}
.btnya.white span.ya {
	border: 1px solid #005F3D;
	background: url(../images/ya_green.svg) no-repeat;
	background-position: center center;
}
body.is-pc .btnya.white:hover {
	color: #005F3D;
	box-shadow: 3px 3px 3px 0px rgba(0,0,0,0.4);
}
/* mail */
.btnya.mail {
	padding: 12px 30px 12px 27px;
}
.btnya.mail i {
	font-size: 24px;
	margin-right: 8px;
}
/* nobk */
.btnya.nobk {
	background: initial;
	border: none;
}
/* nolink */
.btnya.nolink:hover {
	box-shadow: none!important;
}
.btnya.nolink:hover span.ya {
	animation: none!important;
}
/* 580 */
@media (max-width: 580px) {
	/* mail */
	.btnya.mail {
		font-size: 14px;
	}
}

/*--------------------------------------------------------------*/
/* .pd_std */
/*--------------------------------------------------------------*/
.pd_std {
	padding: 90px 0;
}
.pd_std.tzero {
	padding: 0 0 90px 0;
}
.pd_std.bzero {
	padding: 90px 0 0 0;
}
/* 1240 */
@media (max-width: 1240px) {
	.pd_std {
		padding: max(7.2vw, 50px) 0;
	}
	.pd_std.tzero {
		padding: 0 0 max(7.2vw, 50px) 0;
	}
}

/*--------------------------------------------------------------*/
/* header.htype01 */
/*--------------------------------------------------------------*/
header.htype01 {
	margin-bottom: 40px;
}
header.htype01 h1 {
	margin-bottom: 10px;
	font-weight: normal;
	letter-spacing: 2px;
}
header.htype01 span.eng {
	font-size: 120px;
	font-weight: bold;
	line-height: 1;
	position: relative;
}
header.htype01 span.eng::after {
	content: '';
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	right: -50%;
	top: 25%;
	/*aspect-ratio: 305 / 106;*/
	/*width: 305px;*/
	/*background: url(../images/works_an.svg) no-repeat;*/
}
/* 1230 */
@media (max-width: 1230px) {
	header.htype01 span.eng {
		font-size: max(9.75vw, 64px);
	}
}
/* 580 */
@media (max-width: 580px) {
	header.htype01 h1 {
		font-size: 14px;
	}
}

/*--------------------------------------------------------------*/
/* htype */
/*--------------------------------------------------------------*/
/* .htype02 */
.htype02 {
	font-size: 24px;
	position: relative;
	line-height: 1.6;
	margin-bottom: 40px;
	display: flex;
	align-items: center;
}
.htype02::before {
	content: '';
	display: block;
	width: 80px;
	height: 1px;
	border-bottom: 1px solid #000;
	vertical-align: middle;
	margin-bottom: 5px;
	margin-right: 15px;
}
.htype02 span.txt {
	flex: 1;
}
/* .htype03 */
.htype03 {
	position: relative;
	width: max-content;
	font-weight: bold;
	font-size: 24px;
	margin: 0 auto;
}
.htype03::after {
	content: '';
	display: block;
	width: 80px;
	height: 1px;
	border-bottom: 1px solid #000;
	position: absolute;
	top: 50%;
	right: -95px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.htype03::before {
	content: '';
	display: block;
	width: 80px;
	height: 1px;
	border-bottom: 1px solid #000;
	position: absolute;
	top: 50%;
	left: -95px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

/* 580 */
@media (max-width: 580px) {
	/* htype02 */
	.htype02 {
		margin-bottom: 25px;
	}
	.htype02::before {
		width: 40px;
		margin-right: 10px;
	}
	/* htype03 */
	.htype03::after {
		width: 40px;
		right: -50px;
	}
	.htype03::before {
		width: 40px;
		left: -50px;
	}
}

/*--------------------------------------------------------------*/
/* htype */
/*--------------------------------------------------------------*/
/* .htype04 */
.htype04 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 40px;
	padding-left: 90px;
	position: relative;
}
.htype04::after {
	content: '';
	display: block;
	width: 80px;
	height: 1px;
	border-bottom: 1px solid #000;
	position: absolute;
	top: 14px;
	left: 0;
}

/*--------------------------------------------------------------*/
/* htype */
/*--------------------------------------------------------------*/
/* .htype05 */
.htype05 {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 40px;
	padding: 3px 20px 5px 30px;
	position: relative;
	background: #005F3D;
	color: #fff;
}
.htype05::before {
	content: '';
	display: block;
	aspect-ratio: 1 / 1;
	width: 20px;
	clip-path: polygon(0 0, 100% 0%, 0 100%);
	position: absolute;
	top: 3px;
	left: 3px;
	background: #fff;
}
/* 1200 */
@media (max-width: 1200px) {
	.htype05 {
		font-size: max(2.667vw, 18px);
		margin-bottom: max(3.333vw, 25px);
	}
	.htype05::before {
		width: 14px;
	}
}

/*--------------------------------------------------------------*/
/* #header */
/*--------------------------------------------------------------*/
#header {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
}
.pc_head nav div.contact a,
body.home #header:not(.fixed) .pc_head nav div.contact a,
body.home #header:not(.fixed) .pc_head nav ul.gnav > li a {
	color: #fff;
}
body.home #header.fixed .pc_head nav ul.gnav > li a:hover,
body.home #header.fixed .pc_head nav ul.gnav > li a:hover svg {
	color: #005f3d;
	fill: #005f3d;
}
.pc_head nav div.contact a:hover {
	opacity: 0.8;
}
#header .pc_head {
	padding: 0 0 0 20px;
	transition: .3s ease;
	position: relative;
}
#header .pc_head .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
/* logo */
#header .pc_head .logo {
	width: 240px;
	height: 80px;
	display: flex;
	align-items: center;
	transition: height .3s ease;
}
#header .pc_head .logo img {
	width: 100%;
}
/* nav */
#header .pc_head nav {
	max-width: 1400px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 81%;
	transition: width .3s ease;
}
#header .pc_head nav ul.gnav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
#header .pc_head nav ul.gnav li {
	text-align: center;
}
body.home #header .pc_head nav ul.gnav li:last-child svg {
	fill: #fff;
}
body.home #header.fixed .pc_head nav ul.gnav li:last-child svg {
	fill: #202020;
}
#header .pc_head nav ul.gnav li:last-child svg {
	fill: #202020;
}
#header .pc_head nav ul.gnav li:last-child:hover svg {
	fill: #005F3D;
}
#header.fixed .pc_head nav ul.gnav li:last-child svg {
	fill: #202020;
}
#header .pc_head nav ul.gnav li a {
	font-size: 14px;
	line-height: 1;
	display: block;
	border-radius: 5px;
	padding: 5px 8px 4px 8px;
	transition: background .3s ease;
	backface-visibility: hidden;
}
#header .pc_head nav ul.gnav li a span.eng {
	display: block;
	text-align: center;
	font-size: 12px;
	font-family: "poppins", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-top: 10px;
}
body.is-pc #header .pc_head nav ul.gnav li a:hover {
	background: rgba(255,255,255,0.3);
}
/* div.sns */
#header .pc_head nav div.sns {
	width: 80px;
}
/* div.contact */
#header .pc_head nav div.contact {
	display: flex;
}
#header .pc_head nav div.contact > a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	flex-wrap: wrap;
	width: 240px;
	height: 80px;
	background: #005F3D;
	position: relative;
	transition: .3s;
	backface-visibility: hidden;
}
#header .pc_head nav div.contact > a span.tel {
	font-size: 20px;
}
#header .pc_head nav div.contact > a span.time {
	font-size: 12px;
}
#header .pc_head nav div.contact > a span.tel svg {
	width: 18px;
	stroke: #fff;
	fill: #005F3D;
	margin-bottom: -1px;
	margin-right: 3px;
}
/* fixed */
#header.fixed .pc_head {
	background: rgba(255,255,255,1);
}
/* 1580 */
@media (max-width: 1580px) {
	/* div.sns */
	#header .pc_head nav div.sns {
		display: none;
	}
}
/* 1410 */
@media (max-width: 1500px) {
	/* nav */
	#header .pc_head nav div.contact > a {
		width: 180px;
	}
	#header .pc_head nav span.cs_none {
		display: none;
	}
}
/* 1325 */
@media (max-width: 1325px) {
	#header .pc_head nav ul.gnav li a {
		font-size: 13px;
		padding: 5px 5px 4px 5px;
	}
	#header .pc_head nav {
		width: 79%;
	}
}
/* 1230 */
@media (max-width: 1230px) {
	#header .pc_head nav {
		display: none;
	}
	/* logo */
	#header.fixed .pc_head .logo {
		height: 60px;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* logo */
	#header .pc_head .logo {
		width: 200px;
	}
}

/*--------------------------------------------------------------*/
/* #header SP MENU関連 */
/*--------------------------------------------------------------*/
/* sp_menu_btn */
#sp_menu_btn {
	display: none;
	width: 35px;
	height: 32px;
	position: absolute;
	top: 25px;
	right: 16px;
	cursor: pointer;
	z-index: 99;
	transition: top .3s ease;
}
#sp_menu_btn .oc {
	color: #fff;
	font-size: 12px;
	line-height: 1;
	position: absolute;
	bottom: 0;
	font-family: "poppins", sans-serif;
	font-weight: 700;
}
.menu--active #sp_menu_btn .oc {
	font-size: 11px;
}
#open {
	position: relative;
	height: 12px;
}
.menu_line {
	background: #fff;
	display: block;
	height: 2px;
	position: absolute;
	transition:transform .3s;
	width: 100%;
}
body.sub .menu_line,
#header.fixed .menu_line,
.menu--active .menu_line {
	background: #000;
}
body.is-pc #sp_menu_btn:hover .menu_line {
	background: #ccc;
}
body.is-pc #sp_menu_btn:hover .oc {
	color: #ccc;
}
body.is-pc #header.fixed #sp_menu_btn:hover .menu_line {
	background: #777;
}
body.is-pc #header.fixed #sp_menu_btn:hover .oc {
	color: #777;
}
.menu_line-bottom {
	bottom: 0;
}
.menu--active .menu_line-top {
	top: 8px;
	transform: rotate(15deg);
}
.menu--active .menu_line-bottom {
	bottom: 2px;
	transform: rotate(165deg);
}
body.sub #sp_menu_btn .oc,
#header.fixed #sp_menu_btn .oc,
.menu--active #sp_menu_btn .oc {
	color: #000;
}
body.is-pc.menu--active #sp_menu_btn:hover .menu_line {
	background: #555;
}
body.is-pc.menu--active #sp_menu_btn:hover .oc {
	color: #555;
}
/* sp_menu_right */
.sp_menu_right {
	background: #fff;
	height: 100vh;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	width: 75%;
	padding: 20px 10px 20px 25px;
	z-index: 98;
	-webkit-overflow-scrolling: touch;
}
.menu--active .sp_menu_right {
	right: 75%;
	margin-left: 0;
}
.sp_menu_right .logo img {
	max-width: 260px;
	width: 60%;
	margin-bottom: 30px;
}
.sp_menu_right ul.nav li {
	font-size: 17px;
	padding: 0 0 15px 0;
	position: relative;
}
.sp_menu_right ul.nav li a {
	font-size: 14px;
	display: inline-block;
	line-height: 1.2;
}
.sp_menu_right ul.nav li a span.eng {
	display: block;
	font-size: 13px;
	font-family: "poppins", sans-serif;
	font-weight: 700;
	padding: 6px 0 0 2px;
}
.sp_menu_right ul.nav li a:hover svg {
	fill: #e90093;
}
/* flex left */
.sp_menu_right .flex {
	max-width: 360px;
	width: 100%;
}
.sp_menu_right .flex > div {
	width: 50%;
}
.sp_menu_right .flex .left a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	flex-wrap: wrap;
	width: 100%;
	height: 80px;
	background: #005F3D;
	color: #fff;
	position: relative;
	transition: .3s;
	backface-visibility: hidden;
}
body.is-pc .sp_menu_right .flex .left a:hover {
	opacity: 0.8;
}
body.is-pc .sp_menu_right .flex .right a:hover {
	background: #ffffe7;
}
.sp_menu_right .flex .left a span.tel {
	font-size: 15px;
}
.sp_menu_right .flex .left a span.time {
	font-size: 12px;
}
.sp_menu_right .flex .left a span.tel svg {
	width: 15px;
	stroke: #fff;
	fill: #005F3D;
	margin-bottom: -3px;
	margin-right: 3px;
}
/* flex right */
.sp_menu_right .flex .right a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	flex-wrap: wrap;
	width: 100%;
	height: 80px;
	border: 1px solid #005F3D;
	background: #fff;
	color: #005F3D;
	position: relative;
	transition: .3s;
	backface-visibility: hidden;
}
/* sp_menu_left */
.sp_menu_left {
	transform: translateX(-100%);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	background: #005F3D;
	position: fixed;
	left: 0;
	top: 0;
	height: 100vh;
	width: 25%;
	text-align: center;
	z-index: 98;
}
.sp_menu_left::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/mark.svg) no-repeat;
	background-position: top 8% left 33%;
	background-size: 180%;
	opacity: 0.2;
}
.menu--active .sp_menu_left {
	left: 25%;
}
/* 1230 */
@media (max-width: 1230px) {
	/* sp_menu_btn */
	#sp_menu_btn {
		display: block;
	}
	/* sp_menu_btn */
	#header.fixed #sp_menu_btn {
		top: 17px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.sp_menu_right .flex {
		margin-left: -15px;
		width: calc(100% + 15px);
	}
	/* left */
	.sp_menu_right .flex .left {
		width: 55%;
	}
	.sp_menu_right .flex .left a {
		height: 60px;
	}
	.sp_menu_right .flex .left a span.tel {
		font-size: 13px;
	}
	.sp_menu_right .flex .left a span.time {
		font-size: 11px;
	}
	.sp_menu_right .flex .left a span.tel svg {
		width: 12px;
		margin-bottom: -3px;
		margin-right: 3px;
	}
	/* right */
	.sp_menu_right .flex .right {
		width: 45%;
	}
	.sp_menu_right .flex .right a {
		font-size: 13px;
		height: 60px;
	}
}

/*--------------------------------------------------------------*/
/* SP MENU */
/*--------------------------------------------------------------*/
.menu {
	position: fixed;
	right: 0;
	top: 0;
	background: rgba(0,36,169,0.9);
	color: #F0F0F0;
	height: 100%;
	width: 0;
	overflow: hidden;
	transition: all .3s ease;
	overflow-y: auto;
	z-index: 99;
}
.menu .logo {
	margin-top: 15%;
}
.menu .menu-inner {
	text-align: center;
	max-width: 600px;
	width: 90%;
	margin: 0 auto;
}
.menu--active {
	height: 100vh;
	overflow: hidden;
}
.menu--active .menu {
	width: 100%;
	z-index: 99;
}
.menu ul.din {
	padding-top: 40px;
	margin-bottom: 30px;
}
.menu ul.din li {
	display: flex;
	flex-direction: column;
	font-size: 2.2rem;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	margin-bottom: 10px;
	font-family: arial;
	line-height: 1;
}
.menu ul.din li:last-child {
	border-bottom: none;
}
.menu ul.din li a {
	display: contents;
}
.menu ul.din li a span.jp {
	display: block;
	font-size: 1.4rem;
	padding-top: 5px;
}
.menu .sp_contact a {
	display: block;
	max-width: 320px;
	width: 80%;
	padding: 12px;
	margin: 0 auto;
	background: #f59f09;
}
/* 580 */
@media (max-width: 580px) {
	.menu .menu-inner {
		height: 100vh;
		overflow-y: auto;
	}
}
/* 320 */
@media (max-width: 320px) {
	.menu ul.din {
		padding-top: 30px;
		margin-bottom: 15px;
	}
	.menu ul.din li {
		font-size: 2.2rem;
		line-height: 1.3;
	}
}

/*--------------------------------------------------------------*/
/* header#page_head */
/*--------------------------------------------------------------*/
header#page_head {
	margin-bottom: 60px;
}
header#page_head .head_wrap {
	margin-top: 90px;
	height: 410px;
	width: max-content;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	transition: margin .3s ease;
}
header#page_head .head_wrap h1 {
	display: block;
	width: 100%;
	font-weight: normal;
	margin-bottom: 15px;
}
header#page_head .head_wrap span.eng {
	display: block;
	font-size: 120px;
	line-height: 1;
	position: relative;
}
header#page_head .head_wrap span.eng::after {
	content: '';
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	right: -6%;
	top: 25%;
	/*aspect-ratio: 305 / 106;*/
	/*width: 305px;*/
	/*background-image: url(../images/works_an.svg);*/
}
header#page_head figure#subhead_img {
	display: block;
	width: 100%;
	height: 590px;
	background-size: 100% auto;
}
/* 1230 */
@media (max-width: 1230px) {
	header#page_head .head_wrap {
		margin-top: 80px;
	}
	header#page_head figure#subhead_img {
		height: max(48vw, 200px);
	}
}
/* 834 */
@media (max-width: 834px) {
	header#page_head .head_wrap {
		height: max(49.2vw, 300px);
	}
	header#page_head .head_wrap span.eng {
		font-size: max(14.4vw, 63px);
	}
}
/* 580 */
@media (max-width: 580px) {
	header#page_head .head_wrap {
		padding-bottom: 20px;
	}
	header#page_head .head_wrap h1 {
		font-size: 14px;
		margin-bottom: 15px;
	}
	header#page_head figure#subhead_img {
		background-size: 120%;
	}
}

/*--------------------------------------------------------------*/
/* MAIN VISUAL */
/*--------------------------------------------------------------*/
#main_visual {
	height: 100vh!important;
}
body.sub #main_visual {
	display: none;
}
#main_visual .content {
	height: 100vh;
}
#main_visual .content {
	position: relative;
}
#main_visual .content .wrap {
	position: absolute;
	top: 50%;
	left: 20px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
}
#main_visual .content .wrap p.txt {
	font-size: 24px;
	margin-bottom: 20px;
}
#main_visual .content .wrap h1 {
	font-size: 120px;
	line-height: 1;
	margin-bottom: 60px;
}
#main_visual a.btnya {
	border-radius: 0;
}
/* tips */
#tips {
	color: #fff;
	position: absolute;
	bottom: 15%;
	right: 20px;
	display: flex;
	align-items: center;
}
.bx-wrapper {
	background: none;
	box-shadow: none;
	border: none;
	margin-bottom: 0;
	width: 325px!important;
}
#newsticker {
	background: none;
}
#newsticker ul {
	padding-right: 20px;
}
#newsticker ul li a {
	color: #fff;
	white-space: nowrap;
	margin-right: 20px;
	transition: color .3s ease;
}
#newsticker ul li a:hover {
	color: #005F3D;
}
#tips svg.mark {
	width: 20px;
	fill: #fff;
	stroke: #fff;
	margin: 0 15px;
}
#tips span.title {
	display: inline-block;
	width: 220px;
	line-height: 1;
	margin-right: 20px;
	overflow: hidden;
	transition: color .3s ease;
}
#tips span.title a {
	color: #fff;
}
#tips span.title a:hover {
	color: orange;
}
#tips a.tip_more span.txt {
	color: #fff;
	display: flex;
	align-items: center;
	line-height: 1;
	font-family: "lato", sans-serif;
	font-weight: 400;
	font-style: normal;
	transition: color .3s ease;
}
#tips a.tip_more:hover span.txt {
	color: orange;
}
#tips a.tip_more span.txt img {
	margin-left: 15px;
}
#tips a.tip_more:hover span.txt img {
	animation: arrow01 0.4s ease forwards 0.2s;
}
#tips a.tip_more span.txt img.vmore2 {
	display: none;
}
#tips a.tip_more:hover span.txt img.vmore1 {
	display: none;
}
#tips a.tip_more:hover span.txt img.vmore2 {
	display: block;
}
/* 1200 */
@media (max-width: 1200px) {
	#main_visual .content .wrap h1 {
		font-size: max(10vw, 60px);
		margin-bottom: 60px;
	}
	#main_visual .content .wrap p.txt {
		font-size: max(2vw, 16px);
		margin-bottom: 20px;
	}
}
/* 768 */
@media (max-width: 768px) {
	#main_visual a.btnya {
		display: none;
	}
	#main_visual .content .wrap h1 {
		font-size: max(10vw, 48px);
		margin-bottom: 0;
	}
	#main_visual #tips {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	#main_visual {
		height: 70vh!important;
	}
	#main_visual .content .wrap {
		top: 40%;
	}
	#main_visual .sns_instagram {
		position: fixed;
		display: inline-block;
		top: 50%;
		right: 10px;
		z-index: 9;
	}
	#main_visual .sns_instagram img {
		width: 36px;
		filter: drop-shadow(0 0 2px #fff) 
			drop-shadow(0 0 4px #fff)
			drop-shadow(0 0 8px #fff);
	}
}

/*--------------------------------------------------------------*/
/* topPhoto */
/*--------------------------------------------------------------*/
#topPhoto {
	margin-bottom: 60px;
}
#topPhoto .flex {
	display: flex;
	justify-content: flex-end;
	position: relative;
}
#topPhoto .flex div.message {
	position: absolute;
	bottom: 0;
	left: 20px;
	z-index: 2;
}
#topPhoto .flex div.message p.txt {
	font-size: 36px;
	font-weight: bold;
	color: #005f3d;
    text-shadow: 0 0 6px #fff, 0 0 10px #fff, 0 0 16px #fff, 0 0 8px #fff, 0 0 78px #fff;
}
#topPhoto .flex ul {
	max-width: 80%;
	display: flex;
	gap: 0 2%;
}
#topPhoto .flex ul li {
	position: relative;
}

#topPhoto .flex ul li img:not(:nth-child(1)) {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
/* 1200 */
@media (max-width: 1200px) {
	#topPhoto {
		margin-bottom: max(5vw, 42px); //60px;
	}
	#topPhoto .flex div.message p.txt {
		font-size: max(3vw, 21px); //36px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topPhoto .flex {
		justify-content: center;
		margin-top: -15vw;
		text-align: center;
	}
	#topPhoto .flex div.message {
		position: initial;
		bottom: 0;
		left: initial;
		z-index: 2;
	}
	#topPhoto .flex div.message p.txt {
		font-size: 16px;
		text-align: center;
	}
	#topPhoto .flex ul {
		max-width: 100%;
		margin-bottom: 10px;
	}
}

/*--------------------------------------------------------------*/
/* topAbout */
/*--------------------------------------------------------------*/
#topAbout {
	margin-bottom: 60px;
}
#topAbout ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: center;
	color: #fff;
	overflow: hidden;
}
#topAbout ul li {
	aspect-ratio: 1 / 1;
	width: calc(100% / 3);
	position: relative;
}
#topAbout ul li::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(32,32,32,0.28);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
#topAbout ul li:nth-child(1)::after {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: url(../images/topAbout01.jpg?20240909) no-repeat;
	background-size: cover;
	background-position: center center;
	transition: transform 2.0s ease;
	z-index: -1;
	backface-visibility: hidden;
}
#topAbout ul li:nth-child(2)::after {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: url(../images/topAbout02.jpg?20240909) no-repeat;
	background-size: cover;
	background-position: center center;
	transition: transform 2.0s ease;
	z-index: -1;
	backface-visibility: hidden;
}
#topAbout ul li:nth-child(3)::after {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: url(../images/topAbout03.jpg?20240909) no-repeat;
	background-size: cover;
	background-position: center center;
	transition: transform 2.0s ease;
	z-index: -1;
	backface-visibility: hidden;
}
#topAbout ul li:not(.is-show)::after {
	transform: scale(1.1);
}
#topAbout ul li.is-show::after {
	transform: scale(1.0);
}
#topAbout ul li a {
	color: #fff;
}
#topAbout ul li p.txt {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 2;
	text-shadow: 0px 0px 12px rgba(0,0,0,0.8);
}
#topAbout ul li p.txt span.small {
	font-size: 20px;
}
#topAbout ul li p.txt span.num {
	font-size: 100px;
	line-height: 1.2;
}
#topAbout ul li p.txt span.mid {
	font-size: 48px;
	font-weight: bold;
	margin-left: 10px;
}
#topAbout ul li span.eng {
	color: #fff;
	font-size: 80px;
	line-height: 1;
	opacity: 0.4;
	position: absolute;
	top: 50%;
	left: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 2;
}
#topAbout ul li:hover::after {
	transform: scale(1.1);
}
/* 1400 */
@media (max-width: 1400px) {
	#topAbout ul li span.eng {
		font-size: max(5.7vw, 30px);
	}
	#topAbout ul li p.txt span.num {
		font-size: max(7vw, 60px);
	}
	#topAbout ul li p.txt span.mid {
		font-size: max(3.4vw, 30px);
	}
}
/* 1200 */
@media (max-width: 1400px) {
	#topAbout {
		margin-bottom: max(5vw, 42px);
	}
	#topAbout ul li span.eng {
		left: -8px;
	}
}
/* 768 */
@media (max-width: 768px) {
	#topAbout {
		margin-bottom: 25px;
	}
	#topAbout ul li {
		aspect-ratio: 2 / 1;
		width: 100%;
		margin-bottom: 25px;
	}
	#topAbout ul li::after {
		aspect-ratio: 2 / 1!important;
	}
	#topAbout ul li span.eng {
		left: -3px;
	}
	#topAbout ul li:last-child {
		margin-bottom: 0;
	}
}

/*--------------------------------------------------------------*/
/* topReason */
/*--------------------------------------------------------------*/
#topReason {
	text-align: center;
}
#topReason a img {
	transition: .7s;
}
#topReason a:hover img {
	opacity: 0.7;
}

/*--------------------------------------------------------------*/
/* topPlans */
/*--------------------------------------------------------------*/
#topPlans .btnya {
	padding: 8px 20px 8px 23px;
}
#topPlans header.htype01 span.eng::after {
	aspect-ratio: 312 / 80;
	width: 420px;
	right: -141%;
	top: -8%;
	background-image: url(../images/plan_an.svg);
}
#topPlans header.htype01 p.head_text {
	line-height: 2;
	margin: 20px 0 60px;
}
#topPlans h2 {
	font-size: 36px;
	padding-top: 25px;
	padding-bottom: 15px;
	padding-left: 20px;
	border-top: 1px solid #005F3D;
	cursor: pointer;
	transition: .3s ease;
}
body.is-pc #topPlans h2:hover {
	background: #edfff9;
}
#topPlans h2 svg {
	transform: translateY(4px);
	margin-right: 5px;
	transition: .6s ease;
}
#topPlans h2.open svg {
	transform: translateY(4px) rotate(90deg);
}
#topPlans h2 span.catch {
	display: inline-block;
	font-size: 24px;
	margin-left: 24px;
	padding-bottom: 20px;
}
#topPlans .plan_index {
	display: none;
	padding-top: 30px;
}
#topPlans hr {
	border: none;
	border-bottom: 1px solid #005F3D;
}
/* 1300 */
@media (max-width: 1300px) {
	/* .btnya ul.planA */
	#topPlans ul.planA .btnya {
		padding: 0;
		background: #fff;
	}
	#topPlans ul.planA .btnya span.txt {
		display: none;
	}
	#topPlans ul.planA .btnya span.ya {
		display: inline-block;
		width: 28px;
		margin-left: 0;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		border: none;
		position: relative;
		background: url(../images/ya_green.svg) no-repeat;
		background-position: center center;
		transition: all 0.2s ease;
	}
}
/* 1230 */
@media (max-width: 1230px) {
	#topPlans header.htype01 span.eng::after {
		width: max(34.1vw, 227px);
	}
}
/* 1200 */
@media (max-width: 1200px) {
	#topPlans h2 {
		font-size: max(3vw, 22px); //36px;
	}
	#topPlans h2 span.catch {
		font-size: max(2vw, 14px); //24px;
	}
}
/* 834 */
@media (max-width: 834px) {
	#topPlans .btnya span.ya {
		width: 26px;
	}
	/* .btnya ul.planB */
	#topPlans ul.planB .btnya {
		padding: 0;
		background: #fff;
	}
	#topPlans ul.planB .btnya span.txt {
		display: none;
	}
	#topPlans ul.planB .btnya span.ya {
		display: inline-block;
		width: 26px;
		margin-left: 0;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		border: none;
		position: relative;
		background: url(../images/ya_green.svg) no-repeat;
		background-position: center center;
		transition: all 0.2s ease;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topPlans .btnya span.ya {
		width: 22px;
	}
	#topPlans h2 {
		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 5px;
	}
	#topPlans h2 span.catch {
		margin-left: 0;
		padding-top: 4px;
		padding-bottom: 10px;
		padding-left: 45px;
		display: block;
	}
	#topPlans h2 svg {
		transform: translateY(22px);
	}
	#topPlans h2.open svg {
		transform: translateY(22px) rotate(90deg);
	}
	/* .btnya ul.planC */
	#topPlans ul.planC .btnya {
		padding: 0;
		background: #fff;
	}
	#topPlans ul.planC .btnya span.txt {
		display: none;
	}
	#topPlans ul.planC .btnya span.ya {
		display: inline-block;
		width: 26px;
		margin-left: 0;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		border: none;
		position: relative;
		background: url(../images/ya_green.svg) no-repeat;
		background-position: center center;
		transition: all 0.2s ease;
	}
}

/*--------------------------------------------------------------*/
/* topPlans => ul.planA */
/*--------------------------------------------------------------*/
#topPlans div.planA {
	margin-bottom: 120px;
}
#topPlans ul.planA {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 56px 2%;
}
#topPlans ul.planA li {
	width: calc(96% / 3);
}
#topPlans ul.planA li figure {
	margin-bottom: 5px;
	position: relative;
	overflow: hidden;
}
#topPlans ul.planA li figure figcaption {
	font-size: 16px;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	color: #fff;
	padding: 10px;
}
/* a:hover */
body.is-pc #topPlans ul.planA li a:hover figure figcaption::before {
	transform: rotateZ(0deg);
}
#topPlans ul.planA li figure figcaption span.txt {
	position: relative;
	z-index: 2;
}
#topPlans ul.planA li figure figcaption::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(0,95,61,0.7);
	transform: rotateZ(10deg);
	transform-origin: top left;
	transition: transform .4s ease;
	z-index: 1;
}
#topPlans ul.planA li div.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#topPlans ul.planA li div.flex span.price span.num {
	font-size: 44px;
	font-weight: bold;
	color: #005F3D;
}
#topPlans ul.planA li div.flex span.price span.yen {
	font-size: 24px;
	font-weight: bold;
	color: #005F3D;
}
/* li:last-child */
#topPlans ul.planA li:last-child {
	width: calc(((96% / 3) * 2) + 2%);
}
#topPlans ul.planA li:last-child div.flex {
	justify-content: flex-start;
}
#topPlans ul.planA li:last-child div.flex span.price {
	margin-right: 30px;
}
/* 1200 */
@media (max-width: 1200px) {
	#topPlans div.planA {
		margin-bottom: max(10vw, 70px); //120px;
	}
	#topPlans ul.planA li figure figcaption {
		font-size: max(1.333vw, 14px); //16px;
	}
	#topPlans ul.planA li div.flex span.price span.num {
		font-size: max(3.667vw, 28px); //44px;
	}
	#topPlans ul.planA li div.flex span.price span.yen {
		font-size: max(2vw, 15px); //24px;
	}
}
/* 834 */
@media (max-width: 834px) {
	#topPlans ul.planA li figure {
		margin-bottom: 0px;
	}
	#topPlans ul.planA li figure figcaption::before {
		display: none;
	}
	#topPlans ul.planA li figure figcaption {
		position: initial;
		width: 100%;
		color: initial;
		padding: 0px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topPlans ul.planA {
		gap: 30px 5%;
	}
	#topPlans ul.planA li {
		width: calc(95% / 2);
	}
	#topPlans ul.planA li:last-child {
		width: 100%;
	}
	#topPlans ul.planA li:last-child div.flex {
		justify-content: space-between;
	}
	#topPlans ul.planA li figure figcaption {
		padding-top: 6px;
	}
}

/*--------------------------------------------------------------*/
/* topPlans => ul.planB */
/*--------------------------------------------------------------*/
#topPlans div.planB {
	margin-bottom: 120px;
}
#topPlans ul.planB {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 56px 4%;
}
#topPlans ul.planB li {
	width: calc(96% / 2);
}
#topPlans ul.planB li figure {
	margin-bottom: 12px;
	position: relative;
	overflow: hidden;
}
#topPlans ul.planB li figure figcaption {
	font-size: 16px;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	color: #fff;
	padding: 8px 15px 17px 15px;
}
/* a:hover */
body.is-pc #topPlans ul.planB li a:hover figure figcaption::before {
	transform: rotateZ(0deg);
}
#topPlans ul.planB li figure figcaption span.txt {
	position: relative;
	z-index: 2;
}
#topPlans ul.planB li figure figcaption span.txt span.num {
	font-size: 22px;
}
#topPlans ul.planB li figure figcaption::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(0,95,61,0.7);
	transform: rotateZ(-10deg);
	transform-origin: bottom left;
	transition: transform .4s ease;
	z-index: 1;
}
#topPlans ul.planB li div.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#topPlans ul.planB li div.flex span.bloc span.plan_name {
	font-size: 26px;
	font-weight: bold;
	color: #005F3D;
}
#topPlans ul.planB li div.flex span.bloc span.plan {
	font-size: 18px;
	font-weight: bold;
	color: #005F3D;
}
/* 1200 */
@media (max-width: 1200px) {
	#topPlans div.planB {
		margin-bottom: max(10vw, 70px); //120px;
	}
	#topPlans ul.planB li figure figcaption {
		font-size: max(1.333vw, 12px); //16px;
	}
	#topPlans ul.planB li figure figcaption span.txt span.num {
		font-size: max(1.833vw, 16px); //22px;
	}
	#topPlans ul.planB li div.flex span.bloc span.plan_name {
		font-size: max(2.167vw, 16px); //26px;
	}
	#topPlans ul.planB li div.flex span.bloc span.plan {
		font-size: max(1.5vw, 12px); //18px;
	}
}
/* 834 */
@media (max-width: 834px) {
	#topPlans ul.planB li figure {
		margin-bottom: 5px;
	}
	#topPlans ul.planB li figure figcaption {
		top: initial;
		bottom: 0;
		padding: 5px 5px 0px 8px;
	}
	#topPlans ul.planB li figure figcaption::before {
		top: initial;
		left: 0;
		bottom: 0;
		transform: rotateZ(10deg);
		transform-origin: top left;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topPlans ul.planB {
		gap: 30px 5%;
	}
	#topPlans ul.planB li {
		width: calc(95% / 2);
	}
	#topPlans ul.planB li:last-child div.flex {
		justify-content: space-between;
	}
	#topPlans ul.planB li figure figcaption {
		padding-top: 6px;
	}
	#topPlans ul.planB li div.flex span.bloc span.plan_name.small {
		letter-spacing: -2px;
		font-size: 15px;
	}
}


/*--------------------------------------------------------------*/
/* topPlans => ul.planC */
/*--------------------------------------------------------------*/
#topPlans div.planC {
	/*margin-bottom: 120px;*/
}
#topPlans ul.planC li {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 10px 5%;
	margin-bottom: 68px;
}
/* div.img */
#topPlans ul.planC li div.img {
	width: calc(95% / 2);
}
#topPlans ul.planC li div.img figure {
	position: relative;
	overflow: hidden;
}
#topPlans ul.planC li div.img figure figcaption {
	font-size: 16px;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	color: #fff;
	padding: 8px 15px 17px 15px;
}
/* a:hover */
body.is-pc #topPlans ul.planC li div.img a:hover figure figcaption::before {
	transform: rotateZ(0deg);
}
#topPlans ul.planC li div.img figure figcaption span.txt {
	position: relative;
	z-index: 2;
}
#topPlans ul.planC li div.img figure figcaption span.txt span.num {
	font-size: 22px;
}
#topPlans ul.planC li div.img figure figcaption::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(0,95,61,0.7);
	transform: rotateZ(-10deg);
	transform-origin: bottom left;
	transition: transform .4s ease;
	z-index: 1;
}
/* div.text */
#topPlans ul.planC li div.text {
	width: calc(95% / 2);
}
#topPlans ul.planC li div.text p.txt.mn {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
#topPlans ul.planC li div.text span.bloc {
	display: block;
	margin-bottom: 20px;
}
#topPlans ul.planC li div.text span.bloc span.plan_name {
	font-size: 26px;
	font-weight: bold;
	color: #005F3D;
}
#topPlans ul.planC li div.text span.bloc span.plan {
	font-size: 18px;
	font-weight: bold;
	color: #005F3D;
}
#topPlans ul.planC li div.text div.sp_flex p.txt {
	line-height: 2;
	margin-bottom: 40px;
}
/* 1200 */
@media (max-width: 1200px) {
	#topPlans ul.planC li div.img figure figcaption {
		font-size: max(1.333vw, 12px); //16px;
	}
	#topPlans ul.planC li div.img figure figcaption span.txt span.num {
		font-size: max(1.833vw, 16px); //22px;
	}
	#topPlans ul.planC li div.text span.bloc span.plan_name {
		font-size: max(2.167vw, 20px); //26px;
	}
	#topPlans ul.planC li div.text span.bloc span.plan {
		font-size: max(1.5vw, 14px); //18px;
	}
}
/* 834 */
@media (max-width: 834px) {
	/* div.img */
	#topPlans ul.planC li div.img {
		max-width: 580px;
		width: 100%;
		margin: 0 auto;
	}
	/* div.text */
	#topPlans ul.planC li div.text {
		max-width: 580px;
		width: 100%;
		margin: 0 auto;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topPlans ul.planC li:last-child {
		margin-bottom: 0;
	}
	#topPlans ul.planC li div.img figure {
		aspect-ratio: 340 / 140;
		width: 100%;
		overflow: hidden;
	}
	#topPlans ul.planC li div.img figure img {
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		height: 100%;
	}
	#topPlans ul.planC li div.img figure figcaption {
		padding: 5px 10px 12px 12px;
	}
	#topPlans ul.planC li {
		margin-bottom: 30px;
	}
	#topPlans ul.planC li div.text p.txt.mn {
		font-size: 12px;
		margin-bottom: 3px;
	}
	#topPlans ul.planC li div.text div.sp_flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#topPlans ul.planC li div.text div.sp_flex p.txt {
		display: none;
	}
}

/*--------------------------------------------------------------*/
/* body.home .foot_contact */
/*--------------------------------------------------------------*/
body.home #foot_contact {
	padding-bottom: 60px;
	margin-bottom: 160px;
}
/* 1080 */
@media (max-width: 1080px) {
	body.home #foot_contact {
		padding-bottom: 50px;
		margin-bottom: max(7.407vw, 56px); //80px;
	}
}

/*--------------------------------------------------------------*/
/* topContact */
/*--------------------------------------------------------------*/
#topContact {
	position: absolute;
	bottom: -60px;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
#topContact ul {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 940px;
	margin: 0 auto;
	gap: 20px 6%;
}
#topContact ul li {
	max-width: 440px;
	width: calc(94% / 2);
}
#topContact ul li a {
	display: block;
	background: #005F3D;
	color: #fff;
	width: 100%;
	padding: 15px 20px 10px 20px;
	position: relative;
}
#topContact ul li a img.gift {
	position: absolute;
	top: -25px;
	left: -70px;
	filter: drop-shadow(2px 2px 1px rgba(0,0,0,0.4));
	max-width: 111px;
}
#topContact ul li a dl {
	display: flex;
	flex-direction: column;
	height: 100%;
}
#topContact ul li a dl dt {
	flex: 1 1 25%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 5px;
}
#topContact ul li a dl dd {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 12px;
}
#topContact ul li a dl dd p.txt {
	font-size: 20px;
	font-weight: bold;
}
#topContact ul li a dl dd p.txt span.strong {
	font-size: 30px;
	margin-right: 5px;
}
#topContact ul li:nth-child(1) a dl dd:nth-child(2) img {
	aspect-ratio: 88 / 85;
	max-width: 50px;
	min-width: 31px;
	width: 6.5vw;
}
#topContact ul li:nth-child(2) a dl dd:nth-child(2) i {
	font-size: 3.2rem;
}
/* 1080 */
@media (max-width: 1080px) {
	#topContact {
		position: initial;
		bottom:initial;
		left: initial;
		width: 100%;
		-webkit-transform: initial;
		transform: initial;
	}
	#topContact ul {
		display: flex;
		flex-direction: column;
		gap: 20px 6%;
	}
	#topContact ul li {
		width: 90%;
		margin: 0 auto;
	}
	#topContact ul li a {
		padding: 15px max(1.852vw, 14px) 10px max(1.852vw, 14px);
	}
	#topContact ul li a img.gift {
		display: none;
	}
	#topContact ul li a dl dt {
		font-size: max(1.852vw, 14px); //20px;
	}
	#topContact ul li a dl dd {
		column-gap: max(1.111vw, 5px); //12px;
	}
	#topContact ul li a dl dd p.txt {
		font-size: max(1.852vw, 14px); //20px;
	}
	#topContact ul li a dl dd p.txt span.strong {
		font-size: max(2.778vw, 21px); //30px;
	}
	#topContact ul li:nth-child(2) a dl dd:nth-child(2) i {
		font-size: max(2.96vw, 2.2rem); //3.2rem;
	}
}

/*--------------------------------------------------------------*/
/* topInstagram */
/*--------------------------------------------------------------*/
#topInstagram .top_insta {
	color: #fff;
	max-width: 1200px;
	margin: 0 auto;
	background: url(../images/top_insta_bk.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 25px 5%;
	padding: 25px 25px 25px 35px;
}
/* left */
#topInstagram .top_insta .left {
	width: calc(95% / 2);
}
#topInstagram .top_insta .left .row1 { /* row1 */
	display: flex;
	align-items: center;
	gap: 0 4%;
}
#topInstagram .top_insta .left .row1 figure {
	width: 23%;
}
#topInstagram .top_insta .left .row1 h2 {
	width: 73%;
	font-size: 28px;
	line-height: 1.8;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.4);
}
#topInstagram .top_insta .left .row2 {
	margin-bottom: 20px;
}
#topInstagram .top_insta .left .row2 dl { /* row2 */
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 6%;
	padding-bottom: 5px;
	border-bottom: 1px solid #fff;
}
#topInstagram .top_insta .left .row2 dl dt {
	font-size: 16px;
	width: 22%;
	text-align: center;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.4);
}
#topInstagram .top_insta .left .row2 dl dd {
	width: 72%;
}
#topInstagram .top_insta .left .row2 dl dd a {
	font-size: 48px;
	font-weight: bold;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.4);
	color: #fff;
	transition: color .3s ease;
}
#topInstagram .top_insta .left .row2 dl dd a:hover {
	color: #852626;
}
#topInstagram .top_insta .left .row3 .flex { /* row3 */
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
}
#topInstagram .top_insta .left .row3 .flex dl {
	text-align: center;
}
#topInstagram .top_insta .left .row3 .flex dl dt {
	font-size: 16px;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.4);
}
#topInstagram .top_insta .left .row3 .flex dl dd a {
	font-size: 28px;
	font-weight: bold;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.4);
	color: #fff;
	transition: color .3s ease;
}
#topInstagram .top_insta .left .row3 .flex dl dd a:hover {
	color: #852626;
}
/* right */
#topInstagram .top_insta .right {
	width: calc(95% / 2);
}
#topInstagram .top_insta .right ul {
	display: flex;
	justify-content: space-between;
	gap: 0 3%;
}
/* 1300 */
@media (max-width: 1300px) {
	#topInstagram .top_insta .left .row1 h2 { /* row1 */
		font-size: max(2.154vw, 16px); //28px;
	}
	#topInstagram .top_insta .left .row2 dl dt { /* row2 */
		font-size: max(1.231vw, 11px); //16px;
	}
	#topInstagram .top_insta .left .row2 dl dd a {
		font-size: max(3.692vw, 26px); //48px;
	}
	#topInstagram .top_insta .left .row3 .flex dl dt {
		font-size: max(1.231vw, 11px); //16px;
	}
	#topInstagram .top_insta .left .row3 .flex dl dd a {
		font-size: max(2.154vw, 20px); //28px;
	}
}
/* 900 */
@media (max-width: 900px) {
	#topInstagram .top_insta {
		padding: 25px;
	}
	/* left */
	#topInstagram .top_insta .left {
		width: 100%;
	}
	#topInstagram .top_insta .left .row1 { /* row1 */
		justify-content: center;
	}
	/* right */
	#topInstagram .top_insta .right {
		width: 100%;
	}
	#topInstagram .top_insta .left .row1 figure { /* row1 */
		width: auto;
	}
	#topInstagram .top_insta .left .row1 figure img {
		max-width: 80px;
		width: 18vw;
	}
	#topInstagram .top_insta .left .row1 h2 {
		width: auto;
	}
	#topInstagram .top_insta .left .row2 dl { /* row2 */
		justify-content: center;
	}
	#topInstagram .top_insta .left .row2 dl dt {
		width: auto;
	}
	#topInstagram .top_insta .left .row2 dl dd {
		width: auto;
	}
	#topInstagram .top_insta .left .row3 .flex { /* row3 */
		justify-content: center;
		gap: 0 10%;
	}
	/* right */
	#topInstagram .top_insta .right ul {
		max-width: 600px;
		margin: 0 auto;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topInstagram .top_insta {
		padding: 20px;
	}
}


/*--------------------------------------------------------------*/
/* topWorks */
/*--------------------------------------------------------------*/
#topWorks {
	overflow: hidden;
}
#topWorks header.htype01 span.eng::after {
	aspect-ratio: 305 / 106;
	width: 305px;
	right: -50%;
	top: 17%;
	background-image: url(../images/works_an.svg);
}
#topWorks .pickup {
	position: relative;
	padding: 80px;
	margin-bottom: 80px;
}
#topWorks .pickup::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	pointer-events: none;
	z-index: 1;
}
#topWorks .pickup img.bk {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}
#topWorks .pickup .inner {
	position: relative;
	z-index: 2;
	max-width: 600px;
	width: 100%;
}
#topWorks .pickup .inner .pick {
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	border: 1px solid #005F3D;
	background: #fff;
	width: max-content;
	padding: 7px 20px 4px 20px;
	box-shadow: 3px 3px 0 0 #005f3d;
	margin-bottom: 25px;
}
#topWorks .pickup .inner h3 {
	aspect-ratio: 364 / 80;
	max-width: 363px;
	padding: 0 25px;
	margin-bottom: 25px;
	color: #fff;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	background: url(../images/work_grandpri.svg) no-repeat;
	background-size: contain;
}
#topWorks .pickup .inner h3 span.sakuhin {
	display: block;
	font-size: 24px;
	margin-top: 5px;
}
#topWorks .pickup .inner h2 {
	color: #fff;
	font-size: 32px;
	line-height: 1.3;
	margin-bottom: 36px;
}
#topWorks .pickup .inner p.txt {
	color: #fff;
	margin-bottom: 50px;
	line-height: 2.4;
}
#topWorks .pickup .inner dl {
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #005f3d;
	width: max-content;
}
#topWorks .pickup .inner dl dt {
	font-size: 12px;
	height: 26px;
	width: 80px;
	background: #005f3d;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
#topWorks .pickup .inner dl dd {
	font-size: 14px;
	font-weight: bold;
	height: 26px;
	padding-left: 15px;
	padding-right: 15px;
	background: #fff;
	color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
}
#topWorks .pickup .inner a.btnya {
	position: absolute;
	bottom: -10px;
	right: 0;
}
/* swiper */
#topWorks .works_content {
	overflow: hidden;
	width: calc(1440px + ((100% - 1440px) / 2));
	margin-left: auto;
	position: relative;
}
#topWorks .works_content .works_swiper {
	position: relative;
}
#topWorks ul.works_swiper_list {
	margin-bottom: 60px;
}
#topWorks ul.works_swiper_list li figure {
	margin-bottom: 16px;
}
#topWorks ul.works_swiper_list li figure img {
	aspect-ratio: 456 / 306;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#topWorks ul.works_swiper_list li .box .body h4 {
	margin-bottom: 6px;
}
#topWorks ul.works_swiper_list li a:hover .box .body h4 {
	color: #000;
}
#topWorks ul.works_swiper_list li .box .body p.txt {
	font-size: 12px;
	color: #005F3D;
}
/* 1495 */
@media (max-width: 1495px) {
	#topWorks .works_content {
		margin-left: 20px;
	}
}
/* 1230 */
@media (max-width: 1230px) {
	#topWorks header.htype01 span.eng::after {
		width: max(24.8vw, 200px);
	}
	#topWorks .pickup {
		position: relative;
		padding: max(6.7vw, 30px);
		margin-bottom: 80px;
	}
}
/* 1150 */
@media (max-width: 1150px) {
	#topWorks .works_content {
		padding: 0 20px;
		max-width: 1150px;
		width: 100%;
		margin: 0 auto;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* pickup */
	#topWorks .pickup {
		padding: 0;
		margin-bottom: 80px;
	}
	#topWorks .pickup::after {
		display: none;
	}
	#topWorks .pickup img.bk {
		position: initial;
		object-fit: cover;
		transform: scale(1.12);
	}
	#topWorks .pickup .inner {
		padding-top: -40px;
	}
	#topWorks .pickup .inner h3 {
		color: initial;
		font-size: 10px;
		margin: 0 auto 25px auto;
		padding-top: 5px;
		width: 86%;
	}
	#topWorks .pickup .inner h2 {
		color: initial;
		font-size: 22px;
		margin-bottom: 20px;
		text-align: center;
	}
	#topWorks .pickup .inner p.txt {
		color: initial;
		margin-bottom: 20px;
		line-height: 1.6;
	}
	#topWorks .pickup .inner a.btnya {
		position: initial;
		bottom: initial;
		right: 0;
		margin-top: 40px;
	}
	/* ul.works_list */
	#topWorks ul.works_list {
		margin-bottom: 0;
	}
	#topWorks .works_content::after {
		width: calc(100% - 7px);
	}
	#topWorks a.btn.big {
		width: 80%;
	}
	/* prev next */
	#topWorks .wrap .swiper-pager {
		position: absolute;
		top: 43%;
		right: 20px;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}
	#topWorks .wrap .swiper-button-prev {
		display: none;
	}
}

/*--------------------------------------------------------------*/
/* topVoice */
/*--------------------------------------------------------------*/
#topVoice {
	overflow: hidden;
}
#topVoice header.htype01 {
	margin-bottom: 70px;
}
#topVoice header.htype01 span.eng::after {
	aspect-ratio: 460 / 150;
	width: 434px;
	background-image: url(../images/user_voice_an.svg);
	right: -127%;
	top: 25%;
}
/* swiper */
#topVoice .voice_content {
	overflow: hidden;
	width: calc(1440px + ((100% - 1440px) / 2));
	margin-left: auto;
	position: relative;
}
#topVoice .voice_content .works_swiper {
	position: relative;
}
#topVoice ul.voice_swiper_list {
	margin-bottom: 60px;
}
#topVoice ul.voice_swiper_list li figure img {
	aspect-ratio: 672 / 451;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#topVoice ul.voice_swiper_list li .box .body h4 {
	margin-bottom: 6px;
}
#topVoice ul.voice_swiper_list li a:hover .box .body h4 {
	color: #000;
}
#topVoice ul.voice_swiper_list li .box .body p.txt {
	font-size: 12px;
	color: #005F3D;
}
#topVoice ul.voice_swiper_list li .text {
	width: 85%;
	padding: 15px 20px;
	background: #fff;
	margin-top: -12%;
	margin-left: auto;
	margin-right: -20px;
	position: relative;
	z-index: 2;
}
#topVoice ul.voice_swiper_list li .text .num {
	font-size: 14px;
}
#topVoice ul.voice_swiper_list li .text h3 {
	font-size: 20px;
	margin-bottom: 7px;
}
#topVoice ul.voice_swiper_list li a figure img {
	transition: opacity .3s ease;
}
#topVoice ul.voice_swiper_list li a:hover figure img {
	opacity: 0.9;
}
#topVoice .google_content {
	max-width: 1240px;
}
/* 1495 */
@media (max-width: 1495px) {
	#topVoice .voice_content {
		margin-left: 20px;
	}
}
/* 1230 */
@media (max-width: 1230px) {
	#topVoice header.htype01 span.eng::after {
		width: max(24.8vw, 200px);
	}
}
/* 1150 */
@media (max-width: 1150px) {
	#topVoice .voice_content {
		padding: 0 20px;
		max-width: 1150px;
		width: 100%;
		margin: 0 auto;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topVoice header.htype01 {
		margin-bottom: 10px;
	}
	#topVoice ul.voice_swiper_list li .text {
		width: 100%;
		padding: 0px;
		margin-top: 0;
		margin-left: auto;
		margin-right: 0;
	}
	#topVoice ul.voice_swiper_list li .text h3 {
		font-size: 18px;
		margin-bottom: 4px;
	}
	#topVoice ul.voice_swiper_list li .text p.txt {
		font-size: 14px;
	}
	/* prev next */
	#topVoice .wrap .swiper-pager {
		position: absolute;
		top: 43%;
		right: 20px;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}
	#topVoice .wrap .swiper-button-prev {
		display: none;
	}
}

/*--------------------------------------------------------------*/
/* swiper_control */
/*--------------------------------------------------------------*/
/* control */
.swiper_control {
	width: auto;
	max-width: 1480px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 10px;
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
	position: relative;
}
.swiper_control a.btnya {
	margin: 0 auto;
}
/* prev next */
.swiper_control .swiper-pager {
	position: absolute;
	bottom: 0;
	right: 20px;
	width: 160px;
	display: flex;
	justify-content: space-between;
	z-index: 1;
}
.swiper_control .swiper-button-prev,
.swiper_control .swiper-button-next {
	position: initial;
	left: initial;
	right: initial;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	width: 62px;
	height: 62px;
	background: #fff;
	border: 1px solid #005F3D;
	transition: .3s background ease;
}
.swiper_control .swiper-button-prev,
.swiper_control .swiper-button-next {
	fill: #005F3D;
	transition: .3s ease;
}
.swiper_control .swiper-button-prev:hover,
.swiper_control .swiper-button-next:hover {
	background: #005F3D;
	fill: #fff;
}
.swiper_control .swiper-button-prev::after {
	content: "";
}
.swiper_control .swiper-button-next::after {
	content: "";
}
/* 768 */
@media (max-width: 768px) {
	/* prev next */
	.swiper_control .swiper-pager {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* control */
	.swiper_control {
		padding-top: 0px;
	}
}

/*--------------------------------------------------------------*/
/* topNews */
/*--------------------------------------------------------------*/
#topNews header.htype01 span.eng::after {
	aspect-ratio: 248 / 80;
	width: 248px;
	background-image: url(../images/top_news_an.svg);
	right: -81%;
	top: -3%;
}
#topNews ul.news {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 30px 3%;
}
#topNews ul.news li {
	width: calc(94% / 3);
}
#topNews ul.news li a figure {
	margin-bottom: 10px;
}
#topNews ul.news li a div.text time {
	display: block;
	font-size: 18px;
	font-weight: bold;
	color: #005F3D;
	margin-bottom: 5px;
}
#topNews ul.news li a div.text h4 {
	font-size: 18px;
}
/* 1200 */
@media (max-width: 1200px) {
	#topNews ul.news li a div.text time {
		font-size: max(1.5vw, 14px); //18px;
		margin-bottom: 5px;
	}
	#topNews ul.news li a div.text h4 {
		font-size: max(1.5vw, 14px); //18px;
	}
}
/* 834 */
@media (max-width: 834px) {
	#topNews ul.news {
		gap: 30px 3%;
	}
	#topNews ul.news li {
		width: calc(97% / 2);
	}
	#topNews ul.news li a figure {
		margin-bottom: 8px;
	}
	#topNews ul.news li a div.text time {
		margin-bottom: 4px;
	}
}

/*--------------------------------------------------------------*/
/* topProblems なくなった */
/*--------------------------------------------------------------*/
#topProblems header.htype01 {
	margin-bottom: 70px;
}
#topProblems header.htype01 span.eng::after {
	aspect-ratio: 337 / 136;
	width: 337px;
	background-image: url(../images/problems_an.svg);
	right: -35%;
}
#topProblems .flex {
	justify-content: space-between;
	flex-wrap: wrap;
	line-break: strict;
	margin-bottom: 100px;
}
#topProblems .flex .left,
#topProblems .flex .right {
	width: 47.5%;
}
#topProblems .flex .left figure {
	display: block;
	position: sticky;
	top: 95px;
}
#topProblems .flex .right ul li {
	border-top: 1px solid #005F3D;
	padding: 25px 0;
}
#topProblems .flex .right ul li h2 {
	font-size: 32px;
	line-height: 1.3;
	margin-bottom: 20px;
}
#topProblems .staffs_content {
	position: relative;
}
#topProblems .staffs_content h2 {
	position: absolute;
	left: 0;
	bottom: 20px;
	font-size: 32px;
	line-height: 1.3;
}
#topProblems .staffs_content ul {
	display: flex;
	justify-content: center;
	margin: 0 80px;
}
#topProblems .staffs_content ul li {
	margin: 0 5px;
}
/* 1230 */
@media (max-width: 1230px) {
	#topProblems header.htype01 span.eng::after {
		width: max(27.5vw, 200px);
	}
}
/* 834 */
@media (max-width: 834px) {
	#topProblems .flex {
		margin-bottom: 60px;
	}
	#topProblems .flex .left,
	#topProblems .flex .right {
		width: 100%;
	}
	#topProblems .flex .left {
		margin-bottom: 24px;
	}
	#topProblems .flex .left figure img {
		width: 100%;
	}
	#topProblems .staffs_content ul {
		display: flex;
		justify-content: center;
		margin: 0;
	}
	#topProblems .staffs_content h2 {
		position: initial;
		font-size: max(3.8vw, 20px);
		text-align: center;
		padding-top: 20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topProblems .flex {
		margin-bottom: 20px;
	}
	#topProblems.pd_std {
		padding-bottom: 0;
	}
	#topProblems header.htype01 {
		margin-bottom: 40px;
	}
	#topProblems .staffs_content {
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		background: #EEF0EF;
		padding: 40px 0;
	}
	#topProblems .staffs_content ul {
		margin: 0 10px;
	}
	#topProblems .flex .right ul li h2 {
		font-size: 24px;
		margin-bottom: 10px;
	}
}

/*--------------------------------------------------------------*/
/* topStore */
/*--------------------------------------------------------------*/
#topStore {
	background: url(../images/topStore_bk.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	position: relative;
	color: #fff;
}
#topStore::after {
	content: '';
	display: block;
	background: rgba(0, 95, 61, 0.8);
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: .6s ease;
}
body.is-pc #topStore:hover::after {
	background: rgba(0, 95, 61, 0.9);
}
#topStore .content {
	max-width: 1240px;
	position: relative;
	z-index: 2;
}
#topStore header.htype01 {
	margin-bottom: 70px;
}
#topStore header.htype01 span.eng::after {
	aspect-ratio: 446 / 129;
	width: 446px;
	background-image: url(../images/store_an.svg);
	right: -105%;
	top: 0%;
}
#topStore .flex {
	justify-content: space-between;
	flex-wrap: wrap;
}
#topStore .flex .left,
#topStore .flex .right {
	width: 47.5%;
}
#topStore .flex .right h2 {
	font-size: 32px;
	margin-bottom: 30px;
}
#topStore .flex .right p.txt {
	margin-bottom: 40px;
}
/* 1230 */
@media (max-width: 1230px) {
	#topStore header.htype01 span.eng::after {
		width: max(36.3vw, 200px);
	}
}
/* 834 */
@media (max-width: 834px) {
	#topStore header.htype01 {
		margin-bottom: max(7vw, 20px);
	}
	#topStore .flex .left,
	#topStore .flex .right {
		width: 100%;
	}
	#topStore .flex .left {
		margin-bottom: 30px;
	}
	#topStore .flex .right h2 {
		font-size: max(3.85vw, 24px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#topStore.pd_std {
		padding: 80px 0;
	}
	#topStore .flex .left {
		margin-bottom: 25px;
	}
	#topStore .flex .right h2 {
		margin-bottom: 10px;
	}
	#topStore .flex .right p.txt {
		font-size: 14px;
	}
}

/*--------------------------------------------------------------*/
/* topFeatures */
/*--------------------------------------------------------------*/
#topFeatures {
}
#topFeatures header.htype01 {
	margin-bottom: 70px;
}
#topFeatures header.htype01 span.eng::after {
	aspect-ratio: 382 / 121;
	width: 382px;
	background-image: url(../images/features_an.svg);
	right: -60%;
	top: 10%;
}
#topFeatures ul {
	margin-bottom: 100px;
}
#topFeatures ul li {
	padding: 80px 0 40px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border-bottom: 4px solid #EDEDED;
	position: relative;
}
#topFeatures ul li:first-child {
	padding-top: 0;
}
#topFeatures ul li::after {
	content: '';
	display: block;
	height: 4px;
	width: calc(100% / 3);
	background: #005F3D;
	position: absolute;
	bottom: -4px;
	left: 0;
}
#topFeatures ul li:nth-child(1)::after {
	left: 0;
}
#topFeatures ul li:nth-child(2)::after {
	left: calc(50% - 16.5%);
}
#topFeatures ul li:nth-child(3)::after {
	left: initial;
	right: 0;
}
#topFeatures ul li figure {
	width: 47.5%;
}
#topFeatures ul li div.text {
	width: 47.5%;
	padding-bottom: 100px;
	position: relative;
}
#topFeatures ul li div.text h3 {
	font-size: 32px;
	margin-bottom: 5px;
}
#topFeatures ul li div.text p.txt {
	line-height: 1.6;
}
#topFeatures ul li div.text span.num {
	font-size: 120px;
	position: absolute;
	bottom: -25px;
	right: 0;
	line-height: 1;
}
/* 1230 */
@media (max-width: 1230px) {
	#topFeatures header.htype01 span.eng::after {
		width: max(31vw, 200px);
	}
}
/* 834 */
@media (max-width: 834px) {
	#topFeatures header.htype01 {
		margin-bottom: max(7vw, 20px);
	}
	#topFeatures ul li figure {
		width: 100%;
		margin-bottom: 20px;
	}
	#topFeatures ul li div.text {
		width: 100%;
		padding-bottom: 0;
	}
	#topFeatures ul li div.text h3 {
		font-size: max(3.85vw, 24px);
		line-height: 1.4;
	}
	#topFeatures ul li div.text span.num {
		font-size: max(14.5vw, 80px);
		position: initial;
		bottom: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topFeatures header.htype01 span.eng::after {
		right: -40%;
	}
	#topFeatures ul {
		margin-bottom: 40px;
	}
	#topFeatures ul li {
		padding: 40px 0 0 0;
		border-bottom: none;
	}
	#topFeatures ul li::after {
		content: none;
	}
	#topFeatures ul li figure {
		padding-bottom: 10px;
		border-bottom: 2px solid #EDEDED;
		position: relative;
	}
	#topFeatures ul li figure::after {
		content: '';
		display: block;
		height: 2px;
		width: calc(100% / 3);
		background: #005F3D;
		position: absolute;
		bottom: -2px;
		left: 0;
	}
	#topFeatures ul li:nth-child(2) figure::after {
		left: calc(50% - 16.5%);
	}
	#topFeatures ul li:nth-child(3) figure::after {
		left: initial;
		right: 0;
	}
	#topFeatures ul li div.text span.num {
		font-size: max(14.5vw, 80px);
		position: initial;
		bottom: 0;
		display: block;
		margin-bottom: 5px;
	}
	#topFeatures ul li div.text p.txt {
		font-size: 14px;
	}
}


/*--------------------------------------------------------------*/
/* topFlow */
/*--------------------------------------------------------------*/
#topFlow {
}
#topFlow header.htype01 {
	margin-bottom: 140px;
}
#topFlow header.htype01 span.eng::after {
	aspect-ratio: 218 / 124;
	width: 218px;
	background-image: url(../images/flow_an.svg);
	right: -55%;
	top: 33%;
}
#topFlow ol {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}
#topFlow ol::after {
	content: '';
	height: 100%;
	width: 1px;
	border-right: 1px solid #005F3D;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
#topFlow ol li {
	width: 46%;
	padding: 25px;
	border: 1px solid #fff;
	margin-top: -50px;
	transition: border 1s ease;
	position: relative;
}
#topFlow ol li::after {
	content: '';
	display: block;
	height: 15px;
	width: 15px;
	border-radius: 50%;
	background: #005f3d;
	position: absolute;
	top: 50%;
	right: -10.5%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
#topFlow ol li:nth-child(even)::after {
	left: -10.1%;
	right: initial;
}
#topFlow ol li.is-show {
	border: 1px solid #005F3D;
}
#topFlow ol li:nth-child(even) {
	margin-left: 54%;
}
#topFlow ol li .photo_txt {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px 4%;
}
#topFlow ol li .photo_txt figure {
	width: 40%;
}
#topFlow ol li .photo_txt p.txt {
	width: 56%;
}
#topFlow ol li span.step {
	font-size: 40px;
	color: rgba(0,95,61,0.2);
	line-height: 1;
}
#topFlow ol li h3 {
	font-size: 24px;
	margin-bottom: 20px;
	color: #000;
}
#topFlow ol li p.txt {
	line-height: 1.7;
}
#topFlow ol li div.flex {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 20px;
	gap: 10px 0;
}
#topFlow ol li div.flex .teltime span.tel {
	color: #005F3D;
	font-size: 24px;
	display: block;
	text-align: center;
}
#topFlow ol li div.flex .teltime span.time {
	font-size: 14px;
	display: block;
	text-align: center;
}
#topFlow ol li div.flex a.btnya {
	font-size: 14px;
}
/* 1230 */
@media (max-width: 1230px) {
	#topFlow header.htype01 span.eng::after {
		width: max(18vw, 125px);
	}
}
/* 834 */
@media (max-width: 834px) {
	#topFlow header.htype01 {
		margin-bottom: max(7vw, 30px);
	}
	#topFlow ol::after {
		content: none;
	}
	#topFlow ol li {
		width: 100%;
		margin-top: 0;
		margin-bottom: 40px;
	}
	#topFlow ol li::after {
		content: none;
	}
	#topFlow ol li:nth-child(even) {
		margin-left: 0;
	}
	#topFlow ol li span.step {
		font-size: max(4.8vw, 24px);
		display: block;
		margin-bottom: 5px;
	}
	#topFlow ol li h3 {
		font-size: 24px;
		margin-bottom: 20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topFlow header.htype01 span.eng::after {
		right: -61%;
		top: 51%;
	}
	#topFlow ol li {
		padding: 20px;
	}
	#topFlow ol li div.flex .teltime {
		padding-right: 0;
		margin-bottom: 15px;
	}
	#topFlow ol li .photo_txt figure {
		width: 100%;
		text-align: center;
	}
	#topFlow ol li .photo_txt p.txt {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* topFaq */
/*--------------------------------------------------------------*/
#topFaq header.htype01 span.eng::after {
	aspect-ratio: 346 / 135;
	width: 346px;
	background-image: url(../images/faq_an.svg);
	right: -95%;
	top: -5%;
}
#topFaq .qa_lists {
	max-width: 1200px;
	padding: 0 20px;
	margin: 0 auto;
}
.qa_lists dl {
	background: #fff;
	position: relative;
}
.qa_lists dl dt {
	width: 100%;
	line-height: 1.2;
	padding: 40px 70px 10px 0px;
	position: relative;
	cursor: pointer;
	border-bottom: 1px solid #005F3D;
}
.qa_lists dl dt:hover {
	background: rgb(0 95 61 / 1%);
}
.qa_lists dl dt.is-open .text,
.qa_lists dl dt:hover .text {
	background: #eb7077;
	color: #fff;
}
.qa_lists dl dt span.q_txt {
	padding-left: 20px;
	display: block;
	line-height: 1.4;
}
.qa_lists dl dd {
	padding: 30px;
	background: #EEF0EF;
}
.qa_lists dl dt.is-close + dd {
	display: none;
}
.qa_lists dl dt.is-open + dd {
	display: block;
}
.qa_lists dl dt::after {
	display: block;
	content: '';
	position: absolute;
	top: 70%;
	right: 30px;
	width: 20px;
	height: 2px;
	background: #005F3D;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(-180deg);
}
.qa_lists dl dt.is-close:not(.is-open)::after,
.qa_lists dl dt.is-open::after {
	transform: rotate(-90deg);
}
.qa_lists dl dt.is-close.is-open::after {
	transform: rotate(-180deg);
}
.qa_lists dl dt::before {
	display: block;
	content: '';
	position: absolute;
	top: 70%;
	right: 30px;
	width: 20px;
	height: 2px;
	background: #005F3D;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(0deg);
}
.qa_lists dl dt.is-close:not(.is-open)::before,
.qa_lists dl dt.is-open::before {
	transform: rotate(180deg);
}
.qa_lists dl dt.is-close.is-open::before {
	transform: rotate(0deg);
}
.qa_lists div.center {
	margin-top: 80px;
}
/* 1230 */
@media (max-width: 1230px) {
	#topFaq header.htype01 span.eng::after {
		width: max(28vw, 180px);
	}
	.qa_lists div.center {
		margin-top: max(6.5vw, 40px);
	}
}
/* 900 */
@media (max-width: 900px) {
	.qa_lists dl::after {
		top: 65px;
	}
}
/* 768 */
@media (max-width: 768px) {
	.qa_lists dl dt {
		padding: 27px 50px 23px 0;
	}
	.qa_lists dl dt::after {
		right: 20px;
	}
	.qa_lists dl dt::before {
		right: 20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topFaq header.htype01 {
		margin-bottom: 25px;
	}
	.qa_lists dl dt {
		padding: 13px 45px 18px 0;
	}
	.qa_lists dl dt::after {
		right: 12px;
	}
	.qa_lists dl dt::before {
		right: 12px;
	}
	.qa_lists dl dt span.q_txt {
		padding-left: 13px;
	}
	.qa_lists dl dd {
		padding: 20px;
	}
}

/*--------------------------------------------------------------*/
/* topArea */
/*--------------------------------------------------------------*/
#topArea {
	background: url(../images/topArea_bk.svg) no-repeat;
	background-position: center right -100px;
	background-size: auto 125%;
}
#topArea header.htype01 span.eng::after {
	aspect-ratio: 242 / 94;
	width: 242px;
	background-image: url(../images/area_an.svg);
	right: -59%;
	top: 8%;
}
#topArea header.htype01 h2 {
	font-size: 40px;
	margin-top: 20px;
}
#topArea ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	max-width: 624px;
}
#topArea ul li {
	aspect-ratio: 1 / 1;
	width: calc(97% / 4);
	background: #005F3D;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	margin-bottom: 1%;
}
#topArea ul li:nth-child(n+3) {
	background: #60A48C;
}
#topArea span.note {
	font-size: 14px;
}
/* 1230 */
@media (max-width: 1230px) {
	#topArea header.htype01 span.eng::after {
		width: max(19.6vw, 180px);
	}
	#topArea header.htype01 h2 {
		font-size: max(3.25vw, 24px);
		margin-top: 20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topArea {
		background-position: top -35px right -30px;
		background-size: 120% auto;
	}
	#topArea header.htype01 h2 {
		margin-top: 30px;
	}
	#topArea ul li {
		font-size: 14px;
	}
}

/*--------------------------------------------------------------*/
/* Philosophy頁 -> #page_philosopy */
/*--------------------------------------------------------------*/
#page_philosopy header#page_head span.eng::after {
	aspect-ratio: 273 / 121;
	width: 273px;
	background-image: url(../images/philosophy_an.svg);
	right: -8%;
	top: 35%;
}
/* 1200 */
@media (max-width: 1200px) {
	#page_philosopy header#page_head span.eng::after {
		width: max(22.75vw, 191px); //273px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_philosopy header#page_head span.eng::after {
		top: 65%;
	}
}

/*--------------------------------------------------------------*/
/* Lineup頁 -> #page_lineup */
/*--------------------------------------------------------------*/
#page_lineup .content {
	max-width: 1240px;
}
#page_lineup header.htype01 span.eng::after {
	aspect-ratio: 230 / 171;
	width: 230px;
	right: -43%;
	top: -16%;
	background-image: url(../images/lineup_an.svg);
}
#page_lineup section.lineup {
	margin-bottom: 120px;
}
#page_lineup section.lineup header {
	text-align: center;
	margin-bottom: 42px;
}
#page_lineup section.lineup header h2 {
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 29px;
}
#page_lineup section.lineup header p.head_txt {
	font-size: 16px;
}
#page_lineup section.lineup ul {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 60px 2.5%;
}
#page_lineup section.lineup ul li {
	width: calc(95% / 3);
	box-shadow: 4px 5px 6px 0px rgba(0,0,0,0.2);
}
#page_lineup section.lineup ul li figure {
	display: block;
	overflow: hidden;
}
#page_lineup section.lineup ul li div.text {
	padding: 15px;
}
#page_lineup section.lineup ul li div.text div.name_scd {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 6px;
}
#page_lineup section.lineup ul li div.text div.name_scd h3 {
	font-size: 20px;
	line-height: 1.2;
}
#page_lineup section.lineup ul li div.text div.name_scd h4 {
	font-size: 20px;
	line-height: 1.2;
}
#page_lineup section.lineup ul li div.text .flex {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0 6px;
}
#page_lineup section.lineup ul li div.text .flex span.pitem {
	display: inline-block;
	aspect-ratio: 1 / 1;
	line-height: 1.3;
	margin-top: 3px;
	padding: 2px 4px 4px 4px;
	background: #005F3D;
	color: #fff;
}
#page_lineup section.lineup ul li div.text .flex span.price {
	font-size: 20px;
	color: #005F3D;
	margin-left: 5px;
}
#page_lineup section.lineup ul li div.text .flex span.price span.num {
	font-size: 40px;
}
#page_lineup section.lineup ul li div.text span.zei {
	display: block;
	text-align: right;
}
/* 1240 */
@media (max-width: 1240px) {
	#page_lineup header.htype01 span.eng::after {
		width: max(18.548vw, 161px); //230px;
	}
	#page_lineup section.lineup header h2 {
		font-size: max(2.903vw, 24px); //36px;
		margin-bottom: max(2.339vw, 20px); //29px;
	}
	#page_lineup section.lineup header p.head_txt {
		font-size: max(1.29vw, 14px); //16px;
	}
	#page_lineup section.lineup ul li div.text {
		padding: max(1.21vw, 11px); //15px;
	}
	#page_lineup section.lineup ul li div.text div.name_scd h3,
	#page_lineup section.lineup ul li div.text div.name_scd h4 {
		font-size: max(1.613vw, 14px); //20px;
	}

	#page_lineup section.lineup ul li div.text .flex {
		gap: 0 max(0.484vw, 4px); //6px;
	}
	#page_lineup section.lineup ul li div.text .flex span.pitem {
		font-size: max(1.29vw, 8px); //16px;
		display: inline-block;
		aspect-ratio: 1 / 1;
		line-height: 1.3;
		margin-top: 3px;
		padding: 2px 4px 4px 4px;
		background: #005F3D;
		color: #fff;
	}
	#page_lineup section.lineup ul li div.text .flex span.price {
		font-size: max(1.613vw, 12px); //20px;
		margin-left: max(0.403vw, 2px); //5px;
	}
	#page_lineup section.lineup ul li div.text .flex span.price span.num {
		font-size: max(3.226vw, 24px); //40px;
	}
	#page_lineup section.lineup ul li div.text span.zei {
		font-size: max(1.29vw, 8px); //16px;
	}
}
/* 834 */
@media (max-width: 834px) {
	#page_lineup section.lineup ul {
		gap: 40px 4%;
	}
	#page_lineup section.lineup ul li {
		width: calc(96.0% / 2);
	}
	#page_lineup section.lineup ul li div.text .flex span.pitem {
		line-height: 1.2;
		margin-top: 3px;
		padding: 1px 2px 2px 2px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_lineup header.htype01 span.eng::after {
		right: -50%;
		top: -36%;
		background-image: url(../images/lineup_an.svg);
	}
	#page_lineup section.lineup header {
		margin-top: -30px;
	}
	#page_lineup section.lineup ul {
		gap: 20px 4%;
	}
	#page_lineup section.lineup ul li div.text .flex span.pitem {
		margin-top: 0px;
	}
}

/*--------------------------------------------------------------*/
/* Lineup頁 -> #page_lineup -> Modaal */
/*--------------------------------------------------------------*/
body.lineup_garden .modaal-container {
	max-width: 800px;
	position: relative;
}
.pop_lineup div.maker_logo {
	max-width: 112px;
	max-height: 60px;
	margin-bottom: 10px;
}
.pop_lineup div.maker_logo img {
	max-width: 112px;
	max-height: 60px;
}
.pop_lineup .img_text {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 10px 3.5%;
	margin-bottom: 20px;
}
.pop_lineup .img_text figure {
	width: calc(96.5% / 2);
	overflow: hidden;
}
.pop_lineup .img_text figure img {
	object-fit: cover;
	aspect-ratio: 8 / 6;
	width: 100%;
}
.pop_lineup .img_text div.text {
	width: calc(96.5% / 2);
}
.pop_lineup .img_text div.text .name_scd {
	margin-bottom: 10px;
}
.pop_lineup .img_text div.text .name_scd h3 {
	font-size: 32px;
	line-height: 1.2;
	display: inline-block;
	margin-bottom: 4px;
}
.pop_lineup .img_text div.text .name_scd h4 {
	font-size: 20px;
	line-height: 1.2;
	display: inline-block;
	margin-left: 10px;
}
.pop_lineup .img_text div.text ul.tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 5px;
	margin-bottom: 14px;
}
.pop_lineup .img_text div.text ul.tags li {
	font-size: 16px;
	padding: 5px 15px 7px 15px;
	border-radius: 20px;
	border: 1px solid #005F3D;
	color: #005F3D;
	line-height: 1;
}
.pop_lineup .img_text div.text .maker_price {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 15px;
}
.pop_lineup .img_text div.text .maker_price span.me {
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	padding: 1px 1px 2px 1px;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	border: 1px solid #000;
	margin-right: 4px;
}
.pop_lineup .img_text div.text .maker_price span.me_price {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	margin-top: 2px;
}
.pop_lineup .img_text div.text div.price1 {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0 6px;
}
.pop_lineup .img_text div.text div.price1 dl {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0 8px;
}
.pop_lineup .img_text div.text div.price1 dl dt {
	background: #005F3D;
	color: #fff;
	padding: 2px 8px 3px 8px;
	font-size: 14px;
}
.pop_lineup .img_text div.text div.price1 dl dd span.zei {
	display: block;
	text-align: right;
	font-size: 12px;
}
.pop_lineup .img_text div.text div.price2 {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.pop_lineup .img_text div.text div.price2 div.off {
	background: url(../images/star.svg) no-repeat;
	background-size: contain;
	background-position: center center;
	aspect-ratio: 1 / 1;
	color: #fff;
	display: flex;
	padding: 15px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 14px;
	line-height: 1;
}
.pop_lineup .img_text div.text div.price2 div.off span.per {
	font-size: 48px;
	line-height: 1;
	display: block;
}
.pop_lineup .img_text div.text div.price2 div.off span.eng {
	font-size: 20px;
	line-height: 1;
	display: block;
}
.pop_lineup .img_text div.text div.price2 div.uri span.man {
	color: #005F3D;
	font-size: 96px;
	font-weight: 700;
	line-height: 1;
}
.pop_lineup .img_text div.text div.price2 div.uri span.sen {
	font-size: 48px;
	vertical-align: top;
	transform: translateY(13px);
	display: inline-block;
}
.pop_lineup .img_text div.text div.price2 div.uri span.zei {
	display: block;
	text-align: right;
}
.pop_lineup .img_text div.text div.price2 div.uri span.yen {
	font-size: 24px;
	font-weight: bold;
	color: #005F3D;
	margin-left: -40px;
}
.pop_lineup div.close {
	text-align: center;
}
.pop_lineup div.close button {
	display: inline-block;
	background: #fff;
	border: 1px solid #005F3D;
	color: #005F3D;
	line-height: 1;
	padding: 17px 0 19px;
	max-width: 200px;
	width: 100%;
	border-radius: 30px;
	position: relative;
	transition: .3s ease;
}
.pop_lineup div.close button svg {
	position: absolute;
	top: 50%;
	right: 8%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	fill: #005F3D;
}
body.is-pc .pop_lineup div.close button:hover {
	background: #005F3D;
	color: #fff;
}
body.is-pc .pop_lineup div.close button:hover svg {
	fill: #fff;
	stroke: round;
}
/* 850 */
@media (max-width: 850px) {
	body.lineup_garden .modaal-content-container {
		padding: max(3.529vw, 15px); //30px;
	}
	body.lineup_garden .modaal-container {
		max-width: 600px;
	}
	.pop_lineup .img_text {
		margin-bottom: 20px;
	}
	.pop_lineup .img_text figure {
		width: 100%;
	}
	.pop_lineup .img_text div.text {
		width: 100%;
	}
	.pop_lineup .img_text div.text .name_scd h3 {
		font-size: max(3.765vw, 24px); //32px;
	}
	.pop_lineup .img_text div.text .name_scd h4 {
		font-size: max(2.353vw, 16px); //20px;
		margin-left: 10px;
	}
	.pop_lineup .img_text div.text ul.tags li {
		font-size: max(1.882vw, 14px); //16px;
		padding: 5px max(1.765vw, 11px) 7px max(1.765vw, 11px);
	}
	.pop_lineup .img_text div.text .maker_price span.me {
		font-size: max(1.412vw, 10px); //12px;
		margin-right: 4px;
	}
	.pop_lineup .img_text div.text .maker_price span.me_price {
		font-size: max(1.882vw, 14px); //16px;
		margin-top: max(0.235vw, 0px); //2px;
	}
	.pop_lineup .img_text div.text div.price1 {
		margin-bottom: 20px;
	}
	.pop_lineup .img_text div.text div.price1 dl dt {
		padding: max(0.235vw, 0px) 8px max(0.353vw, 3px) 8px;
		font-size: max(1.647vw, 12px); //14px;
	}
	.pop_lineup .img_text div.text div.price1 dl dd {
		font-size: max(1.882vw, 14px); //16px;
	}
	.pop_lineup .img_text div.text div.price1 dl dd span.zei {
		font-size: max(1.412vw, 10px); //12px;
	}
	.pop_lineup .img_text div.text div.price2 {
		justify-content: flex-end;
		gap: 0 20px;
	}
	.pop_lineup .img_text div.text div.price2 div.off {
		font-size: max(1.882vw, 12px); //16px;
	}
	.pop_lineup .img_text div.text div.price2 div.off span.per {
		font-size: max(5.647vw, 32px); //48px;
	}
	.pop_lineup .img_text div.text div.price2 div.off span.eng {
		font-size: max(2.353vw, 16px); //20px;
	}
	.pop_lineup .img_text div.text div.price2 div.uri span.man {
		font-size: max(11.294vw, 72px); //96px;
	}
	.pop_lineup .img_text div.text div.price2 div.uri span.sen {
		font-size: max(5.647vw, 36px); //48px;
		transform: translateY(13px);
	}
	.pop_lineup .img_text div.text div.price2 div.uri span.zei {
		font-size: max(1.882vw, 14px); //16px;
	}
	.pop_lineup .img_text div.text div.price2 div.uri span.yen {
		font-size: max(2.824vw, 20px); //24px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.pop_lineup .img_text {
		margin-bottom: 0px;
	}
	.pop_lineup .img_text div.text .maker_price span.me_price {
		font-size: max(1.882vw, 14px); //16px;
		margin-top: -1px;
	}
	.pop_lineup .img_text div.text div.price2 div.uri span.yen {
		margin-left: -30px;
	}
	.pop_lineup div.close {
		position: absolute;
		top: 15px;
		right: 15px;
	}
	.pop_lineup div.close button {
		display: flex;
		justify-content: center;
		align-items: center;
		background: #005F3D;
		border: none;
		padding: 0;
		aspect-ratio: 1 / 1;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		transition: initial;
	}
	.pop_lineup div.close button svg {
		fill: #fff;
		position: initial;
		top: initial;
		right: initial;
		transform: initial;
		width: 14px;
	}
	.pop_lineup div.close span.txt {
		display: none;
	}
}

/*--------------------------------------------------------------*/
/* Lineup頁 -> #page_lineup_exterior */
/*--------------------------------------------------------------*/
#page_lineup_exterior .content {
	max-width: 1240px;
}
#page_lineup_exterior header.htype01 span.eng::after {
	aspect-ratio: 230 / 168;
	width: 230px;
	right: -43%;
	top: -16%;
	background-image: url(../images/lineup_exterior_an.svg);
}
#page_lineup_exterior ul.planC li {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 10px 4%;
	margin-bottom: 68px;
}
#page_lineup_exterior section.lineup_exterior {
	margin-bottom: 120px;
}
#page_lineup_exterior section.lineup_exterior header {
	text-align: center;
	margin-bottom: 42px;
}
#page_lineup_exterior section.lineup_exterior header h2 {
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 29px;
}
#page_lineup_exterior section.lineup_exterior header p.head_txt {
	font-size: 16px;
}
/* div.img */
#page_lineup_exterior ul.planC li div.img {
	width: calc(96% / 2);
}
#page_lineup_exterior ul.planC li div.img figure {
	position: relative;
	overflow: hidden;
}
#page_lineup_exterior ul.planC li div.img figure figcaption {
	font-size: 16px;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	color: #fff;
	padding: 8px 15px 17px 15px;
}
/* a:hover */
body.is-pc #page_lineup_exterior ul.planC li div.img figure:hover figcaption::before {
	transform: rotateZ(0deg);
}
#page_lineup_exterior ul.planC li div.img figure figcaption span.txt {
	position: relative;
	z-index: 2;
}
#page_lineup_exterior ul.planC li div.img figure figcaption span.txt span.num {
	font-size: 22px;
}
#page_lineup_exterior ul.planC li div.img figure figcaption::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(0,95,61,0.7);
	transform: rotateZ(-10deg);
	transform-origin: bottom left;
	transition: transform .4s ease;
	z-index: 1;
}
/* div.text */
#page_lineup_exterior ul.planC li div.text {
	width: calc(96% / 2);
}
#page_lineup_exterior ul.planC li div.text h3.bloc {
	display: block;
	margin-bottom: 15px;
	line-height: 1.2;
}
#page_lineup_exterior ul.planC li div.text h3.bloc span.plan_name {
	font-size: 32px;
	font-weight: bold;
	color: #005F3D;
}
#page_lineup_exterior ul.planC li div.text h3.bloc span.plan {
	font-size: 24px;
	font-weight: bold;
	color: #005F3D;
}
#page_lineup_exterior ul.planC li div.text h4.txt {
	font-size: 20px;
	line-height: 2;
	margin-bottom: 15px;
}
#page_lineup_exterior ul.planC li div.text p.txt {
	font-size: 16px;
	margin-bottom: 15px;
	line-height: 1.8;
}
/* dl */
#page_lineup_exterior ul.planC li div.text dl {
	position: relative;
}
#page_lineup_exterior ul.planC li div.text dl dt {
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	border-left: 3px solid #005F3D;
	color: #005F3D;
	padding: 5px 0 7px 8px;
	margin-bottom: -10px;
}
#page_lineup_exterior ul.planC li div.text dl dd div.set2 {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	background: #efefef;
	max-width: 430px;
	margin: 0 auto 20px auto;
}
#page_lineup_exterior ul.planC li div.text dl dd div.set2 div {
	padding: 10px;
}
#page_lineup_exterior ul.planC li div.text dl dd div.set2 div.item {
	width: calc(90% / 2);
	background: #005F3D;
	color: #fff;
	text-align: center;
}
#page_lineup_exterior ul.planC li div.text dl dd div.set2 div.plus {
	font-size: 20px;
	color: #005F3D;
	width: 10%;
	text-align: center;
}
/* 1200 */
@media (max-width: 1200px) {
	#page_lineup_exterior header.htype01 span.eng::after {
		width: max(19.167vw, 161px); //230px;
	}
	#page_lineup_exterior section.lineup_exterior header h2 {
		font-size: max(3vw, 24px); //36px;
		margin-bottom: max(2.339vw, 20px); //29px;
	}
	#page_lineup_exterior section.lineup_exterior header p.head_txt {
		font-size: max(1.333vw, 14px); //16px;
	}
	#page_lineup_exterior ul.planC li div.img figure figcaption {
		font-size: max(1.333vw, 12px); //16px;
	}
	#page_lineup_exterior ul.planC li div.img figure figcaption span.txt span.num {
		font-size: max(1.833vw, 16px); //22px;
	}
	#page_lineup_exterior ul.planC li div.text h4.txt {
		font-size: max(1.667vw, 16px); //20px;
	}
	#page_lineup_exterior ul.planC li div.text p.txt {
		font-size: max(1.333vw, 14px); //16px;
	}
	/* div.text */
	#page_lineup_exterior ul.planC li div.text h3.bloc span.plan_name {
		font-size: max(2.667vw, 28px); //32px;
	}
	#page_lineup_exterior ul.planC li div.text h3.bloc span.plan {
		font-size: max(2vw, 20px); //24px;
	}
}
/* 834 */
@media (max-width: 834px) {
	/* div.img */
	#page_lineup_exterior ul.planC li div.img {
		max-width: 580px;
		width: 100%;
		margin: 0 auto;
	}
	#page_lineup_exterior ul.planC li div.text {
		max-width: 580px;
		width: 100%;
		margin: 0 auto;
	}
	#page_lineup_exterior ul.planC li div.text dl dt {
		border-left: none;
		padding: 5px 0 7px 8px;
		margin-bottom: -10px;
		text-align: center;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_lineup_exterior section.lineup_exterior header {
		margin-top: -30px;
	}
	#page_lineup_exterior ul.planC li div.img figure img {
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		height: 100%;
	}
	#page_lineup_exterior ul.planC li div.img figure figcaption {
		padding: 5px 10px 12px 12px;
	}
	#page_lineup_exterior ul.planC li div.text dl dt {
		font-size: 16px;
	}
	#page_lineup_exterior ul.planC li div.text h3.bloc span.plan {
		margin-left: 4px;
	}
	#page_lineup_exterior ul.planC li div.text h4.txt {
		line-height: 1.5;
	}
}

/*--------------------------------------------------------------*/
/* Lineup頁 -> #page_lineup_exterior -> ul.planD */
/*--------------------------------------------------------------*/
ul.planD li {
	margin-bottom: 120px;
}
ul.planD li figure {
	max-width: 720px;
	margin: 10px auto 30px auto;
}
ul.planD li h3.bloc {
	text-align: center;
	margin-bottom: 30px;
	position: relative;
}
ul.planD li h3.bloc::after {
	content: '';
	display: block;
	height: 3px;
	width: 28px;
	background: #005F3D;
	position: absolute;
	bottom: -12px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
ul.planD li h3.bloc span.plan_name {
	font-size: 32px;
	font-weight: bold;
	color: #005F3D;
}
ul.planD li h3.bloc span.plan {
	font-size: 24px;
	font-weight: bold;
	color: #005F3D;
}
ul.planD li p.txt1 {
	font-size: 18px;
	text-align: center;
	color: #005F3D;
	font-weight: bold;
	margin-bottom: 23px;
}
ul.planD li p.txt1 span.num {
	font-size: 32px;
	font-weight: bold;
}
ul.planD li p.txt2 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 2;
	margin-bottom: 23px;
}
ul.planD li p.txt3 {
	font-size: 16px;
	line-height: 2;
	max-width: 720px;
	margin: 0 auto 40px auto;
}
/* dl set3 */
ul.planD li dl {
	position: relative;
	margin-bottom: 50px;
}
ul.planD li dl dt {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	color: #005F3D;
	padding: 5px 0 7px 8px;
	margin-bottom: -10px;
}
ul.planD li dl dd div.set3 {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	background: #efefef;
	max-width: 650px;
	margin: 0 auto;
}
ul.planD li dl dd div.set3:nth-child(n+2) {
	margin-top: -25px;
}
ul.planD li dl dd div.set3 div {
	padding: 10px;
}
ul.planD li dl dd div.set3 div.item {
	width: calc(90% / 2);
	background: #005F3D;
	color: #fff;
	text-align: center;
}
ul.planD li dl dd div.set3 div.plus {
	font-size: 20px;
	color: #005F3D;
	width: 10%;
	text-align: center;
}
/* 1240 */
@media (max-width: 1240px) {
	ul.planD li {
		margin-bottom: max(9.677vw, 80px); //120px;
	}
	ul.planD li h3.bloc span.plan_name {
		font-size: max(2.581vw, 28px); //32px;
	}
	ul.planD li h3.bloc span.plan {
		font-size: max(1.935vw, 20px); //24px;
	}
	ul.planD li p.txt1 {
		font-size: max(1.452vw, 14px); //18px;
		margin-bottom: max(1.855vw, 18px); //23px;
	}
	ul.planD li p.txt1 span.num {
		font-size: max(2.581vw, 28px); //32px;
	}
	ul.planD li p.txt2 {
		font-size: max(1.613vw, 16px); //20px;
		margin-bottom: max(1.855vw, 18px); //23px;
	}
	ul.planD li p.txt3 {
		font-size: max(1.29vw, 14px); //16px;
		line-height: 2;
		max-width: 720px;
		margin: 0 auto 40px auto;
	}
	ul.planD li dl dd div.set3 div.item {
		font-size: max(1.29vw, 14px); //16px;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* dl set3 */
	ul.planD li dl dd div.set3 {
		flex-wrap: wrap;
		gap: 20px;
	}
	ul.planD li dl dd div.set3:nth-child(n+2) {
		margin-top: -25px;
	}
	ul.planD li dl dd div.set3 div {
		padding: 10px;
	}
	ul.planD li dl dd div.set3 div.item {
		width: calc((100% - 20px) / 2);
	}
	ul.planD li dl dd div.set3 div.plus {
		display: none;
	}
}

/*--------------------------------------------------------------*/
/* Philosophy頁 -> #page_philosopy_message */
/*--------------------------------------------------------------*/
#page_philosopy_message header.htype01 span.eng::after {
	aspect-ratio: 234 / 124;
	width: 234px;
	background-image: url(../images/message_an.svg);
	right: -8%;
	top: 35%;
}
/* row1 */
#page_philosopy_message .row1 {
	margin-bottom: 80px;
}
#page_philosopy_message .row1 .left {
	flex: 1;
	padding-right: 80px;
}
#page_philosopy_message .row1 .left p.txt {
	letter-spacing: 2.5px;
}
#page_philosopy_message .row1 .right {
	max-width: 400px;
	min-width: 240px;
	width: 25%;
	padding-top: 195px;
}
#page_philosopy_message .row1 .right figure {
	margin-bottom: 20px;
}
#page_philosopy_message .row1 .right dl {
	text-align: center;
}
#page_philosopy_message .row1 .right dl dd span.name {
	font-size: 24px;
	margin-left: 10px;
}
/* row2 */
#page_philosopy_message .row2 dl {
	margin-bottom: 40px;
}
#page_philosopy_message .row2 dl dt {
	background: #005F3D;
	color: #fff;
	letter-spacing: 16px;
	text-indent: 16px;
	height: 56px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 28px;
	padding: 0 30px;
	margin-bottom: 20px;
}
#page_philosopy_message .row2 dl dd ul li {
	margin-bottom: 10px;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_philosopy_message header.htype01 span.eng::after {
		width: max(19vw, 140px);
	}
	#page_philosopy_message .row1 .left {
		padding-right: max(5vw, 20px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_philosopy_message header.htype01 span.eng::after {
		right: -25%;
		top: -8%;
	}
	/* row1 */
	#page_philosopy_message .row1 {
		margin-bottom: 60px;
	}
	#page_philosopy_message .row1 .left {
		width: 100%;
		padding-right: 0;
	}
	#page_philosopy_message .row1 .right {
		max-width: 600px;
		width: 100%;
		padding-top: 30px;
	}
	#page_philosopy_message .row1 .right figure img {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* Philosophy頁 -> #page_philosopy_philosopy */
/*--------------------------------------------------------------*/
#page_philosopy_philosopy {
	background: url(../images/page_philosopy_philosopy_bk.jpg);
	background-size: cover;
	background-position: center center;
	position: relative;
	color: #fff;
}
#page_philosopy_philosopy::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,95,61,0.8);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}#page_philosopy_philosopy .content {
	position: relative;
	z-index: 2;
}
#page_philosopy_philosopy header.htype01 span.eng::after {
	aspect-ratio: 389 / 87;
	width: 389px;
	background-image: url(../images/sec_philosophy_an.svg?20240909);
	right: -10%;
	top: 45%;
}
#page_philosopy_philosopy div.message {
	margin-top: 80px;
	margin-bottom: 80px;
	padding: 40px 0;
	background: url(../images/page_philosopy_philosopy_msgbk.png) no-repeat;
	background-size: 100% 100%;
	color: #000;
}
#page_philosopy_philosopy div.message h2 {
	font-size: 80px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
	letter-spacing: 15px;
}
#page_philosopy_philosopy div.message h2::before {
	font-size: 60px;
	content: '\301C';
	display: inline-block;
	margin-right: 24px;
}
#page_philosopy_philosopy div.message h2::after {
	font-size: 60px;
	content: '\301C';
	display: inline-block;
	margin-left: 24px;
}
#page_philosopy_philosopy div.message h2 span.small {
	font-size: 50px;
}
#page_philosopy_philosopy div.message p.txt {
	font-size: 24px;
	line-height: 2.5;
	text-align: center;
}
#page_philosopy_philosopy ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
#page_philosopy_philosopy ul li figure {
	width: 33%;
	min-width: 260px;
}
#page_philosopy_philosopy ul li div.text {
	flex: 1;
	padding-left: 5%;
}
#page_philosopy_philosopy ul li div.text h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 30px;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_philosopy_philosopy header.htype01 span.eng::after {
		width: max(30vw, 190px);
	}
}
/* 1200 */
@media (max-width: 1200px) {
	#page_philosopy_philosopy div.message {
		padding: max(3.333vw, 20px) 0;
		margin-top: max(6.667vw, 40px);
		margin-bottom: max(6.667vw, 40px);
	}
	#page_philosopy_philosopy div.message h2 {
		font-size: max(6.667vw, 26px);
	}
	#page_philosopy_philosopy div.message h2::before {
		font-size: max(5.0vw, 23px);
		margin-right: max(2.0vw, 5px);
	}
	#page_philosopy_philosopy div.message h2::after {
		font-size: max(5.0vw, 23px);
		margin-left: max(2.0vw, 5px)
	}
	#page_philosopy_philosopy div.message h2 span.small {
		font-size: max(4.167vw, 20px);
	}
	#page_philosopy_philosopy div.message p.txt {
		font-size: max(2.0vw, 14px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_philosopy_philosopy div.message h2 {
		letter-spacing: 4px;
	}
	#page_philosopy_philosopy div.message p.txt {
		font-size: 16px;
		line-height: 1.6;
	}
	#page_philosopy_philosopy ul li {
		margin-bottom: 40px;
	}
	#page_philosopy_philosopy ul li figure {
		width: 100%;
		margin-bottom: 20px;
	}
	#page_philosopy_philosopy ul li div.text {
		width: 100%;
		padding-left: 0;
	}
	#page_philosopy_philosopy ul li div.text h3 {
		margin-bottom: 15px;
	}
}

/*--------------------------------------------------------------*/
/* Philosophy頁 -> #page_philosopy_conduct */
/*--------------------------------------------------------------*/
#page_philosopy_conduct header.htype01 span.eng::after {
	aspect-ratio: 404 / 148;
	width: 404px;
	background-image: url(../images/foot_contact_an.svg);
	right: 0;
	top: 8%;
}
#page_philosopy_conduct dl {
	padding-bottom: 60px;
	margin-bottom: 20px;
	border-bottom: 1px solid #005F3D;
}
#page_philosopy_conduct dl:last-child {
	border-bottom: none;
}
#page_philosopy_conduct dl dt {
	display: flex;
	align-items: center;
}
#page_philosopy_conduct dl dt span.num {
	font-size: 120px;
	color: #005F3D;
	margin-right: 33px;
	position: relative;
	overflow: hidden;
}
#page_philosopy_conduct dl dt span.num::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 50px 50px 50px;
	border-color: transparent transparent #fff transparent;
	position: absolute;
	top: 54%;
	right: -50px;
	transition: right .2s ease;
}
#page_philosopy_conduct dl dt span.txt {
	font-size: 24px;
	font-weight: bold;
	color: #005F3D;
}
body.is-pc #page_philosopy_conduct dl:hover dt span.num::after {
	right: -100px;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_philosopy_conduct header.htype01 span.eng::after {
		width: max(32.9vw, 180px);
	}
}
/* 834 */
@media (max-width: 834px) {
	#page_philosopy_conduct dl dt span.num {
		font-size: max(14.4vw, 50px);
		margin-right: max(4vw, 10px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_philosopy_conduct header.htype01 span.eng::after {
		width: max(32.9vw, 180px);
		right: -117px;
		top: 65%;
	}
	#page_philosopy_conduct dl {
		padding-bottom: 34px;
		margin-bottom: 15px;
	}
	#page_philosopy_conduct dl dt {
		margin-bottom: 15px;
	}
	#page_philosopy_conduct dl dt span.num {
		min-width: 77px;
		margin-right: 10px;
	}
	#page_philosopy_conduct dl dt span.txt {
		line-height: 1.2;
	}
	#page_philosopy_conduct dl dt span.num::after {
		display: none;
	}
	body.is-pc #page_philosopy_conduct dl:hover dt span.num::after {
		right: -68px;
	}
	#page_philosopy_conduct dl dd.is-open .sp_view {
		display: none;
	}
	#page_philosopy_conduct dl dd.is-open .sp_none {
		display: block!important;
	}
	#page_philosopy_conduct .vmore {
		display: flex!important;
		justify-content: center;
		align-items: center;
		margin: 25px auto 0 auto;
		max-width: 345px;
		width: 100%;
		height: 48px;
		border: 1px solid #005F3D;
		border-radius: 25px;
		cursor: pointer;
	}
}

/*--------------------------------------------------------------*/
/* Store頁 */
/*--------------------------------------------------------------*/
#page_store .content {
	max-width: 1240px;
}
#page_store header.htype01 span.eng::after {
	aspect-ratio: 282 / 100;
	width: 282px;
	right: -68%;
	top: 34%;
	background-image: url(../images/showroom_an.svg);
}
#page_store .head_img {
	margin-bottom: 50px;
	width: 100%;
}
#page_store .head_h2 {
	font-size: 36px;
	margin-bottom: 30px;
	text-align: center;
}
#page_store p.head_txt {
	margin-bottom: 45px;
	line-height: 2;
	text-align: center;
}
#page_store ul.store {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-bottom: 50px;
	gap: 40px 2.5%;
}
#page_store ul.store li {
	width: calc(95% / 3);
}
#page_store ul.store li figure img {
	margin-bottom: 10px;
}
#page_store ul.store li figure figcaption {
	text-align: center;
	line-height: 2;
}
/* .contact */
#page_store div.contact {
	text-align: center;
	margin-bottom: 80px;
}
#page_store div.contact h3 {
	font-size: 32px;
}
#page_store div.contact a {
	color: #005F3D;
	font-size: 64px;
}
#page_store div.contact p.txt {
	margin-bottom: 24px;
}
/* .access */
#page_store div.access {
	background: #FBFBFB;
	padding: 40px 50px;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 5%;
	margin-bottom: 80px;
}
#page_store div.access .googlemap {
	width: 45%;
}
#page_store div.access .googlemap iframe {
	aspect-ratio: 5 / 3;
	width: 100%;
	height: 100%;
	filter: grayscale(100%);
}
#page_store div.access .text {
	width: 50%;
}
#page_store div.access .text h3 {
	font-size: 24px;
	color: #005F3D;
	border-bottom: 1px solid #005F3D;
	padding-bottom: 12px;
	margin-bottom: 10px;
}
#page_store div.access .text table {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#page_store div.access .text table tr th {
	font-weight: noraml;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #005F3D;
	text-align: left;
	padding: 10px 30px 10px 2px;
}
#page_store div.access .text table tr td {
	padding: 10px 0;
}
/* showroom */
#page_store section.showroom {
	text-align: center;
	display: none;
}
#page_store section.showroom header h2 {
	font-size: 36px;
	margin-bottom: 30px;
	text-align: center;
}
#page_store section.showroom header p.txt {
	margin-bottom: 45px;
	line-height: 2;
	text-align: center;
}
#page_store ul.showroom {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 40px 2.5%;
}
#page_store ul.showroom li {
	width: calc(95% / 3);
}
#page_store ul.showroom li figure figcaption {
	font-size: 20px;
	font-weight: bold;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #005F3D;
	padding: 24px 0;
}
#page_store ul.showroom li div.center {
	/*display: none;*/
}
/* 1200 */
@media (max-width: 1200px) {
	#page_store header.htype01 span.eng::after {
		width: max(23.5vw, 197px); //282px;
	}
	#page_store .head_h2 {
		font-size: max(3vw, 23px); //36px;
		margin-bottom: max(2.5vw, 21px); //30px;
	}
	#page_store p.head_txt {
		font-size: max(1.333vw, 14px); //16px;
		margin-bottom: max(3.75vw, 31px); //45px;
	}
	#page_store ul.store li figure figcaption {
		font-size: max(1.333vw, 14px); //16px;
		line-height: max(2.4, 14px); //16px;
	}
	/* .contact */
	#page_store div.contact {
		margin-bottom: max(6.667vw, 50px); //80px;
	}
	#page_store div.contact h3 {
		font-size: max(2.667vw, 16px); //32px;
	}
	#page_store div.contact a {
		font-size: max(5.333vw, 36px); //64px;
	}
	#page_store div.contact p.txt {
		font-size: max(1.333vw, 14px); //16px;
	}
	/* .access */
	#page_store div.access {
		padding: max(3.333vw, 20px) max(4.167vw, 20px);
		margin-bottom: max(6.667vw, 45px); //80px;
	}
	#page_store div.access .text h3 {
		font-size: max(2vw, 20px); //24px;
	}
	#page_store div.access .text table tr th {
		font-size: max(1.333vw, 14px); //16px;
		padding: max(0.833vw, 8px) max(2.5vw, 26px) max(0.833vw, 8px) 2px;
	}
	#page_store div.access .text table tr td {
		font-size: max(1.333vw, 14px); //16px;
		padding: max(0.833vw, 8px) 0;
	}
	/* showroom */
	#page_store section.showroom header h2 {
		font-size: max(3vw, 24px); //36px;
		margin-bottom: 30px;
	}
	#page_store section.showroom header p.txt {
		margin-bottom: max(3.75vw, 24px); //45px;
		font-size: max(1.333vw, 14px); //16px;
	}
	#page_store ul.showroom {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 40px 2.5%;
	}
	#page_store ul.showroom li figure figcaption {
		font-size: max(1.667vw, 16px); //20px;
		padding: max(2vw, 17px); //24px 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_store p.head_txt {
		margin-bottom: 30px;
		line-height: 1.7;
	}
	#page_store ul.store li {
		width: 100%;
	}
	#page_store ul.store li figure img {
		margin-bottom: 6px;
	}
	#page_store ul.store li figure figcaption {
		line-height: 1.7;
	}
	/* .access */
	#page_store div.access {
		margin: 0 calc(50% - 50vw) max(6.667vw, 45px) calc(50% - 50vw);
	}
	#page_store div.access .googlemap {
		width: 100%;
	}
	#page_store div.access .googlemap iframe {
		aspect-ratio: 5 / 3;
		width: 100%;
		height: 100%;
		filter: grayscale(100%);
	}
	#page_store div.access .text {
		width: 100%;
	}
	/* showroom */
	#page_store section.showroom header p.txt {
		line-height: 1.7;
	}
	#page_store ul.showroom li {
		width: 100%;
	}
	#page_store section.showroom .btnya {
		padding: 6px 17px 6px 30px;
	}
	.btnya span.ya {
		width: 25px;
		margin-left: 20px;
	}
}

/*--------------------------------------------------------------*/
/* Reason頁 -> #page_reason */
/*--------------------------------------------------------------*/
#page_reason .content {
	max-width: 1240px;
}
#page_reason header.htype01 span.eng::after {
	aspect-ratio: 184 / 107;
	width: 170px;
	right: -33%;
	top: 50%;
	background-image: url(../images/reason_an.svg);
}
#page_reason header.htype01 h2 {
	font-size: 28px;
	margin-top: 80px;
	text-align: center;
}
#page_reason header.htype01 p.head_text {
	line-height: 2;
	margin: 20px 0 80px;
	text-align: center;
}
#page_reason ol {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 70px 3%;
}
#page_reason ol li {
	width: calc(97% / 2);
}
#page_reason ol li .reason_num {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-left: 20px;
	margin-bottom: -50px;
}
#page_reason ol li .reason_num span.eb {
	font-size: 32px;
	font-weight: 400;
	display: inline-block;
	line-height: 1;
}
#page_reason ol li .reason_num span.num {
	font-size: 110px;
	font-weight: 400;
	color: #005F3D;
	display: inline-block;
	line-height: 1;
	z-index: 2;
}
#page_reason ol li:last-child .reason_num {
	margin-bottom: 10px;
}
#page_reason ol li figure {
	margin-bottom: 20px;
}
#page_reason ol li h3 {
	font-size: 24px;
	margin-bottom: 5px;
}
#page_reason ol li h2 {
	font-size: 36px;
	color: #005F3D;
	margin-bottom: 10px;
}
#page_reason ol li p.txt {
	font-size: 16px;
	line-height: 2;
}
#page_reason ol li:last-child {
	width: 100%;
}
#page_reason ol li:last-child .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 25px 0;
}
#page_reason ol li:last-child .flex .bloc {
	width: calc(97% / 2);
}
#page_reason ol li:last-child .flex .bloc .point {
	background: url(../images/work_grandpri.svg) no-repeat;
	background-size: contain;
	background-position: center center;
	aspect-ratio: 364 / 80;
	max-width: 428px;
	font-size: 32px;
	font-weight: bold;
	color: #005F3D;
	text-align: center;
	margin: 0 auto 20px auto;
}
#page_reason ol li:last-child .flex .bloc .point span.num {
	font-size: 110px;
	font-weight: 400;
	line-height: 1;
}
#page_reason ol li:last-child .flex .text {
	width: calc(97% / 2);
}
/* 1400 */
@media (max-width: 1400px) {
	#page_reason header.htype01 h2 {
		font-size: max(2vw, 24px); //28px;
		margin-top: max(5.714vw, 40px); //80px;
	}
	#page_reason header.htype01 p.head_text {
		font-size: max(1.143vw, 14px); //16px;
		line-height: max(2.571vw, 25px); //36px;
		margin: 20px 0 max(5.714vw, 55px); //80px;
	}
	#page_reason ol li figure {
		margin-bottom: max(1.429vw, 14px); //20px;
	}
	#page_reason ol li h3 {
		font-size: max(1.714vw, 16px); //24px;
		margin-bottom: 5px;
	}
	#page_reason ol li h2 {
		font-size: max(2.571vw, 28px); //36px;
		margin-bottom: 10px;
	}
	#page_reason ol li p.txt {
		font-size: max(1.143vw, 14px); //16px;
		line-height: 2;
	}
	#page_reason ol li .reason_num {
		margin-left: max(1.429vw, 5px); //20px;
		margin-bottom: max(-3.571vw, -35px); //50px;
	}
	#page_reason ol li .reason_num span.eb {
		font-size: max(2.286vw, 16px); //32px;
	}
	#page_reason ol li .reason_num span.num {
		font-size: max(7.857vw, 56px); //110px;
	}
	#page_reason ol li:last-child .flex .bloc .point {
		width: 80%;
		font-size: max(2.286vw, 20px); //32px;
		margin: 0 auto 20px auto;
	}
	#page_reason ol li:last-child .flex .bloc .point span.num {
		font-size: max(7.857vw, 90px); //110px;
	}
}
/* 1230 */
@media (max-width: 1230px) {
	#page_reason header.htype01 span.eng::after {
		width: max(14.167vw, 130px); //170px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_reason header.htype01 span.eng::after {
		right: -36%;
		top: 59%;
	}
	#page_reason ol li {
		width: 100%;
	}
	#page_reason ol li .reason_num {
		margin-bottom: -26px;
	}
	#page_reason ol li:last-child .flex .bloc {
		width: 100%;
	}
	#page_reason ol li:last-child .flex .bloc .point {
		margin: 0 auto 10px auto;
	}
	#page_reason ol li:last-child .flex .text {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* Reason頁 -> .support_work */
/*--------------------------------------------------------------*/
#page_reason .support_work {
	padding-top: 160px;
}
#page_reason .support_work h2 {
	font-size: 36px;
	text-align: center;
}
#page_reason .support_work p.head_text {
	line-height: 2;
	margin: 20px 0 40px;
	text-align: center;
}
#page_reason .support_work dl {
	border-bottom: 1px solid #005F3D;
}
#page_reason .support_work dl dt {
	border-top: 1px solid #005F3D;
	font-size: 20px;
	font-weight: bold;
	padding: 8px 8px 8px 15px;
	display: flex;
	align-items: center;
	cursor: pointer;
	transition: .3s ease;
}
#page_reason .support_work dl dt:hover {
	background: #edfff9;
}
#page_reason .support_work dl dt img {
	margin-right: 15px;
	transition: .6s ease;
}
#page_reason .support_work dl dt.open img {
	transform: rotate(90deg);
}
#page_reason .support_work dl dd {
	display: none;
	border-top: 1px solid #005F3D;
	padding: 30px 30px 30px 40px;
	background: #eef0ef;
}
#page_reason .support_work dl dd ul {
	display: flex;
	flex-wrap: wrap;
	gap: 11px 3%;
}
#page_reason .support_work dl dd ul li {
	width: calc(91% / 4);
	position: relative;
	padding-left: 20px;
}
#page_reason .support_work dl dd ul li::before {
	content: "•";
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
}
/* 1240 */
@media (max-width: 1240px) {
	#page_reason .support_work {
		padding-top: max(12.903vw, 80px); //160px;
	}
	#page_reason .support_work h2 {
		font-size: max(2.903vw, 25px); //36px;
	}
	#page_reason .support_work p.head_text {
		margin: 20px 0 max(3.226vw, 28px); //40px;
		text-align: left;
	}
	#page_reason .support_work dl dd {
		padding: max(2.419vw, 20px) max(2.419vw, 20px) max(2.419vw, 20px) max(3.226vw, 20px); //40px;
	}
	#page_reason .support_work dl dd ul li {
		padding-left: max(1.613vw, 14px); //20px;
	}
}
/* 900 */
@media (max-width: 900px) {
	#page_reason .support_work dl dd ul li {
		width: calc(94% / 3);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_reason .support_work dl dd ul {
		gap: 11px 5%;
	}
	#page_reason .support_work dl dd ul li {
		width: calc(95% / 2);
		font-size: 14px;
	}
}


/*--------------------------------------------------------------*/
/* Service頁 -> #page_service */
/*--------------------------------------------------------------*/
#page_service header#page_head {
	margin-bottom: 140px;
}
#page_service header#page_head span.eng::after {
	aspect-ratio: 213 / 88;
	width: 213px;
	background-image: url(../images/service_an.svg);
	right: -15%;
	top: 35%;
}
#page_service ul.service_list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
#page_service ul.service_list li figure {
	width: 33%;
	min-width: 260px;
}
#page_service ul.service_list li div.text {
	flex: 1;
	padding-left: 5%;
}
#page_service ul.service_list li div.text h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 30px;
}
#page_service ul.service_list li div.text p.txt {
	margin-bottom: 70px;
}
/* aside */
aside.aside_philosophy {
	height: 364px;
}
aside.aside_philosophy .aside_philosophy_bk {
	background: url(../images/aside_philosophy_bk.jpg) no-repeat;
	background-size: cover;
	height: 100%;
	position: relative;
}
aside.aside_philosophy .aside_philosophy_bk .wrap {
	height: 100%;
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
aside.aside_philosophy .aside_philosophy_bk .wrap h3 {
	color: rgba(255,255,255,0.4);
	font-size: 140px;
	line-height: 1.1;
}
aside.aside_philosophy .aside_philosophy_bk .overlay {
	height: 100%;
	width: 100%;
	background: rgba(32,32,32,0.4);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
aside.aside_philosophy a.btnya {
	border-radius: 0;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_service header#page_head span.eng::after {
		width: max(17.75vw, 149px); //213px;
	}
	#page_philosopy_philosopy header.htype01 span.eng::after {
		width: max(30vw, 170px);
		right: -14%;
	}
	/* aside */
	aside.aside_philosophy .aside_philosophy_bk .wrap h3 {
		font-size: max(11.38vw, 60px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_service header#page_head span.eng::after {
		right: -24%;
		top: 55%;
	}
	#page_service ul.service_list li {
		margin-bottom: 40px;
	}
	#page_service ul.service_list li figure {
		width: 100%;
		margin-bottom: 20px;
	}
	#page_service ul.service_list li div.text {
		width: 100%;
		padding-left: 0;
	}
	#page_service ul.service_list li div.text h3 {
		margin-bottom: 10px;
	}
	#page_service ul.service_list li div.text p.txt {
		margin-bottom: 30px;
	}
	#page_service ul.service_list li div.text ._right {
		text-align: center;
	}
	/* aside */
	aside.aside_philosophy .aside_philosophy_bk .wrap h3 {
		margin-bottom: 24px;
	}
}

/*--------------------------------------------------------------*/
/* aside_philosophy */
/*--------------------------------------------------------------*/
aside.aside_philosophy {
	height: 364px;
}
aside.aside_philosophy .aside_philosophy_bk {
	background: url(../images/aside_philosophy_bk.jpg) no-repeat;
	background-size: cover;
	height: 100%;
	position: relative;
}
aside.aside_philosophy .aside_philosophy_bk .wrap {
	height: 100%;
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
aside.aside_philosophy .aside_philosophy_bk .wrap h3 {
	color: rgba(255,255,255,0.4);
	font-size: 140px;
	line-height: 1.1;
}
aside.aside_philosophy .aside_philosophy_bk .overlay {
	height: 100%;
	width: 100%;
	background: rgba(32,32,32,0.4);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
aside.aside_philosophy a.btnya {
	border-radius: 0;
}
/* 1230 */
@media (max-width: 1230px) {
	aside.aside_philosophy .aside_philosophy_bk .wrap h3 {
		font-size: max(11.38vw, 60px);
	}
}
/* 580 */
@media (max-width: 580px) {
	aside.aside_philosophy .aside_philosophy_bk .wrap h3 {
		margin-bottom: 24px;
	}
}

/*--------------------------------------------------------------*/
/* Works頁 -> #page_works */
/*--------------------------------------------------------------*/
#page_works {
	margin-bottom: 120px;
}
#page_works header#page_head {
	margin-bottom: 0;
}
#page_works header#page_head span.eng::after {
	aspect-ratio: 172 / 83;
	width: 172px;
	background-image: url(../images/works_an2.svg);
	right: -15%;
	top: 35%;
}
/* #works_search_control */
#works_search_control {
	background: #EEF0EF;
	padding: 40px;
	margin-bottom: 160px;
	position: relative;
}
#works_search_control span.stitle {
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
}
#works_search_control .flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#works_search_control .flex div {
	width: 30%;
}
#works_search_control #area {
	margin-bottom: 40px;
}
#works_search_control #area label {
	margin-right: 15px;
	white-space: nowrap;
}
#works_search_control button {
	background: #005F3D;
	color: #fff;
	height: 55px;
	max-width: 298px;
	width: 90%;
	border-radius: 30px;
	border: 1px solid #005F3D;
	cursor: pointer;
	transition: .3s ease;
}
#works_search_control button:hover {
	background: #fff;
	color: #005F3D;
}
#works_search_control .cnt {
	position: absolute;
	bottom: -30px;
	left: 5px;
	font-size: 14px;
}
/* ul.works_list */
ul.works_list {
	display: flex;
	flex-wrap: wrap;
}
ul.works_list li {
	width: calc(94% / 3);
	margin-right: 3%;
	margin-bottom: 80px;
	box-shadow: 4px 4px 10px 0px rgba(0,0,0,0.15);
}
ul.works_list li:nth-child(3n) {
	margin-right: 0;
}
ul.works_list li figure {
	overflow: hidden;
}
ul.works_list li figure a img {
	transition: transform 1s ease;
}
ul.works_list li figure a:hover img {
	transform: scale(1.05,1.05);
}
ul.works_list li .text {
	padding: 24px 16px;
}
ul.works_list li .text .gfbox {
	margin-bottom: 14px;
}
ul.works_list li .text h3 {
	font-weight: bold;
	margin-bottom: 14px;
}
ul.works_list li .text a.btnya.small {
	border: none;
	padding-right: 0;
}
ul.works_list li .text a.btnya.small span.ya {
	width: 32px;
}
body.is-pc ul.works_list li .text a.btnya.small:hover {
	box-shadow: none;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_works header#page_head span.eng::after {
		width: max(14vw, 120px);
	}
}
/* 834 */
@media (max-width: 834px) {
	ul.works_list li {
		width: calc(97% / 2);
		margin-right: 3%;
		margin-bottom: 60px;
	}
	ul.works_list li:nth-child(3n) {
		margin-right: 3%;
	}
	ul.works_list li:nth-child(2n) {
		margin-right: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_works {
		margin-bottom: 80px;
	}
	#page_works header#page_head span.eng::after {
		right: -27%;
		top: 54%;
	}
	/* #works_search_control */
	#works_search_control {
		padding: 40px 24px;
		margin-bottom: 80px;
	}
	#works_search_control .flex {
		margin-bottom: 0;
	}
	#works_search_control .flex div {
		width: 100%;
		margin-bottom: 24px;
	}
	/* ul.works_list */
	ul.works_list li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 40px;
	}
	ul.works_list li .text {
		padding: 16px;
	}
}

/*--------------------------------------------------------------*/
/* Works頁 -> #page_works_detail */
/*--------------------------------------------------------------*/
#page_works_detail header#page_head {
	margin-bottom: 0;
}
#page_works_detail header#page_head span.eng::after {
	aspect-ratio: 172 / 83;
	width: 172px;
	background-image: url(../images/works_an2.svg);
	right: -15%;
	top: 35%;
}
#page_works_detail .detail_title {
	text-align: center;
}
#page_works_detail .detail_title h2 {
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 20px;
}
ul.meta {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 20px;
	margin-bottom: 80px;
}
#page_works_detail .icatch {
	margin-bottom: 40px;
}
#page_works_detail p.detai_info {
	margin-bottom: 80px;
	line-height: 2.0;
}
#page_works_detail .icatch img {
	width: 100%;
}
#page_works_detail h3.gallery_title {
	margin-top: 80px;
}
#page_works_detail .before_after {
	align-items: flex-end;
	margin-bottom: 110px;
}
#page_works_detail .before_after .left {
	width: 40%;
}
#page_works_detail .before_after .left:hover {
	position: relative;
	z-index: 3;
}
#page_works_detail .before_after .right {
	width: 60%;
}
#page_works_detail .before_after .right figure {
	margin-bottom: 76px;
	margin-left: -76px;
}
#page_works_detail .before_after .right figure img {
	width: 100%;
}
#page_works_detail .before_after figure {
	position: relative;
}
#page_works_detail .before_after figure figcaption {
	display: block;
	width: max-content;
	background: #005F3D;
	border: 1px solid #005F3D;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	padding: 9px 2vw 5px 2vw;
	transition: .3s ease;
	position: absolute;
	top: 30px;
	left: 0;
}
/* ul.approach */
ul.approach {
	margin-bottom: 140px;
}
ul.approach li {
	margin-bottom: 80px;
}
ul.approach li.img_txt .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
ul.approach li.img_txt.reverse .flex {
	flex-direction: row-reverse;
}
ul.approach li.img_txt .flex figure,
ul.approach li.img_txt .flex div.text {
	width: 48.0%;
}
ul.approach li.one_img figure img {
	width: 100%;
	height: 600px;
	object-fit: cover;
}
/* ul.gallery  col3 */
ul.gallery {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 110px;
}
ul.gallery li {
	width: calc(95% / 3);
	margin-right: 2.5%;
	margin-bottom: 2.5%;
}
ul.gallery li:nth-child(3n) {
	margin-right: 0;
}
/* ul.gallery  col4 */
ul.gallery.col4 li {
	width: calc(92.5% / 4);
	margin-right: 2.5%;
	margin-bottom: 2.5%;
}
ul.gallery.col4 li:nth-child(4n) {
	margin-right: 0;
}
ul.gallery.col4 li:nth-child(3n) {
	margin-right: 2.5%;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_works_detail .detail_title h2 {
		font-size: max(2.60vw, 16px);
		font-weight: bold;
		margin-bottom: 20px;
	}
	#page_works_detail header#page_head span.eng::after {
		width: max(14vw, 120px);
	}
	#page_works_detail .before_after figure figcaption {
		font-size: max(1.95vw, 16px);
	}
	#page_works_detail .icatch img {
		width: 100%;
		height: 100%;
	}
	/* ul.approach */
	ul.approach li.one_img figure img {
		height: max(48.8vw, 220px);
	}
}
/* 1200 */
@media (max-width: 1200px) {
	/* ul.gallery  col3 */
	ul.gallery {
		margin-bottom: max(9.167vw, 60px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_works_detail h3.gallery_title {
		margin-top: 40px;
	}
	#page_works_detail p.detai_info {
		line-height: 1.8;
	}
	#page_works_detail p.detai_info {
		margin-bottom: 40px;
	}
	#page_works_detail .before_after {
		margin: 0 -10px 80px -10px;
	}
	#page_works_detail .before_after .left {
		width: 50%;
	}
	#page_works_detail .before_after .right {
		width: 50%;
	}
	#page_works_detail .before_after .right figure {
		margin-bottom: 90px;
		margin-left: -76px;
	}
	#page_works_detail .before_after figure figcaption {
		top: 10px;
		padding: 6px 2vw 5px 2vw;
		font-size: 14px;
	}
	/* ul.approach */
	ul.approach li.img_txt .flex figure,
	ul.approach li.img_txt .flex div.text {
		width: 100%;
	}
	ul.approach li.img_txt .flex figure {
		margin-bottom: 25px;
	}
	/* ul.gallery */
	ul.gallery li,
	ul.gallery.col4 li {
		width: calc(97.5% / 2);
	}
	ul.gallery li:nth-child(3n),
	ul.gallery.col4 li:nth-child(3n) {
		margin-right: 2.5%;
	}
	ul.gallery li:nth-child(2n),
	ul.gallery.col4 li:nth-child(2n) {
		margin-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* Voice頁 -> #page_voice */
/*--------------------------------------------------------------*/
#page_voice {
	margin-bottom: 120px;
}
#page_voice header#page_head {
	margin-bottom: 0;
}
#page_voice header#page_head span.eng::after {
	aspect-ratio: 142 / 83;
	width: 142px;
	background-image: url(../images/voice_an.svg);
	right: -28%;
	top: 35%;
}
/* ul.voice_list */
ul.voice_list li {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.voice_list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
ul.voice_list li figure {
	width: 33%;
	min-width: 260px;
	position: relative;
}
ul.voice_list li figure::after {
	content: '';
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	aspect-ratio: 254 / 98;
	width: 254px;
	background-image: url(../images/voice_an2.svg);
	left: 0;
	top: -19%;
}
ul.voice_list li div.text {
	flex: 1;
	padding-left: 5%;
}
ul.voice_list li div.text h2,
ul.voice_list li div.text h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 15px;
}
ul.voice_list li div.area {
	padding: 4px 11px 5px 11px;
	border: 1px solid #005F3D;
	color: #000;
	width: max-content;
	margin-bottom: 15px;
}
ul.voice_list li div.text p.txt {
	margin-bottom: 20px;
}
ul.voice_list li div.text p.who {
	margin-bottom: 20px;
}
ul.voice_list li .text a.btnya.small {
	border: none;
	padding-right: 0;
}
ul.voice_list li .text a.btnya.small span.ya {
	width: 32px;
}
body.is-pc ul.voice_list li .text a.btnya.small:hover {
	box-shadow: none;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_voice header#page_head span.eng::after {
		width: max(11.5vw, 90px);
	}
	ul.voice_list li figure::after {
		width: max(20.7vw, 160px);
		top: -39px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_voice {
		margin-bottom: 80px;
	}
	#page_voice header#page_head span.eng::after {
		right: -38%;
		top: 48%;
	}
	ul.voice_list li {
		margin-bottom: 80px;
	}
	ul.voice_list li figure {
		width: 100%;
		margin-bottom: 20px;
	}
	ul.voice_list li div.text {
		width: 100%;
		padding-left: 0;
	}
	ul.voice_list li div.text h2,
	ul.voice_list li div.text h3 {
		margin-bottom: 10px;
	}
	ul.voice_list li div.text p.txt {
		margin-bottom: 30px;
	}
	ul.voice_list li div.text p.who {
		display: none;
	}
	ul.voice_list  li div.text ._right {
		text-align: center;
	}
	ul.voice_list  li div.text ._right a.btnya {
		padding-left: 0;
		padding-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* Voice頁 -> #page_voice_detail */
/*--------------------------------------------------------------*/
dl.voice_qa {
	position: relative;
}
dl.voice_qa > dt {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 40px;
	padding-left: 90px;
}
dl.voice_qa > dt::before {
	content: '';
	display: block;
	width: 80px;
	height: 1px;
	border-bottom: 1px solid #000;
	position: absolute;
	top: 14px;
	left: 0;
}
dl.voice_qa > dd {
	max-width: 800px;
	width: 100%;
	margin: 0 auto 80px auto;
}
dl.voice_qa > dd:not(:last-child) {
	max-width: 800px;
	width: 100%;
	margin: 0 auto 40px auto;
}
dl.voice_qa > dd.fav {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
dl.voice_qa > dd.fav figure {
	width: 48%;
}
dl.voice_qa > dd.fav p.txt {
	width: 48%;
}
dl.voice_qa > dd.point .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
dl.voice_qa > dd.point p.mb8 {
	margin-bottom: 80px;
}
dl.voice_qa > dd.point .flex.f1 {
	margin-bottom: 100px;
}
dl.voice_qa > dd.point .flex .left {
	width: 48%;
}
dl.voice_qa > dd.point .flex .right {
	width: 48%;
	text-align: right;
}
/* chart */
.chart {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	aspect-ratio: 1 / 1;
	width: 100%;
	margin: 0 auto;
	padding: 0 30px 0 30px;
}
.chart svg {
	width: 100%;
	height: 100%;
}
.chart dl {
	position: absolute;
	width: 100%;
	height: 100%;
}
.chart dl > div {
	position: absolute;
	color: #000;
	font-size: 14px;
	text-align: center;
}
.chart dl > div:nth-child(1) {
	top: 2%;
	left: 50%;
	transform: translateX(-50%);
}
.chart dl > div:nth-child(2) {
	top: 35%;
	right: 4.5%;
	transform: translateX(50%);
}
.chart dl > div:nth-child(3) {
	bottom: 8%;
	right: 24%;
	transform: translateX(50%);
}
.chart dl > div:nth-child(4) {
	bottom: 8%;
	left: 24%;
	transform: translateX(-50%);
}
.chart dl > div:nth-child(5) {
	top: 35%;
	left: 4.5%;
	transform: translateX(-50%);
}
.chart dd {
	margin: 0;
	display: none;
}
/* fusen */
div.fusen {
	flex: 1;
	filter: drop-shadow(4px 4px 15px rgba(0,0,0,0.2));
 	border-left: 8px solid #005F3D;
	padding: 25px 15px 25px 20px;
	line-height: 1.4;
	font-size: 20px;
	font-weight: bold;
	position: relative;
	background: #fff;
}
div.fusen::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 0 15px 14px;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	top: 50%;
	right: -13px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
/* ten */
div.ten {
	padding-left: 4%;
}
div.ten .box {
	max-width: 240px;
	width: 100%;
	position: relative;
}
div.ten .wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
	color: #005F3D;
}
div.ten .wrap span.num {
	font-size: 80px;
}
div.ten .wrap span.jp {
	font-size: 40px;
	font-weight: bold;
	transform: translateY(12px);
	display: inline-block;
}
div.ten svg {
	width: 100%;
	fill: #E0EBE7;
	stroke: #E0EBE7;
}
/* 580 */
@media (max-width: 580px) {
	dl.voice_qa > dt {
		padding-left: 38px;
		margin-bottom: 20px;
	}
	dl.voice_qa > dt::before {
		width: 30px;
	}
	dl.voice_qa > dd:not(:last-child) {
		margin: 0 auto 20px auto;
	}
	dl.voice_qa > dd.point p.mb8 {
		margin-bottom: 40px;
	}
	dl.voice_qa > dd.point .flex.f1 {
		margin-bottom: 40px;
	}
	dl.voice_qa > dd.point .flex .left {
		width: 100%;
		margin-bottom: 40px;
	}
	dl.voice_qa > dd.point .flex .right {
		width: 100%;
		text-align: center;
	}
	dl.voice_qa > dd.fav figure {
		width: 100%;
		margin-bottom: 20px;
	}
	dl.voice_qa > dd.fav p.txt {
		width: 100%;
	}
	/* fusen */
	div.fusen {
		padding: 10px 25px;
		font-size: 14px;
		width: 100%;
		margin-bottom: 40px;
		text-align: center;
	}
	div.fusen::after {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 9px 8.5px 0 8.5px;
		border-color: #ffffff transparent transparent transparent;
		position: absolute;
		top: initial;
		bottom: -8px;
		right: calc(50% - 8px);
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	div.ten {
		width: 100%;
		text-align: center;
		padding-left: 0;
	}
	div.ten .box {
		margin: 0 auto;
	}
}

/*--------------------------------------------------------------*/
/* FAQ頁 */
/*--------------------------------------------------------------*/
#page_faq header#page_head span.eng::after {
	aspect-ratio: 210 / 101;
	width: 210px;
	background-image: url(../images/faq_an2.svg);
	right: -46%;
	top: 35%;
}
.qa_lists2 {
	padding-top: 60px;
}
.qa_lists2 dl {
	margin-bottom: 40px;
}
.qa_lists2 dl:last-child {
	margin-bottom: 0;
}
.qa_lists2 dl dt {
	width: 100%;
	color: #fff;
	background: #005F3D;
	line-height: 1.2;
	padding: 32px 70px 28px 25px;
	position: relative;
	cursor: pointer;
}
.qa_lists2 dl dt:hover {
	opacity: 0.9;
}
.qa_lists2 dl dt.is-open .text,
.qa_lists2 dl dt:hover .text {
	background: #eb7077;
	color: #fff;
}
.qa_lists2 dl dt span.qq {
	font-size: 22px;
	font-weight: bold;
	width: 36px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 30px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.qa_lists2 dl dt span.q_txt {
	margin-left: 55px;
	display: block;
	line-height: 1.4;
}
.qa_lists2 dl dd {
	padding: 32px 70px 28px 80px;
}
.qa_lists2 dl dt.is-close + dd {
	display: none;
}
.qa_lists2 dl dt.is-open + dd {
	display: block;
}
.qa_lists2 dl dt::after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 2px;
	background: #fff;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(-180deg);
}
.qa_lists2 dl dt.is-close:not(.is-open)::after,
.qa_lists2 dl dt.is-open::after {
	transform: rotate(-90deg);
}
.qa_lists2 dl dt.is-close.is-open::after {
	transform: rotate(-180deg);
}
.qa_lists2 dl dt::before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 2px;
	background: #fff;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(0deg);
}
.qa_lists2 dl dt.is-close:not(.is-open)::before,
.qa_lists2 dl dt.is-open::before {
	transform: rotate(180deg);
}
.qa_lists2 dl dt.is-close.is-open::before {
	transform: rotate(0deg);
}
/* 1230 */
@media (max-width: 1230px) {
	#page_faq header#page_head span.eng::after {
		width: max(17.0vw, 90px);
	}
	.qa_lists2 {
		padding-top: max(4.9vw, 0px);
	}
}
/* 768 */
@media (max-width: 768px) {
	.qa_lists2 dl dt {
		padding: 27px 50px 23px 5px;
	}
	.qa_lists2 dl dt span.qq {
		left: 14px;
	}
	.qa_lists2 dl dt::after {
		right: 20px;
	}
	.qa_lists2 dl dt::before {
		right: 20px;
	}
	.qa_lists2 dl dd {
		padding: 27px 50px 23px 60px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_faq header#page_head span.eng::after {
		right: -53%;
		top: 53%;
	}
	.qa_lists2 {
		padding-top: 0px;
	}
	.qa_lists2 dl {
		margin-bottom: 24px;
	}
	.qa_lists2 dl dt {
		padding: 22px 41px 18px 5px;
	}
	.qa_lists2 dl dt span.qq {
		left: 14px;
		width: 20px;
	}
	.qa_lists2 dl dt span.q_txt {
		margin-left: 36px;
	}
	.qa_lists2 dl dt::after {
		right: 12px;
	}
	.qa_lists2 dl dt::before {
		right: 12px;
	}
	.qa_lists2 dl dd {
		padding: 20px;
	}
}

/*--------------------------------------------------------------*/
/* BLOG頁 */
/*--------------------------------------------------------------*/
#page_blog header#page_head span.eng::after {
	aspect-ratio: 178 / 113;
	width: 178px;
	background-image: url(../images/blog_an.svg);
	right: -40%;
	top: 40%;
}
/* ul.blog_list */
ul.blog_list {
	display: flex;
	flex-wrap: wrap;
}
ul.blog_list li {
	width: calc(94% / 3);
	margin-right: 3%;
	margin-bottom: 80px;
	box-shadow: 4px 4px 10px 0px rgba(0,0,0,0.15);
}
ul.blog_list li:nth-child(3n) {
	margin-right: 0;
}
ul.blog_list li figure {
	overflow: hidden;
}
ul.blog_list li a figure img {
	object-fit: cover;
	aspect-ratio: 500 / 375;
	width: 100%;
	transition: transform 1s ease;
}
body.is-pc ul.blog_list li a:hover figure img {
	transform: scale(1.05,1.05);
}
ul.blog_list li a:hover .text p.txt {
	color: initial;
}
ul.blog_list li .text {
	padding: 24px 16px;
}
ul.blog_list li .text h3 span.txt {
	display: inline-block;
	background: #005F3D;
	color: #fff;
	margin-bottom: 14px;
	line-height: 1.4;
	padding: 3px 12px 1px 12px;
}
ul.blog_list.kanren li.no-slide {
	width: 100%;
	height: 160px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: none;
	border: 1px solid #dfdfdf;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_blog header#page_head span.eng::after {
		width: max(14vw, 120px);
	}
}
/* 834 */
@media (max-width: 834px) {
	ul.blog_list li {
		width: calc(97% / 2);
		margin-right: 3%;
		margin-bottom: 60px;
	}
	ul.blog_list li:nth-child(3n) {
		margin-right: 3%;
	}
	ul.blog_list li:nth-child(2n) {
		margin-right: 0;
	}
	/* 関連 */
	ul.blog_list.kanren li:nth-child(n+3) {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_blog header#page_head span.eng::after {
		right: -59%;
		top: 56%;
	}
	/* ul.blog_list */
	ul.blog_list li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 40px;
	}
	ul.blog_list li .text {
		padding: 16px;
	}
	/* 関連 */
	.kanren-swiper {
		margin-right: -20px;
		overflow: hidden;
	}
	ul.blog_list.kanren {
		flex-wrap: initial;
	}
	ul.blog_list.kanren li:nth-child(n+3) {
		display: initial;
	}
}

/*--------------------------------------------------------------*/
/* About Us 頁 */
/*--------------------------------------------------------------*/
#page_about header#page_head span.eng::after {
	aspect-ratio: 243 / 107;
	width: 243px;
	background-image: url(../images/about_an.svg);
	right: -21%;
	top: 26%;
}
#page_about h2 {
	font-size: 32px;
	text-align: center;
	margin-bottom: 54px;
}
#map {
	margin-bottom: 80px;
}
#map iframe {
	width: 100%;
	height: 500px;
	filter: grayscale(100%);
}
#page_about ul.gallery.col3 {
	margin-bottom: 0;
}
#page_about ul.gallery.col3 li {
	overflow: hidden;
}
#page_about ul.gallery.col3 li a {
	display: block;
	overflow: hidden;
	margin-bottom: 25px;
}
#page_about ul.gallery.col3 li a img {
	transition: transform 0.3s ease;
}
body.is-pc #page_about ul.gallery.col3 li a:hover img {
	transform: scale(1.05,1.05);
}
#page_about span.note {
	font-size: 14px;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_about header#page_head span.eng::after {
		width: max(19.8vw, 120px);
	}
}
/* 1200 */
@media (max-width: 1200px) {
	#page_about h2 {
		font-size: max(2.667vw, 22px);
		margin-bottom: max(4.5vw, 25px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_about ul.gallery.col3 li {
		width: 100%;
		margin: 0 0 30px 0;
	}
	#page_about ul.gallery.col3 li a {
		margin-bottom: 15px;
	}
	table.tbl tr {
		border-bottom: 1px solid #BABABA;
	}
	table.tbl tr th,
	table.tbl tr td {
		display: block;
		padding: 20px;
	}
	table.tbl tr th {
		padding-bottom: 0;
		padding-left: 15px;
	}
	table.tbl tr td {
		padding-left: 25px;
		font-weight: normal;
	}
}

/*--------------------------------------------------------------*/
/* Recruit頁 */
/*--------------------------------------------------------------*/
#page_recruit {
	margin-bottom: 160px;
}
#page_recruit header#page_head span.eng::after {
	aspect-ratio: 228 / 100;
	width: 228px;
	background-image: url(../images/recruit_an.svg);
	right: -21%;
	top: 26%;
}
ul.recruit_list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 0;
	margin-bottom: 80px;
}
ul.recruit_list li {
	width: calc(96% / 3);
	margin-right: 2%;
}
ul.recruit_list li:nth-child(3n) {
	margin-right: 0;
}
ul.recruit_list li a {
	display: block;
	position: relative;
}
ul.recruit_list li h3 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 3;
}
ul.recruit_list li ._right {
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 100%;
	z-index: 3;
}
ul.recruit_list li ._right .btnya {
	position: absolute;
	bottom: 0;
	right: 0;
	background: none;
	border: none;
	padding: 0;
	font-size: 14px;
}
ul.recruit_list li a:hover ._right .btnya {
	box-shadow: none;
}
ul.recruit_list li a:hover .overlay {
	background: rgba(32,32,32,0.6);
}
ul.recruit_list li a:hover ._right .btnya span.ya {
	border: 1px solid transparent;
	animation: arrow01 0.4s ease forwards 0.2s;
}
ul.recruit_list li .btnya:hover {
	color: #fff;
	box-shadow: 3px 3px 3px 0px rgba(0,0,0,0.4);
}
ul.recruit_list li .btnya:hover span.ya {
	border: initial;
	animation: none;
}
ul.recruit_list li .overlay {
	height: 100%;
	width: 100%;
	background: rgba(32,32,32,0.4);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transition: background .3s ease;
}
/* bosyu_banner */
.bosyu_banner {
	height: 364px;
	background: url(../images/bosyu_banner.jpg?20240917) no-repeat;
	background-size: cover;
	background-position: center;
}
.bosyu_banner a {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(32,32,32,0.6);
	color: #fff;
	transition: background .3s ease;
}
.bosyu_banner a:hover {
	background: rgba(32,32,32,0.8);
}
.bosyu_banner a .wrap span.btxt {
	font-size: 80px;
	font-weight: bold;
}
.bosyu_banner a:hover .btnya.nobk.nolink span.ya {
	border: 1px solid transparent;
	animation: arrow01 0.4s ease forwards 0.2s!important;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_recruit {
		margin-bottom: max(13vw, 80px);
	}
	#page_recruit header#page_head span.eng::after {
		width: max(18.6vw, 120px);
	}
	.bosyu_banner {
		height: 29.5vw;
		min-height: 270px;
	}
	.bosyu_banner a .wrap span.btxt {
		font-size: max(6.5vw, 30px);
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.recruit_list li {
		width: 100%;
		margin-right: 0;
	}
	.bosyu_banner {
		display: none;
	}
}

/*--------------------------------------------------------------*/
/* Recruit 詳細頁 */
/*--------------------------------------------------------------*/
#page_recruit.detail {
	margin-bottom: 160px;
}
#page_recruit.detail table.tbl tr th {
	vertical-align: top;
}
#page_recruit.detail h2 {
	text-align: center;
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 20px;
}
#page_recruit.detail ul.genru {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 10px;
	margin-bottom: 70px;
}
#page_recruit.detail ul.genru li {
	background: #005F3D;
	color: #fff;
	padding: 1px 5px 3px 5px;
	font-size: 14px;
}
#page_recruit.detail h3.htype03 {
	margin-bottom: 80px;
}
#page_recruit.detail ul.gallery.col4 li {
	overflow: hidden;
}
#page_recruit.detail ul.gallery.col4 li img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	transition: transform 0.3s ease;
}
body.is-pc #page_recruit.detail ul.gallery.col4 li a:hover img {
	transform: scale(1.05,1.05);
}
#page_recruit.detail input[name=syokumu] {
	margin-bottom: 15px;
}
#page_recruit.detail span.t14 {
	font-size: 14px;
}
#page_recruit.detail article.form_privacy {
	padding-top: 10px;
}
#page_recruit.detail .send h2 {
	margin-bottom: 40px;
}
#page_recruit.detail .send h2 + p.txt {
	text-align: center;
	line-height: 2;
}
/* ul.flex_img_txt */
ul.flex_img_txt li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
ul.flex_img_txt li figure {
	width: 33%;
	min-width: 260px;
}
ul.flex_img_txt li div.text {
	flex: 1;
	padding-left: 5%;
}
ul.flex_img_txt li div.text .title {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 16px;
}
#page_recruit.detail ul.flex_img_txt li div.text .staff {
	width: max-content;
	border: 1px solid #005F3D;
	padding: 5px 15px;
	margin-bottom: 40px;
}
ul.flex_img_txt li div.text p.txt {
	margin-bottom: 70px;
}
/* table */
table.form {
	width: 100%;
	margin-top: -30px;
	margin-bottom: 80px;
}
table.form tr th,
table.form tr td {
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	padding: 30px 0;
	text-align: left;
	line-height: 1.8;
}
table.form tr th {
	padding-right: 30px;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_recruit {
		margin-bottom: max(13vw, 80px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_recruit.detail h3.htype03 {
		margin-bottom: 40px;
	}
	ul.flex_img_txt li {
		margin-bottom: 40px;
	}
	ul.flex_img_txt li figure {
		width: 100%;
		margin-bottom: 20px;
	}
	ul.flex_img_txt li div.text {
		width: 100%;
		padding-left: 0;
	}
	ul.flex_img_txt li div.text h3 {
		margin-bottom: 10px;
	}
	ul.flex_img_txt li div.text p.txt {
		margin-bottom: 30px;
	}
	ul.flex_img_txt li div.text ._right {
		text-align: center;
	}
	/* table */
	table.form tr th,
	table.form tr td {
		display: block;
	}
	table.form tr th {
		padding-right: 0;
		padding-bottom: 10px;
	}
	table.form tr td {
		padding-top: 0;
		padding-bottom: 20px;
	}
	/* send */
	#page_recruit.detail .send h2 {
		margin-bottom: 40px;
		font-size: 28px;
	}
	#page_recruit.detail .send h2 + p.txt {
		text-align: left;
		line-height: 2;
	}
}

/*--------------------------------------------------------------*/
/* Partner頁 */
/*--------------------------------------------------------------*/
#page_partner {
	margin-bottom: 160px;
}
#page_partner header#page_head span.eng::after {
	aspect-ratio: 206 / 88;
	width: 206px;
	background-image: url(../images/partner_an.svg);
	right: -21%;
	top: 26%;
}
#page_partner p.head_msg {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 120px;
}
#page_partner .htype03 {
	margin-bottom: 80px;
}
/* motomu3 */
ul.motomu3 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.motomu3 li {
	width: 29%;
	position: relative;
}
ul.motomu3 li figure {
	overflow: hidden;
	border-radius: 50%;
}
ul.motomu3 li p.txt {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	padding: 15px 0;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
#page_partner ul.flex_img_txt li:last-child {
	margin-bottom: 0;
}
#page_partner ul.flex_img_txt li h3 {
	font-size: 24px;
	margin-bottom: 30px;
}
#page_partner ul.flex_img_txt li p.txt {
	line-height: 1.8;
}
#page_partner table.shikaku {
	margin-bottom: 140px;
}
#page_partner table.shikaku th {
	vertical-align: top;
}
#page_partner table.shikaku ul {
	list-style-type: disc;
}
ol.step {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
ol.step li {
	width: 22%;
	background: #fff;
	border-left: 8px solid #005F3D;
	padding: 16px 24px 16px 20px;
	filter: drop-shadow(4px 4px 7px rgba(0,0,0,0.12));
	font-size: 24px;
	font-weight: bold;
	line-height: 1.1;
	position: relative;
}
ol.step li::after {
	position: absolute;
	content: '';
	background-color: #fff;
	width: 15px;
	height: 30%;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	position: absolute;
	top: 50%;
	right: -15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
ol.step li:last-child::after {
	content: none;
}
ol.step li span.eng {
	font-size: 16px;
	display: block;
	color: #005F3D;
}
#page_partner button.btnya {
	margin-top: 60px;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_partner {
		margin-bottom: max(13vw, 80px);
	}
	#page_partner header#page_head span.eng::after {
		width: max(18.6vw, 130px);
	}
	#page_partner p.head_msg {
		font-size: max(2.61vw, 24px);
		margin-bottom: max(9.8vw, 40px);
	}
	#page_partner .htype03 {
		margin-bottom: max(6.5vw, 40px);
	}
	ul.motomu3 li p.txt {
		font-size: max(1.95vw, 16px);
	}
	#page_partner table.shikaku {
		margin-bottom: max(11.4vw, 80px)!important;
	}
	ol.step li {
		font-size: max(1.95vw, 16px);
	}
}
/* 834 */
@media (max-width: 834px) {
	ul.motomu3 {
		justify-content: center;
		flex-wrap: wrap;
		gap: 30px;
	}
	ul.motomu3 li {
		width: 40%;
	}
	ol.step {
		max-width: 300px;
	}
	ol.step li {
		width: 100%;
		font-size: 24px;
		margin-bottom: 40px;
	}
	ol.step li::after {
		width: 15px;
		height: 30px;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		position: absolute;
		top: initial;
		bottom: -20px;
		right: calc(50% - 7px);
		-webkit-transform: translate(-50%, 0) rotate(90deg);
		transform: translate(-50%, 0) rotate(90deg);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_partner #topArea {
		padding-top: 65vw;
		background-position: top -18vw right -30px;
	}
	ul.motomu3 {
		justify-content: center;
		flex-wrap: wrap;
		gap: 30px;
		width: 85%;
		margin-left: auto;
		margin-right: auto;
	}
	ul.motomu3 li {
		width: 100%;
	}
	#page_partner ul.flex_img_txt li h3 {
		text-align: center;
	}
	#page_partner button.btnya {
		margin-top: 30px;
	}
}

/*--------------------------------------------------------------*/
/* Staff頁 */
/*--------------------------------------------------------------*/
#page_staff .head {
	padding-top: 30px;
	margin-bottom: 120px;
}
#page_staff .head span.jp {
	display: block;
	width: 100%;
	font-weight: normal;
	margin-bottom: 15px;
}
#page_staff .head span.eng {
	display: block;
	font-size: 120px;
	line-height: 1;
	position: relative;
}
ul.staff_list {
	margin-bottom: 120px;
}
ul.staff_list li {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
ul.staff_list li figure {
	width: 40%;
	position: relative;
}
ul.staff_list li figure figcaption {
	position: absolute;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	height: 100%;
	top: 0;
	left: 0;
	color: #fff;
	font-weight: bold;
	font-size: 60px;
	line-height: 1;
}
ul.staff_list li div.text {
	width: 55%;
}
ul.staff_list li div.text h3 {
	font-size: 30px;
}
ul.staff_list li div.text span.eng {
	display: block;
	margin-bottom: 40px;
}
ul.staff_list li div.text dl {
	margin-bottom: 40px;
}
ul.staff_list li div.text dl dt {
	color: green;
	letter-spacing: 1px;
	margin-bottom: 5px;
}
/* 1240 */
@media (max-width: 1240px) {
	ul.staff_list li figure figcaption {
		font-size: max(4.84vw, 30px);
	}
}
/* 834 */
@media (max-width: 834px) {
	#page_staff .head span.eng {
		font-size: max(14.4vw, 63px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_staff .head {
		margin-bottom: 80px;
	}
	#page_staff .head span.jp {
		font-size: 14px;
	}
	ul.staff_list li div.text span.eng {
		margin-bottom: 30px;
	}
	ul.staff_list li figure {
		width: 100%;
		margin-bottom: 30px;
	}
	ul.staff_list li figure figcaption {
		font-size: 11vw;
	}
	ul.staff_list li div.text {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* グローヴアーツの受賞実績ページ */
/*--------------------------------------------------------------*/
#page_award_history header#page_head span.eng::after {
	aspect-ratio: 326 / 120;
	width: 326px;
	background-image: url(../images/award_history_an.svg);
	right: -40%;
	top: 30%;
}
#page_award_history div.sub_head_img {
	position: relative;
}
#page_award_history div.head_txt {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	text-shadow: 3px 3px 6px rgba(0,0,0,0.8);
	line-height: 1;
	width: 100%;
}
#page_award_history div.head_txt span.row1 {
	display: block;
	font-size: 48px;
	font-weight: bold;
}
#page_award_history div.head_txt span.row2 {
	display: block;
	font-size: 90px;
}
#page_award_history div.head_txt span.row2 span.num {
	font-size: 240px;
}
#page_award_history h2 {
	font-size: 36px;
	text-align: center;
	margin-bottom: 25px;
}
#page_award_history p.head_txt {
	font-size: 16px;
	text-align: center;
	margin-bottom: 60px;
}
#page_award_history table {
	max-width: 615px;
	margin: 0 auto 80px auto;
}
#page_award_history table th {
	color: #005F3D;
	line-height: 3;
	vertical-align: top;
	padding-right: 40px;
}
#page_award_history table td {
	line-height: 3;
}
#page_award_history table td div.open_close {
	display: none;
}
#page_award_history div.total {
	text-align: center;
	margin-bottom: 80px;
}
#page_award_history div.total div {
	background: url(../images/work_grandpri.svg) no-repeat;
	background-size: contain;
	background-position: center center;
	aspect-ratio: 306 / 80;
	max-width: 306px;
	font-size: 24px;
	font-weight: bold;
	color: #005F3D;
	text-align: center;
	margin: 0 auto 20px auto;
}
#page_award_history div.total div span.num {
	font-size: 48px;
}
/* swiper */
#page_award_history .award_swiper {
	overflow: hidden;
}
#page_award_history .award_swiper li figure {
	aspect-ratio: 6 / 4;
	margin-bottom: 20px;
}
#page_award_history .award_swiper li figure img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
#page_award_history .award_swiper li div.body .award {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	background-image: url(../images/ha_left.svg), url(../images/ha_right.svg);
	background-repeat: no-repeat, no-repeat;
	background-size: contain;
	background-position: center left, center right;
	max-width: 450px;
	width: 95%;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 20px auto;
	padding: 0 33px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
#page_award_history .award_swiper li div.body .award span.sakuhin {
	display: block;
	text-align: center;
	font-size: 22px;
	padding-top: 4px;
}
#page_award_history .award_swiper li div.body h4 {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 14px;
}
#page_award_history .award_swiper li div.body p.txt {
	font-size: 16px;
	text-align: center;
	margin-bottom: 27px;
}
#page_award_history .award_swiper li .btnya {
	padding: 6px 17px 6px 30px;
}
#page_award_history .award_swiper {
	position: relative;
}
#page_award_history .award_swiper .swiper_control {
	position: absolute;
	top: 24%;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	width: 94%;
	z-index: 3;
}
#page_award_history .award_swiper .swiper_control .swiper-button-prev,
#page_award_history .award_swiper .swiper_control .swiper-button-next {
	width: 46px;
	height: 46px;
}
#page_award_history .award_swiper .swiper_control .swiper-pager {
	bottom: 0;
	right: 0;
}
#page_award_history .award_swiper .swiper_control .swiper-pager {
	width: 100%;
}
#page_award_history .award_swiper .swiper_control .swiper-button-prev,
#page_award_history .award_swiper .swiper_control .swiper-button-next {
	background: rgba(255,255,255,0.6);
}
#page_award_history .award_swiper .swiper_control .swiper-button-prev:hover,
#page_award_history .award_swiper .swiper_control .swiper-button-next:hover {
	background: #005f3d;
}
/* 1400 */
@media (max-width: 1400px) {
	#page_award_history div.head_txt span.row1 {
		font-size: max(3.429vw, 18px); //48px;
	}
	#page_award_history div.head_txt span.row2 {
		font-size: max(6.429vw, 32px); //90px;
	}
	#page_award_history div.head_txt span.row2 span.num {
		font-size: max(17.143vw, 72px); //240px;
	}
}
/* 1230 */
@media (max-width: 1230px) {
	#page_award_history header#page_head span.eng::after {
		width: max(26.504vw, 200px); //326px;
	}
	#page_award_history h2 {
		font-size: max(2.927vw, 24px); //36px;
	}
	#page_award_history p.head_txt {
		font-size: max(1.301vw, 14px); //16px;
		margin-bottom: max(4.878vw, 42px); //60px;
	}
	#page_award_history div.total {
		margin-bottom: max(6.504vw, 56px); //80px;
	}
	/* swiper */
	#page_award_history .award_swiper li div.body .award {
		font-size: max(1.301vw, 10px); //16px;
		width: 85%;
	}
	#page_award_history .award_swiper li div.body .award span.sakuhin {
		font-size: max(1.789vw, 16px); //22px;
		padding-top: 4px;
	}
	#page_award_history .award_swiper li div.body h4 {
		font-size: max(1.951vw, 18px); //24px;
		margin-bottom: 14px;
	}
	#page_award_history .award_swiper li div.body p.txt {
		font-size: max(1.301vw, 12px); //16px;
		margin-bottom: 27px;
	}
}
/* 768 */
@media (max-width: 768px) {
	#page_award_history .award_swiper .swiper_control .swiper-pager {
		display: flex;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_award_history table {
		max-width: 615px;
		margin: 0 auto 50px auto;
	}
	#page_award_history table th {
		line-height: 3;
		padding-right: 0;
		display: block;
	}
	#page_award_history table td {
		line-height: 2;
		display: block;
		text-align: center;
	}
	#page_award_history table td div.open_close {
		text-align: center;
		display: block;
		line-height: 1;
		margin-bottom: 10px;
	}
	#page_award_history table td div.wrap {
		margin-bottom: 20px;
	}
	.open_close.active img {
		transform: rotate(180deg);
		transition: transform 0.3s;
	}
	/* swiper */
	#page_award_history .award_swiper li div.body h4 {
		padding: 0 15px;
	}
	#page_award_history .award_swiper li div.body p.txt {
		padding: 0 15px;
	}
	#page_award_history .award_swiper .swiper_control {
		top: 39vw;
	}
	#page_award_history .award_swiper .swiper_control svg {
		width: 22px;
	}
	#page_award_history .award_swiper .swiper_control .swiper-button-prev,
	#page_award_history .award_swiper .swiper_control .swiper-button-next {
		width: 36px;
		height: 36px;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ */
/*--------------------------------------------------------------*/
#page_contact {
	margin-bottom: 160px;
}
#page_contact header#page_head span.eng::after {
	aspect-ratio: 206 / 88;
	width: 206px;
	background-image: url(../images/contact_an.svg);
	right: -21%;
	top: 26%;
}
#page_contact p.head_msg {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 120px;
}
#page_contact .htype03 {
	margin-bottom: 80px;
	text-align: center;
}
.tel_line {
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.tel_line .left {
	max-width: 470px;
	width: 100%;
	text-align: center;
}
.tel_line .right {
	max-width: 550px;
	width: 100%;
	text-align: center;
}
.tel_line .left div.tel a {
	font-size: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.tel_line .left div.tel a img {
	margin-right: 5px;
}
.tel_line .right p.txt {
	font-size: 24px;
}
.tel_line .right p.txt small {
	margin-bottom: 20px;
	display: inline-block;
}
.tel_line .right img {
	transition: opacity .3s ease;
}
.tel_line .right a:hover img {
	opacity: 0.8;
}

/* 1230 */
@media (max-width: 1230px) {
	#page_contact {
		margin-bottom: max(13vw, 80px);
	}
	#page_contact header#page_head span.eng::after {
		width: max(18.6vw, 130px);
	}
	#page_contact p.head_msg {
		font-size: max(2.61vw, 24px);
		margin-bottom: max(9.8vw, 40px);
	}
	#page_contact .htype03 {
		margin-bottom: max(6.5vw, 40px);
	}
}

/* 1080 */
@media (max-width: 1080px) {
	.tel_line {
		justify-content: center;
	}
	.tel_line .left {
		margin-bottom: 30px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.tel_line .right .line_txt {
		margin-bottom: 20px;
	}
	.tel_line .left div.tel a {
		font-size: 45px;
	}
	.tel_line .left div.tel a img {
		margin-right: 3px;
		width: 36px;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ -> .form */
/*--------------------------------------------------------------*/
.form .hissu {
	color: red;
	margin-left: 10px;
}
.form ul.parent > li:not(:last-child) {
	margin-bottom: 40px;
}
.form ul.parent > li .box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.form ul.parent > li .box .title {
	width: 190px;
	padding-right: 25px;
}
.form ul.parent > li .box .input {
	flex: 1;
}
.form label {
	cursor: pointer;
}
.mwform-tel-field input {
	max-width: 112px;
	min-width: 80px;
}
.form span.error {
	margin: 5px 0;
	font-family: noto-sans-cjk-jp, "Meiryo UI", "ヒラギノ明朝 ProN", "小塚明朝 Pro", Hiragino Kaku Gothic ProN, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", sans-serif;
	color: red;
}
.form div.note {
	padding: 25px 30px;
	margin: 60px 0;
	border: 1px solid #005F3D;
}
.form div.note ul {
	list-style-type: disc;
	margin-left: 20px;
}
.form .mwform-checkbox-field-text {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/* 768 */
@media (max-width: 768px) {
	.mwform-tel-field input {
		width: 28%!important;
	}
}
/* 580 */
@media (max-width: 580px) {
	.form ul.parent > li:not(:last-child) {
		margin-bottom: 25px;
	}
	.form ul.parent > li .box .title {
		width: 100%;
		padding-right: 0;
		margin-bottom: 5px;
		font-weight: bold;
	}
	.form ul.parent > li .box .input {
		width: 100%;
	}
	.form ul.parent > li .box .input textarea {
		height: 180px;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ -> 個人情報保護方針 */
/*--------------------------------------------------------------*/
article.form_privacy {
	padding: 60px 0;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
article.form_privacy .mwform-checkbox-field {
	margin-bottom: 5px;
	display: block;
}
article.form_privacy .scroll {
	border: 1px solid #ccc;
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
	height: 180px;
	overflow-y: scroll;
	background: #f9f9f9;
}
article.form_privacy .scroll header h1 {
	font-size: 17px;
	margin-bottom: 20px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
article.form_privacy .scroll header p {
	margin-bottom: 20px;
	font-size: 14px;
}
article.form_privacy .scroll dl dt {
	font-size: 15px;
	margin-bottom: 5px;
}
article.form_privacy .scroll dl dt strong {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
article.form_privacy .scroll dl dd {
	font-size: 14px;
	margin-bottom: 15px;
}
/* 580 */
@media (max-width: 580px) {
	article.form_privacy {
		padding: 30px 0 40px 0;
	}
	article.form_privacy .scroll header h1 {
		font-size: 18px;
	}
	article.form_privacy .scroll header p {
		font-size: 13px;
	}
	article.form_privacy .scroll dl dt {
		font-size: 14px;
	}
	article.form_privacy .scroll dl dd {
		font-size: 13px;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ -> 送信完了 */
/*--------------------------------------------------------------*/
body.send h2 {
	font-size: 24px;
	margin-bottom: 30px;
}
body.send p.txt {
	margin-bottom: 30px;
	line-height: 1.8;
}
body.send p.txt span.note {
	color: #005F3D;
}

/*--------------------------------------------------------------*/
/* ご来店予約ページ */
/*--------------------------------------------------------------*/
#page_reservation {
	margin-bottom: 160px;
}
#page_reservation header#page_head span.eng::after {
	aspect-ratio: 295 / 111;
	width: 295px;
	background-image: url(../images/reservation_an.svg);
	right: -21%;
	top: 26%;
}
#page_reservation span.week_info {
	display: block;
	font-size: 12px;
}
/* div.note */
#page_reservation div.note {
	text-align: center;
	border-color: #005F3D;
	margin-bottom: 20px;
}
#page_reservation div.note h3 {
	color: #005F3D;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 16px;
}
#page_reservation div.note p.txt {
	font-size: 15px;
	line-height: 2;
}
#page_reservation div.note strong {
	color: #cb0000;
	border-bottom: 1px solid #cb0000;
}
#page_reservation div.hissu {
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	margin-bottom: 50px;
}
/* div.caution Contact共通 */
div.caution {
	padding: 25px 30px;
	margin: 60px 0;
	border: 1px solid #005F3D;
	text-align: center;
}
div.caution h3 {
	color: #005F3D;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 16px;
}
div.caution h3::before {
	content: '';
	display: inline-block;
	aspect-ratio: 1 / 1;
	width: 30px;
	height: 100%;
	margin-right: 7px;
	background: url(../images/caution.svg) no-repeat;
	background-size: contain;
	vertical-align: bottom;
}
div.caution p.txt {
	line-height: 2;
	margin-bottom: 16px;
}
div.caution a {
	display: inline-block;
	color: #005F3D;
	font-size: 24px;
	margin-bottom: 16px;
	border-bottom: 1px solid #005f3d;
}
/* 1230 */
@media (max-width: 1230px) {
	#page_reservation {
		margin-bottom: max(13vw, 80px);
	}
	#page_reservation header#page_head span.eng::after {
		width: max(18.6vw, 130px);
	}
	#page_reservation p.head_msg {
		font-size: max(2.61vw, 24px);
		margin-bottom: max(9.8vw, 40px);
	}
	#page_reservation .htype03 {
		margin-bottom: max(6.5vw, 40px);
	}
	/* div.note */
	#page_reservation div.note {
		padding: max(2.033vw, 18px) max(2.439vw, 15px); //30px;
		margin-top: max(4.878vw, 40px); //60px;
	}
	#page_reservation div.note h3 {
		font-size: max(1.626vw, 18px); //20px;
		margin-bottom: max(1.301vw, 14px); //16px;
	}
	#page_reservation div.note p.txt {
		font-size: max(1.22vw, 14px); //15px;
	}
	#page_reservation div.hissu {
		margin-bottom: max(4.065vw, 40px); //50px;
	}
	/* div.caution Contact共通 */
	div.caution {
		padding: 25px max(2.439vw, 20px) 20px max(2.439vw, 20px);
		margin: 60px 0;
		border: 1px solid #005F3D;
		text-align: center;
	}
	div.caution h3 {
		font-size: max(1.951vw, 20px); //24px;
		margin-bottom: max(1.301vw, 14px); //16px;
	}
	div.caution p.txt {
		font-size: max(1.301vw, 14px); //16px;
		margin-bottom: max(1.301vw, 14px); //16px;
	}
	div.caution a {
		font-size: max(1.951vw, 20px); //24px;
		margin-bottom: 16px;
	}
	div.caution .tantou {
		font-size: max(1.301vw, 14px); //16px;
	}
}
/* 900 */
@media (max-width: 900px) {
	#page_reservation header#page_head span.eng::after {
		right: -2%;
		top: -24%;
	}
}
/* 580 */
@media (max-width: 580px) {
	#page_reservation .htype03 {
		margin-top: -40px;
	}
	#page_reservation div.note p.txt {
		line-height: 1.7;
	}
	#page_reservation div.caution p.txt {
		line-height: 1.7;
	}
}


/*--------------------------------------------------------------*/
/* #foot_contact */
/*--------------------------------------------------------------*/
#foot_contact {
	background: url(../images/foot_contact_bk.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	padding: 80px 0;
	text-align: center;
	color: #fff;
}
#foot_contact h2 {
	font-size: 32px;
	margin-bottom: 20px;
	text-shadow: 3px 3px 4px rgba(0,0,0,0.75);
}
#foot_contact a.tel {
	font-size: 64px;
	color: #fff;
	text-shadow: 3px 3px 4px rgba(0,0,0,0.6);
}
#foot_contact .flex {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 5%;
	margin: 20px auto 40px auto;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.8);
}
dl.type01 {
	display: flex;
	flex-wrap: wrap;
	width: max-content;
	gap: 0 20px;
}
/* 1230 */
@media (max-width: 1230px) {
	#foot_contact h2 {
		font-size: max(2.6vw, 14px);
	}
	#foot_contact a.tel {
		font-size: max(5.2vw, 38px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#foot_contact {
		background: url(../images/foot_contact_bk_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center;
		padding: 40px 0;
	}
	#foot_contact .wrap {
		width: max-content;
		margin: 0 auto;
	}
	#foot_contact .flex {
		font-size: 15px;
		margin: 10px auto 20px auto;
	}
	dl.type01 {
		margin-bottom: 10px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 ul.list_base */
/*--------------------------------------------------------------*/
ul.list_base {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.list_base li {
	width: 49%;
}
/* col3 */
ul.list_base.col3 {
	justify-content: flex-start;
	gap: 1.1vw 0;
}
ul.list_base.col3 li {
	width: calc(97% / 3);
	margin-right: 1.5%;
}
ul.list_base.col3 li:nth-child(3n) {
	margin-right: 0;
}
ul.list_base a {
	display: block;
	overflow: hidden;
	position: relative;
	color: #fff;
	text-decoration: none;
}
ul.list_base li figure {
	position: relative;
	display: block;
	border-radius: 15px;
	vertical-align: bottom;
}
ul.list_base a figure::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0, 0, 0, 0.15);
	pointer-events: none;
	transition: 0.8s;
}
body.is-pc ul.list_base a:hover figure::after {
	background: rgba(0, 0, 0, 0.3);
}
ul.list_base a .flex {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9;
	width: 100%;
	height: 100%;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	pointer-events: none;
}
ul.list_base li .text span.eng {
	font-size: 200%;
	letter-spacing: 0.08em;
}
ul.list_base li .text h2 {
	padding-top: 1em;
	font-size: 116%;
	letter-spacing: 0.08em;
}
/* 834 */
@media screen and (max-width: 834px) {
	/* col3 */
	ul.list_base.col3 {
		gap: 1.4vw 0;
	}
	ul.list_base li figure {
		border-radius: 6px;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.list_base {
		gap: 25px 0;
	}
	ul.list_base li {
		width: 100%;
	}
	/* col3 */
	ul.list_base.col3 {
		gap: 2.2vw 0;
	}
	ul.list_base.col3 li {
		width: calc(97.5% / 2);
		margin-right: 2.5%;
	}
	ul.list_base.col3 li:nth-child(3n) {
		margin-right: 2.5%;
	}
	ul.list_base.col3 li:nth-child(2n) {
		margin-right: 0;
	}
	ul.list_base li .text span.eng {
		font-size: 160%;
	}
	ul.list_base li .text h2 {
		padding-top: 1em;
		font-size: 100%;
		letter-spacing: 0.08em;
	}
}

/*--------------------------------------------------------------*/
/* breadcrumbs */
/*--------------------------------------------------------------*/
.breadcrumbs {
	padding: 18px 0;
}
.breadcrumbs i {
	font-size: 10px;
	bottom: 1px;
	position: relative;
	margin: 0 6px;
}
.breadcrumbs .content,
.breadcrumbs span {
	font-size: 14px;
}

/*--------------------------------------------------------------*/
/* お知らせ */
/*--------------------------------------------------------------*/
ul.cat {
	display: flex;
	flex-wrap: wrap;
	margin-top: 10px;
}
ul.cat li {
	font-size: 1.4rem;
	margin-right: 5px;
	color: #fff;
}
ul.cat li a {
	color: #fff;
}
/* header */
article.post-wrap header {
	margin-bottom: 20px;
}
article.post-wrap header h1 {
	font-size: 32px;
	line-height: 1.3;
}
article.post-wrap header time {
	display: inline-block!important;
	margin-left: 7px;
	margin-right: 15px;
	font-size: 14px;
}
article.post-wrap header .timecat {
	margin-bottom: 80px;
}
article.post-wrap header .timecat ul.cat {
	display: inline-flex;
	gap: 0 3px;
}
article.post-wrap header .timecat ul.cat li a {
	display: block;
	font-size: 14px;
	padding: 0 5px;
	background: #005F3D;
	color: #fff;
}
article.post-wrap header .timecat ul.cat li a:hover {
	opacity: 0.8;
}
article.post-wrap header figure {
	margin-bottom: 24px;
}
article.post-wrap header figure img {
	aspect-ratio: 1200 / 560;
	width: 100%;
	height: auto;
	object-fit: cover;
}
article.post-wrap div.entry {
	margin-bottom: 60px;
}
article.post-wrap div.entry * {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
article.post-wrap div.entry p {
	margin-bottom: 30px;
}
article.post-wrap div.entry a {
	color: blue;
	text-decoration: underline;
	transition: .2s ease;
}
article.post-wrap div.entry a:hover {
	color: orange;
	text-decoration: none;
}
article.post-wrap div.entry figure {
	display: block;
	line-height: 1;
	margin-bottom: 30px;
}
/* h1～h6 */
article.post-wrap div.entry h1 {
	font-size: 24px;
	font-weight: bold;
	margin-top: 60px;
	margin-bottom: 20px;
}
article.post-wrap div.entry h2 {
	font-size: 24px;
	font-weight: bold;
	margin-top: 60px;
	margin-bottom: 20px;
}
article.post-wrap div.entry h3,
article.post-wrap div.entry h4,
article.post-wrap div.entry h5,
article.post-wrap div.entry h6 {
	font-size: 16px;
	font-weight: bold;
	margin-top: 60px;
	margin-bottom: 20px;
}
article.post-wrap div.entry ul {
	list-style-type: initial;
	margin-left: 26px;
	margin-top: 30px;
	margin-bottom: 30px;
}
article.post-wrap div.entry ul li::marker {
	font-size: 14px;
}
/* blockquote */
article.post-wrap div.entry blockquote {
	position: relative;
	padding: 50px 30px 30px 30px;
	font-size: 18px;
	background: #E7EEEC;
}
article.post-wrap div.entry blockquote::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: bold;
	font-size: 12px;
	content: "\f10d";
	display: block;
	width: 24px;
	height: 21px;
	position: absolute;
	top: 25px;
	left: 30px;
}
article.post-wrap div.entry blockquote p {
	padding: 0;
	margin: 0;
	line-height: 1.7;
}
article.post-wrap div.entry blockquote cite {
	display: block;
	text-align: right;
	color: #888888;
	font-size: 12px;
}
/* hr */
article.post-wrap div.entry hr {
	border-top: none;
	border-bottom: 1px dotted #dcdcdc;
	margin: 30px 0;
}
/* wp-block-columns */
.wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
/* wp-block-button */
.wp-block-button {
	display: inline-block;
	margin: 10px;
}
.wp-block-button .wp-block-button__link {
	display: block;
	position: relative;
	max-width: 200px;
	width: 100%;
	text-align: center;
	margin: 20px;
	padding: 10px;
	color: #fff;
	background: #c1007b;
	border: none;
	font-size: 1.6rem;
	transition: 0.3s all;
}
.wp-block-button .wp-block-button__link::after {
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	font-family: "Ionicons";
	content: '\f488';
	font-size: 1.4rem;
	transition: 0.3s all;
}
.wp-block-button .wp-block-button__link:hover {
	background: #c1007b;
	color: #fff;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	opacity: 0.9;
}
.wp-block-button .wp-block-button__link:hover::after {
	right: 10px;
}
/* table */
article.post-wrap div.entry table {
	width: 100%;
	margin-top: 40px;
	margin-bottom: 40px;
}
article.post-wrap div.entry table th {
	color: #fff;
	background: #005F3D;
	text-align: center;
}
article.post-wrap div.entry table th {
	padding: 15px;
	border: 1px solid #005F3D;
	font-size: 16px;
}
article.post-wrap div.entry table td {
	padding: 15px;
	border: 1px solid #ccc;
	font-size: 16px;
}
article.post-wrap table.page_navi {
	margin-bottom: 90px;
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
	width: 100%;
	background: #fff;
	border: none;
}
article.post-wrap table.page_navi th,
article.post-wrap table.page_navi td {
	border: none;
	width: calc(100%/3);
	text-align: center;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
article.post-wrap table.page_navi td span.txt {
	margin: 0 15px;
}
/* gallery */
article.post-wrap div.entry ul.blocks-gallery-grid {
	list-style-type: none;
	margin: 0;
	display: flex;
	justify-content: space-between;
}
/* sns */
.sns__container {
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
	max-width: 150px;
	margin-left: auto;
}
.sns__container a {
	width: calc(100% / 3);
	text-align: right;
}
.sns__container a:hover {
	opacity: 0.7;
}
.sns__container a i {
	font-size: 25px;
}
.sns__twitter i {
	color: #55acee;
}
.sns__facebook i {
	color: #3b5998;
}
.sns__line i {
	color: #1dcd00;
}
/* 580 */
@media (max-width: 580px) {
	article.post-wrap {
		padding: 0;
	}
	article.post-wrap header h1 {
		font-size: 18px;
	}
	article.post-wrap header .timecat {
		margin-bottom: 40px;
	}
	article.post-wrap header .timecat ul.cat li span.txt {
		font-size: 14px;
	}
	/* h1～h6 */
	article.post-wrap div.entry h1 {
		font-size: 21px;
	}
	article.post-wrap div.entry h2 {
		font-size: 20px;
	}
	article.post-wrap div.entry ul li {
		font-size: 14px;
	}
	article.post-wrap div.entry table th,
	article.post-wrap div.entry table td {
		font-size: 14px;
		padding: 10px 15px;
	}
	/* blockquote */
	article.post-wrap div.entry blockquote {
		padding: 45px 20px 20px 20px;
	}
	article.post-wrap div.entry blockquote::before{
		width: 20px;
		height: 17px;
		top: 20px;
		left: 20px;
	}
	/* sns */
	.sns__container {
		margin-bottom: 50px;
	}
}

/*--------------------------------------------------------------*/
/* ページナビ */
/*--------------------------------------------------------------*/
tablenav:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.tablenav{
	min-height: 1px;
	height: 1px;
}
.tablenav{
	display: table;
	color: #005F3D;
	margin: 50px auto ;
	line-height: 2em;
	text-align: center;
	border: solid 1px #ddd;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.047);
	font-size: 12px;
	background: #fff;
}
a.page-numbers,
.tablenav .current {
	display: table-cell;
	color: #005F3D;
	padding: 4px 0;
	text-decoration: none;
	margin: 0;
	border-right: solid 1px #ddd;
	width: 3em;
}
.tablenav .page-numbers {
	transition: .3s ease;
	display: table-cell;
	color: #005F3D;
	padding: 4px 0;
	text-decoration: none;
	margin: 0;
	border-right: solid 1px #ddd;
	width: 3em;
}
a.page-numbers:hover {
	color: white;
	background: #005F3D;
}
.tablenav .current{
	background: #f5f5f5;
	color: #999;
}
.tablenav .next,
.tablenav .prev{
	width: 4em;
}
.tablenav .dots {
	display: none;
}
.tablenav .next {
	border-right: none;
	border-radius: 0 4px 4px 0;
}
.tablenav .prev {
	border-radius: 4px 0 0 4px;
}
.tablenav span:last-child {
	border-right: none;
}

/*--------------------------------------------------------------*/
/* #page_404 */
/*--------------------------------------------------------------*/
#page_404 {
	margin-bottom: 120px;
}
#page_404 h2.head_msg {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}
#page_404 h2.head_msg + p.txt {
	text-align: center;
	line-height: 2;
}
/* 580 */
@media (max-width: 580px) {
	#page_404 {
		margin-bottom: 100px;
	}
	#page_404 h2.head_msg + p.txt {
		text-align: left;
	}
}

/*--------------------------------------------------------------*/
/* footer フロートナビ */
/*--------------------------------------------------------------*/
#float_menu {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 20px 10px 10px 10px;
	background: linear-gradient(to top, rgba(0, 95, 61, 1) 50%, rgba(0, 0, 0, 0) 100%);
	z-index: 3;
}
#float_menu ul {
	display: flex;
	align-content: stretch;
	justify-content: center;
	gap: 0 3.5%;
	margin-bottom: 12px;
}
#float_menu ul li {
	font-weight: bold;
	box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.5);
	position: relative;
}
#float_menu ul li a {
	background: #fff;
	color: #005F3D;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 10px 5px 7px 5px;
}
#float_menu ul li::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 20px 0 0;
	border-color: #005F3D transparent transparent transparent;
}
#float_menu ul li .row1 {
	display: block;
	margin-bottom: 5px;
}
#float_menu ul li .row2 {
	font-size: 14px;
	line-height: 1.2;
}
#float_menu ul li:nth-child(1) .row1 {
	font-size: 12px;
	margin-bottom: 5px;
}
#float_menu ul li:nth-child(1) .row2 {
	font-size: 20px;
	line-height: 1;
	margin-bottom: -4px;
}
#float_menu .fmsg {
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-shadow: 0px 0px 12px rgba(0,0,0,1);
	text-align: center;
}

/*--------------------------------------------------------------*/
/* footer */
/*--------------------------------------------------------------*/
footer {
	background: #202020;
	padding-top: 80px;
	padding-bottom: 60px;
	position: relative;
	overflow: hidden;
}
footer .mark {
	position: absolute;
	top: -5%;
	right: -3.5%;
	max-width: 500px;
	min-width: 300px;
	width: 30%;
	fill: #fff;
	stroke: #fff;
	opacity: 0.12;
	z-index: 1;
}
footer .content {
	position: relative;
	z-index: 2;
}
footer .wrap {
	margin-bottom: 60px;
}
/* left */
footer .left {
	width: 50%;
	min-width: 330px;
}
footer .logo img {
	width: 344px;
	margin-bottom: 15px;
}
/* address */
footer .left address {
	color: #fff;
}
footer .left address dl {
	font-style: normal;
}
footer .left address dl dt {
	font-size: 24px;
	margin-bottom: 5px;
}
footer .left address dl dd {
	font-size: 14px;
	margin-bottom: 3px;
}
footer .left address dl dd a {
	color: #fff;
}
footer .left address dl dd.sns {
	margin-top: 6px;
}
footer .left address dl dd.sns a {
	margin-right: 8px;
}
footer .left address dl dd.sns a svg {
	fill: #fff;
	transition: fill .3s ease;
}
footer .left address dl dd.sns a:hover svg {
	fill: #005F3D;
}
/* right */
footer .right {
	width: 50%;
}
footer .right ul.action {
	display: flex;
	justify-content: flex-end;
}
footer .right ul.action li {
	margin-left: 20px;
}
footer .right ul.action li a {
	display: block;
	aspect-ratio: 1 / 1;
	width: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 50%;
	transition: background .3s ease;
}
footer .right ul.action li a svg {
	stroke: #005F3D;
	transition: stroke .3s ease;
}
body.is-pc footer .right ul.action li a:hover svg {
	stroke: #fff;
}
body.is-pc footer .right ul.action li a:hover {
	background: #005F3D;
}
/* foot_nav */
footer .right ul.foot_nav {
	max-width: 400px;
	width: 100%;
	height: 335px;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	margin-left: auto;
}
footer .right ul.foot_nav li {
	position: relative;
}
footer .right li a {
	position: relative;
	display: inline-block;
	color: #fff;
	transition: .3s ease;
	line-height: 1.4;
	padding-left: 3px;
	padding-right: 3px;
	z-index: 2;
}
footer .right ul.foot_nav ul.foot_sub li::before {
	left: 20px;
}
footer .right ul.foot_nav > li {
	margin-bottom: 20px;
}
body.is-pc footer .right ul.foot_nav li a:hover {
	color: #005F3D;
	transform: translateX(3px);
}
footer .right ul.foot_nav li ul.foot_sub li {
	padding-left: 30px;
}
/* copy */
footer .copy {
	font-size: 14px;
	text-align: center;
	color: #fff;
}
footer .copy a {
	color: #fff;
}
footer .copy a:hover {
	color: #005F3D;
}
/* 900 */
@media (max-width: 900px) {
	footer .left li a {
		background: none;
	}
	footer .right ul.foot_nav li::before {
		content: none;
	}
	footer .right ul.foot_nav li ul.foot_sub li::before {
		content: '';
		width: 10px;
		height: 1px;
		border-bottom: 1px solid #fff;
		position: absolute;
		position: absolute;
		top: 12px;
		left: 20px;
		z-index: 1;
	}
	body.is-pc footer .right ul.foot_nav li a:hover {
		color: #005F3D;
		transform: initial;
	}
	/* right */
	footer .right {
		width: 100%;
	}
}
/* 768 */
@media (max-width: 768px) {
	footer .logo img {
		max-width: 344px;
		width: 50%;
		margin-bottom: 15px;
	}
	/* address */
	footer .left address {
		max-width: 360px;
		width: 100%;
		padding-right: 0;
		margin-bottom: 30px;
	}
}
/* 580 */
@media (max-width: 580px) {
	footer {
		padding-top: 60px;
		padding-bottom: 160px;
	}
	/* left */
	footer .left {
		width: 100%;
	}
	footer .left address dl dt {
		font-size: 20px;
		margin-bottom: 5px;
	}
	footer .right li a {
		font-size: 15px;
	}
	footer .right ul.action {
		justify-content: flex-start;
	}
	footer .right ul.action li {
		margin-left: 0;
		margin-right: 20px;
	}
	footer .mark {
		top: 26%;
		min-width: 280px;
		right: -17%;
	}
}
