/* -----------------------------------------------
= reset
----------------------------------------------- */
html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%
}
body, h1, h2, h3, h4, h5, h6, p,
dl, dt, dd, ol, ul, li,
figure, figcaption {
	margin: 0;
	padding: 0;
	font-size: 1em;
	font-weight: normal;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
a {
	color: inherit;
	text-decoration: none;
}
a img {
	border: none;
}
img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
button,
textarea {
	margin: 0;
	padding: 0;
	color: inherit;
	border: none;
	border-radius: 0;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
}
button {
	cursor: pointer;
}
input {
	border: none;
	border-radius: 0;
	font: inherit;
}
select {
	font: inherit;
}
iframe {
	border: none;
}
/* -----------------------------------------------
= variable
----------------------------------------------- */
:root {
	--fontYuGo: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	--fontEn: "Cormorant Infant", serif;
	--green: #378e06;
	--lightGreen: #85c03d;
	--filterGreen: invert(65%) sepia(26%) saturate(900%) hue-rotate(45deg) brightness(98%) contrast(98%);
	--filterLightGreen: invert(73%) sepia(50%) saturate(521%) hue-rotate(41deg) brightness(85%) contrast(95%);
	--filterWhite: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
/* -----------------------------------------------
= animation
----------------------------------------------- */
.js-inview {
	opacity: 0;
	transform: translateY(20%);
	transition: .4s .5s;
}
.js-inview.is-show {
	opacity: 1;
	transform: translateY(0);
}
/* -----------------------------------------------
= base
----------------------------------------------- */
body {
	color: #0d0d0d;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .04em;
}
.is-pc {
	display: none;
}
@media print, screen and (width >= 768px) {/* PC */
.is-pc {
	display: block;
}
.is-sp {
	display: none;
}
}/* @media */
/* -----------------------------------------------
= nav
----------------------------------------------- */
.nav_btn {
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 20;
	width: 53px;
	height: 53px;
	color: #fff;
	background: url(../img/index/nav_btn_bg.png) no-repeat 50% / cover;
	border: 1px solid #fff;
	border-radius: 5px;
	box-shadow: 0 2px 0 rgba(0,0,0,.15);
}
.nav_btn::before,
.nav_btn::after,
.nav_btn span::before {
	content: "";
	position: absolute;
	left: 14px;
	width: 25px;
	height: 1px;
	background: #fff;
}
.nav_btn::before {
	top: 10px;
}
.nav_btn::after {
	top: 18px;
}
.nav_btn span::before {
	top: 26px;
}
.nav_btn span::after {
	content: "MENU";
	position: absolute;
	left: .12em;
	bottom: 8px;
	width: calc(100% - .12em);
	font-family: var(--fontYuGo);
	font-size: calc(.9rem / 1.6);
	line-height: 1;
	text-shadow: 0 0 5px rgba(44,111,3,.5);
	letter-spacing: .12em;
}
.nav_btn[aria-expanded="true"] {
	background: transparent;
	border: none;
	box-shadow: none;
}
.nav_btn[aria-expanded="true"]::before {
	top: 18px;
	transform: rotate(-45deg);
}
.nav_btn[aria-expanded="true"]::after {
	top: 18px;
	transform: rotate(45deg);
}
.nav_btn[aria-expanded="true"] span::before {
	display: none;
}
.nav_btn[aria-expanded="true"] span::after {
	content: "CLOSE";
}
.nav {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
	width: 100%;
	max-height: 100svh;
	color: #fff;
	background: url(../img/index/nav_bg_sp.png) no-repeat 50% 0 / cover;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.nav.open {
	display: block;
}
.nav dl {
	margin: 55px 18px 33px;
}
.nav dt {
	padding: 0 10px 10px;
	border-bottom: 1px solid rgba(255,255,255,.3);
	font-size: calc(1.7rem / 1.6);
	text-shadow: 0 0 5px rgba(44,111,3,.5);
}
.nav ul {
	margin-bottom: 20px;
}
.nav li {
	border-bottom: 1px dashed rgba(255,255,255,.3);
}
.nav li a {
	display: block;
	position: relative;
	padding: 13px 48px 13px 10px;
	font-size: calc(1.4rem / 1.6);
}
.nav li a::after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 18px;
	width: 10px;
	height: 9px;
	background: #fff;
	clip-path: polygon(0 0,100% 0,50% 100%);
}
.nav p a {
	display: block;
	padding: 13px;
	color: #fff;
	background: #3053af;
	border-radius: 3px;
	font-family: var(--fontYuGo);
	font-size: calc(1.3rem / 1.6);
	font-weight: 700;
	text-align: center;
}
@media print, screen and (width >= 768px) {/* PC */
.nav_btn {
	width: 98px;
	height: 98px;
	border-radius: 10px;
	box-shadow: 0 3px 0 rgba(0,0,0,.15);
}
.nav_btn:hover {
	filter: saturate(135%);
}
.nav_btn::before,
.nav_btn::after,
.nav_btn span::before {
	left: 27px;
	width: 44px;
}
.nav_btn::before {
	top: 22px;
}
.nav_btn::after {
	top: 35px;
}
.nav_btn span::before {
	top: 48px;
}
.nav_btn span::after {
	bottom: 18px;
	font-size: calc(1.5rem / 1.6);
}
.nav_btn[aria-expanded="true"]::before,
.nav_btn[aria-expanded="true"]::after {
	top: 35px;
}
.nav {
	display: block;
	width: 375px;
	height: 100vh;
	transform: translateX(100%);
	transition: transform .3s ease-in-out;
}
.nav.open {
	transform: translateX(0);
}
.nav dl {
	margin: 110px 36px 66px;
}
.nav dt {
	padding: 0 0 10px;
	font-size: calc(2.4rem / 1.6);
	text-shadow: 3px 3px 3px rgba(44,111,3,.5);
}
.nav ul {
	margin-bottom: 40px;
}
.nav li a {
	padding: 28px 0 28px 50px;
	font-size: calc(1.8rem / 1.6);
}
.nav li a::after {
	top: calc(50% - 6px);
	right: auto;
	left: 20px;
	width: 11px;
	height: 12px;
	clip-path: polygon(0 50%,100% 0,100% 100%);
}
.nav p a {
	padding: 18px;
	border-radius: 5px;
	font-size: calc(1.6rem / 1.6);
}
}/* @media */
/* -----------------------------------------------
= main
----------------------------------------------- */
.main {
	background: url(../img/index/main_bg_sp.jpg) repeat-y 50% 0 / 100% auto;
}
@media print, screen and (width >= 768px) {/* PC */
.main {
	background-image: url(../img/index/main_bg_pc.jpg);
}
}/* @media */
/* -----------------------------------------------
= kv
----------------------------------------------- */
.kv {
	position: relative;
}
.kv .logo {
	position: absolute;
	top: 22px;
	left: 18px;
	width: 270px;
}
.kv picture img {
	height: 500px;
	object-fit: cover;
}
.kv .box {
	position: absolute;
	top: 75px;
	left: 0;
	width: 100%;
	text-align: center;
}
.kv .box h2 {
	margin-bottom: 10px;
	font-size: calc(2.3rem / 1.6);
	letter-spacing: .16em;
	text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}
.kv .box p {
	font-size: calc(1.6rem / 1.6);
	letter-spacing: .06em;
	text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}
@media print, screen and (width >= 768px) {/* PC */
.kv .logo {
	top: 27px;
	left: 100px;
	width: 624px;
}
.kv picture img {
	height: 600px;
	object-position: 80% 50%;
}
.kv .box {
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	text-align: left;
}
.kv .box h2 {
	max-width: 1100px;
	margin: 0 auto 40px;
	padding: 0 40px;
	font-size: calc(4rem / 1.6);
	letter-spacing: .28em;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
.kv .box p {
	max-width: 1100px;
	margin: 0 auto 40px;
	padding: 0 40px;
	font-size: calc(3.2rem / 1.6);
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
}/* @media */
/* -----------------------------------------------
= title
----------------------------------------------- */
.title {
	position: relative;
	z-index: 1;
	text-align: center;
}
.title .en {
	display: block;
	margin-bottom: 14px;
	font-family: var(--fontEn);
	font-size: calc(4.5rem / 1.6);
	font-weight: 300;
	line-height: 1;
}
.title .jp {
	display: block;
	max-width: 270px;
	margin: 0 auto;
	padding: 3px 0 3px .2em;
	color: #fff;
	background: url(../img/index/title_bg.png) no-repeat 50% / cover;
	border-radius: 3em;
	font-size: calc(1.6rem / 1.6);
	text-shadow: 3px 3px 3px rgba(44,111,3,.5);
	letter-spacing: .2em;
}
@media print, screen and (width >= 768px) {/* PC */
.title .en {
	margin-bottom: 20px;
	font-size: calc(8rem / 1.6);
}
.title .jp {
	max-width: 500px;
	padding-block: 5px;
	font-size: calc(2.6rem / 1.6);
	text-shadow: 5px 5px 5px rgba(44,111,3,.5);
}
}/* @media */
/* -----------------------------------------------
= features
----------------------------------------------- */
.features {
	padding: 14px 0 0;
}
.features .title {
	margin-bottom: -14px;
}
.features .block {
	position: relative;
	overflow: hidden;
	padding-bottom: 30px;
}
.features .block::before {
	content: "";
	position: absolute;
	top: -14px;
	width: calc(100% + 18px);
	height: 150px;
	background: linear-gradient(rgba(255,255,255,.5), transparent);
}
.features .block.type01::before {
	right: 18px;
}
.features .block.type02::before {
	left: 18px;
}
.features .block .inner {
	position: relative;
}
.features .block .num {
	margin-bottom: 0;
	padding-top: 10px;
	color: #d8cda7;
	font-family: var(--fontEn);
	font-size: calc(10rem / 1.6);
	font-style: italic;
	line-height: 1;
	text-align: center;
}
.features .block.num01 .num {
	padding-top: 25px;
}
.features .block .sub_title {
	margin-bottom: 24px;
	padding-bottom: 10px;
	border-bottom: 1px solid #dad8d1;
}
.features .block.type01 .sub_title {
	margin-left: 18px;
}
.features .block.type02 .sub_title {
	margin-right: 18px;
}
.features .block h3 {
	font-size: calc(1.9rem / 1.6);
	text-align: center;
}
.features .block .pic {
	display: block;
	width: calc(100% - 18px);
	margin-bottom: 34px;
	box-shadow: 7px 7px 15px rgba(110,73,46,.2);
}
.features .block.type01 .pic {
	margin-left: 18px;
}
.features .block.type02 .pic {
	margin-right: 18px;
}
.features .block .box {
	margin: 0 14px;
}
.features .block h4 {
	position: relative;
	margin-bottom: 10px;
	padding-left: 28px;
	font-size: calc(1.8rem / 1.6);
}
.features .block h4::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 20px;
	height: 20px;
	background: url(../img/index/icon_features01.svg) no-repeat 50% / cover;
	filter: var(--filterGreen);
}
.features .block ul {
	position: relative;
	margin: 0 10px 35px;
	padding: 10px 10px 10px 20px;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(110,73,46,.05);
}
.features .block ul::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	background: rgba(255,254,253,.9);
	box-shadow: 5px 5px 10px rgba(110,73,46,.05);
}
.features .block li {
	position: relative;
	margin: 12px 0;
	padding-left: 18px;
	color: var(--green);
	font-size: calc(1.4rem / 1.6);
}
.features .block li::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	width: 11px;
	height: 11px;
	background: url(../img/index/icon_features02.svg) no-repeat 50% / cover;
	filter: invert(29%) sepia(0%) saturate(2886%) hue-rotate(39deg) brightness(94%) contrast(85%);
}
.features .block li:first-child::after,
.features .block li:last-child::after {
	content: "";
	position: absolute;
	width: 40px;
	height: 40px;
	background: rgba(133,192,61,.5);
}
.features .block li:first-child::after {
	top: -25px;
	right: -17px;
	clip-path: polygon(0 0,100% 0,100% 100%);
}
.features .block li:last-child::after {
	left: -27px;
	bottom: -25px;
	clip-path: polygon(0 0,100% 100%,0 100%);
}
.features .block .btn_popup_open:hover {
	text-decoration: underline;
}
.features .block .popup {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 2;
	transform: translate(-50%,-50%);
	width: calc(100% - 70px);
	padding: 20px;
	background: #faf8ef;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(110,73,46,.2);
}
.features .block .popup.is-open {
	display: block;
}
.features .block .popup::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 0 20px rgba(110,73,46,.2);
}
.features .block .popup h5 {
	position: relative;
	margin-bottom: 8px;
	padding-bottom: 10px;
	font-size: calc(1.6rem / 1.6);
	border-bottom: 1px solid #dedede;
}
.features .block .popup p {
	position: relative;
	margin-bottom: 0;
	color: #0d0d0d;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(25 / 13);
}
.features .block .btn_popup_close {
	position: absolute;
	top: -10px;
	right: -10px;
	width: 35px;
	height: 35px;
	background: #70b641;
	border-radius: 50%;
	text-align: center;
}
.features .block .btn_popup_close::after {
	content: "";
	position: absolute;
	top: 7px;
	right: calc(50% - 10px);
	width: 20px;
	height: 20px;
	background: url(../img/index/icon_close.svg) no-repeat 50% / cover;
	filter: var(--filterWhite);
}
.features .block .img {
	margin: 0 auto;
}
.features .block.num01 .img {
	width: 212px;
}
.features .block.num02 .img {
	width: 281px;
}
.features .block.num03 .img {
	width: 120px;
}
.features .block.num04 .img {
	width: 129px;
}
.features .block p {
	margin-bottom: 24px;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(25 / 13);
}
@media print, screen and (width >= 768px) {/* PC */
.features {
	padding: 55px 0 0;
}
.features .title {
	margin-bottom: -25px;
}
.features .block.num02 {
	min-height: calc(380 / 1300 * 100vw);
	padding-bottom: 0;
}
.features .block.num03 {
	min-height: calc(360 / 1300 * 100vw);
	padding-bottom: 130px;
}
.features .block.num04 {
	min-height: calc(440 / 1300 * 100vw);
	padding-bottom: 0;
}
.features .block::before {
	top: 0;
	width: calc(100% - 100px);
	height: 300px;
}
.features .block.type01::before {
	right: 100px;
}
.features .block.type02::before {
	left: 100px;
}
.features .block .inner {
	margin-bottom: 70px;
	padding: 60px 20px 0;
}
.features .block.num01 .inner {
	padding-top: 100px;
}
.features .block .sub_title {
	display: flex;
	align-items: end;
	max-width: 1100px;
	margin: -30px auto 25px;
	padding: 0;
}
.features .block.num01 .sub_title {
	margin-top: -80px;
}
.features .block.type01 .sub_title {
	margin-left: auto;
}
.features .block.type02 .sub_title {
	margin-right: auto;
}
.features .block .num {
	padding: 0 40px 0 10px;
	font-size: calc(15rem / 1.6);
	text-align: left;
}
.features .block.num01 .num {
	padding-right: 20px;
}
.features .block h3 {
	flex: 1;
	margin-bottom: 15px;
	font-size: calc(2.8rem / 1.6);
	text-align: left;
}
.features .block.type01 h3 {
	margin-right: -18px;
}
.features .block.type02 h3 {
	margin-left: -18px;
}
.features .block .pic {
	position: absolute;
	top: 60px;
	z-index: 1;
	width: max(400px, calc(500 / 1300 * 100vw));
	margin-bottom: 0;
	box-shadow: 7px 7px 15px rgba(110,73,46,.2);
}
.features .block.num01 .pic {
	top: 100px;
}
.features .block.type01 .pic {
	right: 0;
	margin-right: 0;
}
.features .block.type02 .pic {
	left: 0;
	margin-left: 0;
}
.features .block .box {
	max-width: 1100px;
	margin: 0 auto;
}
.features .block h4 {
	margin: 45px 0 20px;
	padding-left: 80px;
	font-size: calc(2.6rem / 1.6);
}
.features .block h4::before {
	top: 2px;
	left: 30px;
	width: 32px;
	height: 32px;
}
.features .block ul {
	max-width: 510px;
	margin: 0 0 0 16px;
	padding: 15px 20px 15px 40px;
	box-shadow: 10px 10px 20px rgba(110,73,46,.05);
}
.features .block ul::before {
	top: 10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	box-shadow: 0 0 20px rgba(110,73,46,.05);
}
.features .block li {
	margin: 12px 0;
	padding-left: 28px;
	font-size: calc(1.8rem / 1.6);
}
.features .block li::before {
	top: 5px;
	width: 16px;
	height: 16px;
}
.features .block li:first-child::after,
.features .block li:last-child::after {
	width: 80px;
	height: 80px;
}
.features .block li:first-child::after {
	top: -42px;
	right: -36px;
}
.features .block li:last-child::after {
	left: -54px;
	bottom: -42px;
}
.features .block .popup {
	max-width: 460px;
	padding: 25px;
}
.features .block .popup h5 {
	font-size: calc(2.2rem / 1.6);
}
.features .block .popup p {
	font-size: calc(1.6rem / 1.6);
	line-height: calc(34 / 16);
}
.features .block .btn_popup_close {
	top: -20px;
	right: -20px;
	width: 40px;
	height: 40px;
}
.features .block .btn_popup_close::after {
	top: 8px;
	right: calc(50% - 12px);
	width: 24px;
	height: 24px;
}
.features .block .img {
	max-width: 1100px;
}
.features .block.num01 .img {
	position: absolute;
	bottom: -35px;
	right: 160px;
}
.features .block.num01 .img img {
	width: 296px;
}
.features .block.num02 .img {
	width: auto;
	text-align: right;
}
.features .block.num02 .img img {
	width: 400px;
	margin: 0 100px;
}
.features .block.num03 .img {
	position: absolute;
	bottom: -100px;
	right: calc(50% - 100px);
	width: 148px;
}
.features .block.num04 .img {
	width: auto;
	text-align: right;
}
.features .block.num04 .img img {
	width: 150px;
	margin: 0 100px;
}
.features .block p {
	margin-bottom: 24px;
	font-size: calc(1.6rem / 1.6);
	line-height: calc(34 / 16);
}
.features .block.type02 p {
	margin-left: 480px;
}
.features .block.num03 p {
	max-width: 500px;
}
}/* @media */
@media print, screen and (1030px > width >= 768px) {/* TABLET */
.features .block .pic {
	position: static;
	margin-bottom: 20px;
}
.features .block.num01 .img {
	position: static;
	margin: 30px auto -35px;
}
.features .block.type02 .pic {
	margin-left: 100px;
	margin-bottom: 20px;
}
.features .block.type02 p {
	margin-left: 100px;
}
.features .block.num03 .img {
	position: static;
	margin:  0 auto -100px;
}
}/* @media */
/* -----------------------------------------------
= interview
----------------------------------------------- */
.interview {
	position: relative;
	padding: 15px 0 0;
}
.interview::before {
	content: "";
	position: absolute;
	top: 130px;
	width: 100%;
	height: 150px;
	background: linear-gradient(rgba(255,255,255,.5), transparent);
}
.interview .title {
	margin-bottom: 25px;
}
.interview .block {
	position: relative;
	margin: 0 18px 20px;
	padding: 18px;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(110,73,46,.1);
}
.interview .sub_title {
	margin-bottom: 20px;
	font-size: calc(2.1rem / 1.6);
	font-weight: 600;
	text-align: center;
}
.interview .profile {
	display: flex;
	align-items: center;
	gap: 0 15px;
	margin-bottom: 20px;
}
.interview .profile .pic {
	width: 150px;
}
.interview .profile .pic.vertical {
	width: 112px;
	margin: 0 19px;
}
.interview .profile p {
	flex: 1;
	font-size: calc(1.2rem / 1.6);
	line-height: calc(20 / 12);
}
.interview .profile p span {
	color: var(--green);
	font-size: calc(1.9rem / 1.6);
}
.interview .block h4 {
	display: inline-block;
	min-width: 5em;
	margin-bottom: 8px;
	padding: 2px 15px;
	color: #fff;
	background: var(--lightGreen);
	border-radius: 3em;
	font-size: calc(1.3rem / 1.6);
	text-align: center;
}
.interview .block .text {
	margin-bottom: 20px;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(25 / 13);
}
.interview .block .text.is-limited {
	display: -webkit-box;
	max-height: 2rlh;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.interview .btn {
	padding-top: 12px;
	border-top: 1px solid #eee;
	text-align: center;
}
.interview .btn button {
	position: relative;
	padding-right: 22px;
	color: var(--green);
	font-size: calc(1.5rem / 1.6);
}
.js-accordion-btn::after {
	position: absolute;
}
.js-accordion-btn.is-closed::after {
	content: "";
	top: calc(50% - 4px);
	right: 0;
	width: 11px;
	height: 8px;
	background: url(../img/index/icon_accordion_open.svg) no-repeat 50% / cover;
	filter: var(--filterLightGreen);
}
.js-accordion-btn.is-open::after {
	content: "";
	top: 2px;
	right: 2px;
	width: 16px;
	height: 16px;
	background: url(../img/index/icon_close.svg) no-repeat 50% / cover;
	filter: var(--filterLightGreen);
}
@media print, screen and (width >= 768px) {/* PC */
.interview {
	margin-bottom: 100px;
	padding: 0;
}
.interview::before {
	top: 128px;
	height: 300px;
}
.interview .title {
	margin-bottom: 50px;
}
.interview .block {
	position: relative;
	max-width: 1000px;
	margin: 0 auto 50px;
	padding: 30px 50px 16px;
	box-shadow: 10px 10px 20px rgba(110,73,46,.1);
}
.interview .sub_title {
	margin-bottom: 15px;
	font-size: calc(3.2rem / 1.6);
	text-align: left;
}
.interview .block.type01 .sub_title {
	margin-left: 285px;
}
.interview .block.type02 .sub_title {
	margin-right: 285px;
}
.interview .profile {
	display: block;
}
.interview .block.type01 .profile {
	margin-left: 285px;
}
.interview .block.type02 .profile {
	margin-right: 285px;
}
.interview .profile .pic {
	position: absolute;
	top: 50px;
	width: 240px;
}
.interview .block.type01 .profile .pic {
	left: 50px;
}
.interview .block.type02 .profile .pic {
	right: 50px;
}
.interview .profile .pic.vertical {
	width: 180px;
	margin: 0 30px;
}
.interview .profile p {
	font-size: calc(1.6rem / 1.6);
	line-height: calc(30 / 16);
}
.interview .profile p span {
	font-size: calc(2.8rem / 1.6);
}
.interview .block h4 {
	margin-bottom: 8px;
	padding: 2px 10px;
	font-size: calc(1.6rem / 1.6);
}
.interview .block.type01 h4 {
	margin-left: 285px;
}
.interview .block.type02 h4 {
	margin-right: 285px;
}
.interview .block .text {
	margin-bottom: 20px;
	font-size: calc(1.6rem / 1.6);
	line-height: calc(30 / 16);
}
.interview .block.type01 .text {
	margin-left: 285px;
}
.interview .block.type02 .text {
	margin-right: 285px;
}
.interview .block .text.is-limited {
	display: block;
	max-height: none;
	-webkit-box-orient: inline-axis;
	-webkit-line-clamp: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.interview .btn {
	padding-top: 16px;
}
.interview .btn button {
	padding-right: 30px;
	font-size: calc(2rem / 1.6);
}
.js-accordion-btn.is-closed::after {
	top: calc(50% - 5px);
	width: 16px;
	height: 10px;
}
.js-accordion-btn.is-open::after {
	top: 4px;
	width: 22px;
	height: 22px;
}
}/* @media */
/* -----------------------------------------------
= data
----------------------------------------------- */
.data {
	position: relative;
	padding: 15px 0 0;
}
.data::before {
	content: "";
	position: absolute;
	top: 85px;
	width: 100%;
	height: 150px;
	background: linear-gradient(rgba(255,255,255,.5), transparent);
}
.data .title {
	margin-bottom: 25px;
}
.data .lead {
	position: relative;
	margin: 0 18px 50px;
	font-size: calc(1.6rem / 1.6);
	text-align: center;
}
.data .block {
	margin: 0 18px 70px;
	padding: 0 18px 20px;
	background: #fff;
	box-shadow: 5px 5px 10px rgba(110,73,46,.1);
}
.data .sub_title {
	display: grid;
	place-content: center;
	position: relative;
	top: -38px;
	width: 75px;
	height: 75px;
	margin: 0 auto -25px;
	color: #fff;
	background: url(../img/index/data_sub_title_bg.png) no-repeat 50% / cover;
	font-size: calc(1.8rem / 1.6);
	text-align: center;
	text-shadow: 3px 3px 3px rgba(44,111,3,.5);
	letter-spacing: .1em;
}
.data .person .inner {
	display: flex;
	max-width: 320px;
	margin: 0 auto;
}
.data .person .set {
	width: 100%;
}
.data .person .set:first-child {
	padding: 0 30px 0 20px;
}
.data .person .set:last-child {
	padding: 0 20px 0 30px;
	border-left: 1px dashed #b2b2b2;
}
.data .person .set .icon {
	min-height: 90px;
}
.data .person .set:first-child .icon {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0 5px;
}
.data .person .set:last-child .icon {
	display: grid;
	grid-template-columns: repeat(5,17px);
	gap: 2px 5px;
}
.data .person .icon img {
	width: 17px;
	opacity: 0;
	transition: opacity .8s;
}
.data .person.is-show .icon img {
	opacity: 1;
}
.data .person .icon img:nth-child(1) {
	transition-delay: .9s;
}
.data .person .icon img:nth-child(2) {
	transition-delay: 1s;
}
.data .person .icon img:nth-child(3) {
	transition-delay: 1.1s;
}
.data .person .icon img:nth-child(4) {
	transition-delay: 1.2s;
}
.data .person .icon img:nth-child(5) {
	transition-delay: 1.3s;
}
.data .person .icon img:nth-child(6) {
	transition-delay: 1.4s;
}
.data .person .icon img:nth-child(7) {
	transition-delay: 1.5s;
}
.data .person .icon img:nth-child(8) {
	transition-delay: 1.6s;
}
.data .person .icon img:nth-child(9) {
	transition-delay: 1.7s;
}
.data .person p {
	font-size: calc(2rem / 1.6);
	white-space: nowrap;
}
.data .person .set:first-child p {
	text-align: right;
}
.data .person .set:first-child p > span {
	color: #556fb5;
}
.data .person .set:last-child p > span {
	color: #eb6877;
}
.data .person p > span > span {
	font-size: calc(3.5rem / 1.6);
}
.data .age ul {
	max-width: 300px;
	margin: 0 auto;
	background: url(../img/index/data_age_bg.png) no-repeat 100% 0 / 100% auto;
}
.data .age li {
	position: relative;
	padding: 6px 0 6px 3em;
	overflow: hidden;
}
.data .age .label {
	position: absolute;
	top: 5px;
	left: 0;
	font-size: calc(1.6rem / 1.6);
}
.data .age .bar {
	float: left;
	width: 0;
	max-width: calc(100% - 6em);
	height: 11px;
	margin: 5px 8px 0 0;
	background: url(../img/index/data_bar.jpg) no-repeat 50% / cover;
	border-radius: 3em;
}
.data .age.is-show .bar {
	animation: growBar 1s ease-out forwards;
}
.data .age li:nth-child(1) .bar {
	animation-delay: .9s;
}
.data .age li:nth-child(2) .bar {
	animation-delay: 1s;
}
.data .age li:nth-child(3) .bar {
	animation-delay: 1.1s;
}
.data .age li:nth-child(4) .bar {
	animation-delay: 1.2s;
}
.data .age li:nth-child(5) .bar {
	animation-delay: 1.3s;
}
.data .age li:nth-child(6) .bar {
	animation-delay: 1.4s;
}
@keyframes growBar {
	to {
		width: calc(var(--width) * 2);
	}
}
.data .age .value {
	float: left;
	color: var(--green);
	font-size: calc(1.3rem / 1.6);
	line-height: 1;
	opacity: 0;
	transition: opacity .8s 1.9s;
}
.data .age.is-show .value {
	opacity: 1;
}
.data .age .value span {
	font-size: calc(2rem / 1.6);
}
.data .place ul {
	position: relative;
	max-width: 314px;
	height: 250px;
	margin: 0 auto;
	background: url(../img/index/data_place_map.png) no-repeat 30px 0 / 206px auto;
}
.data .place li {
	position: absolute;
	opacity: 0;
	transition: opacity .4s 1s;
}
.data .place.is-show li {
	opacity: 1;
	animation: poyon 1.2s 1s;
}
@keyframes poyon {
	0% {
		transform: scale(1.0, 1.0) translate(0%, 0%);
	}
	15% {
		transform: scale(0.9, 0.9) translate(0%, 5%);
	}
	30% {
		transform: scale(1.3, 0.8) translate(0%, 10%);
	}
	50% {
		transform: scale(0.8, 1.3) translate(0%, -10%);
	}
	70% {
		transform: scale(1.1, 0.9) translate(0%, 5%);
	}
	100% {
		transform: scale(1.0, 1.0) translate(0%, 0%);
	}
}
.data .place li:nth-child(1) {
	top: 0;
	right: 0;
}
.data .place li:nth-child(2) {
	bottom: 0;
	right: 35px;
}
.data .place li:nth-child(3) {
	top: 65px;
	left: 0;
}
.data .place li:nth-child(4) {
	top: 90px;
	right: -10px;
}
.data .place li:nth-child(5) {
	top: 50px;
	left: 75px;
}
.data .place li:nth-child(6) {
	top: 59px;
	left: 125px;
}
.data .place li:nth-child(7) {
	bottom: 18px;
	right: 115px;
}
.data .place li:nth-child(8) {
	bottom: 5px;
	left: 92px;
}
.data .place .value {
	position: relative;
	margin: 0 auto;
	background: #fff;
	border-radius: 50%;
	box-shadow: 5px 5px 10px rgba(110,73,46,.2);
	font-size: calc(1.5rem / 1.6);
	text-align: center;
}
.data .place .value::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	background: #fff;
	border-radius: 50%;
	box-shadow: 5px 5px 10px rgba(110,73,46,.05);
}
.data .place li:nth-child(-n+2) .value {
	width: 63px;
	height: 63px;
	line-height: 63px;
}
.data .place li:nth-child(3) .value {
	width: 59px;
	height: 59px;
	line-height: 59px;
}
.data .place li:nth-child(4) .value {
	width: 55px;
	height: 55px;
	line-height: 55px;
}
.data .place li:nth-child(5) .value {
	width: 44px;
	height: 44px;
	line-height: 44px;
}
.data .place li:nth-child(n+6) .value {
	width: 35px;
	height: 35px;
	line-height: 35px;
}
.data .place li:nth-child(1) .value {
	color: #74c6d7;
}
.data .place li:nth-child(2) .value {
	color: #77b25e;
}
.data .place li:nth-child(3) .value {
	color: #a275bb;
}
.data .place li:nth-child(4) .value {
	color: #77b25e;
}
.data .place li:nth-child(5) .value {
	color: #d99a62;
}
.data .place li:nth-child(6) .value {
	color: #cc7eaf;
}
.data .place li:nth-child(7) .value {
	color: #bab83e;
}
.data .place li:nth-child(8) .value {
	color: #de837e;
}
.data .place .value > span {
	position: relative;
}
.data .place .value > span > span {
	font-size: calc(2rem / 1.6);
}
.data .place .label {
	margin-top: 5px;
	font-size: calc(.8rem / 1.6);
	text-align: center;
}
.data .license {
	margin-bottom: 60px;
	padding-bottom: 2px;
}
.data .license h4 {
	position: relative;
	top: -34px;
	margin-bottom: -14px;
	color: var(--green);
	font-size: calc(1.7rem / 1.6);
	text-align: center;
}
.data .license h5 {
	margin-bottom: 5px;
	font-size: calc(1.3rem / 1.6);
	text-align: center;
}
.data .license ul {
	max-width: 300px;
	margin: 0 auto;
}
.data .license li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 5px 12px 0;
	border-top: 1px dashed #e5e5e5;
	font-size: calc(1.3rem / 1.6);
	opacity: 0;
	transition: opacity .4s;
}
.data .license.is-show li {
	opacity: 1;
}
.data .license.is-show li:nth-child(1) {
	transition-delay: .9s;
}
.data .license.is-show li:nth-child(2) {
	transition-delay: 1s;
}
.data .license.is-show li:nth-child(3) {
	transition-delay: 1.1s;
}
.data .license.is-show li:nth-child(4) {
	transition-delay: 1.2s;
}
.data .license.is-show li:nth-child(5) {
	transition-delay: 1.3s;
}
.data .license.is-show li:nth-child(6) {
	transition-delay: 1.4s;
}
.data .license.is-show li:nth-child(7) {
	transition-delay: 1.5s;
}
.data .license.is-show li:nth-child(8) {
	transition-delay: 1.6s;
}
.data .license li p:last-child {
	color: var(--green);
}
.data .license li p:last-child span {
	display: inline-block;
	width: calc(2.6rem / 1.6);
	height: calc(2.6rem / 1.6);
	color: #fff;
	background: #70b641;
	border-radius: 50%;
	font-size: calc(1.5rem / 1.6);
	line-height: calc(2.6rem / 1.6);
	text-align: center;
}
@media print, screen and (width >= 768px) {/* PC */
.data {
	padding: 0;
}
.data::before {
	top: 124px;
	height: 300px;
}
.data .title {
	margin-bottom: 35px;
}
.data .lead {
	margin: 0 0 90px;
	font-size: calc(2.2rem / 1.6);
	line-height: calc(40 / 22);
}
.data > .inner {
	display: flex;
	gap: 0 40px;
	max-width: 1100px;
	margin: 0 auto;
}
.data .block {
	width: 100%;
	margin: 0 0 97px;
}
.data .sub_title {
	top: -55px;
	width: 109px;
	height: 109px;
	margin: 0 auto -35px;
	font-size: calc(2.9rem / 1.6);
}
.data .person .inner {
	max-width: none;
}
.data .person .set:first-child {
	padding: 0 40px 0 30px;
}
.data .person .set:last-child {
	padding: 0 30px 0 40px;
	border-left: 1px dashed #b2b2b2;
}
.data .person .set .icon {
	min-height: 120px;
}
.data .person .set:last-child .icon {
	grid-template-columns: repeat(5,24px);
	justify-content: center;
}
.data .person .icon img {
	width: 24px;
}
.data .person p {
	margin-top: 20px;
	font-size: calc(3rem / 1.6);
	text-align: center;
}
.data .person .set:first-child p {
	text-align: center;
}
.data .person p > span > span {
	font-size: calc(5rem / 1.6);
}
.data .age ul {
	max-width: none;
}
.data .age li {
	padding: 9px 0 8px 90px;
}
.data .age .label {
	top: 5px;
	width: 90px;
	font-size: calc(2.4rem / 1.6);
	text-align: center;
}
.data .age .bar {
	max-width: calc(100% - 90px);
	height: 17px;
	margin: 5px 8px 0 0;
}
.data .age .value {
	font-size: calc(2rem / 1.6);
}
.data .age .value span {
	font-size: calc(3rem / 1.6);
}
.data .place {
	width: calc(680 / 1100 * 100%);
	height: 100%;
	margin: 0 0 60px;
}
.data .place ul {
	max-width: 610px;
	height: 490px;
	background-position: 60px 0;
	background-size: 409px auto;
}
.data .place li {
	position: absolute;
}
.data .place li:nth-child(1) {
	top: 0;
	right: 0;
}
.data .place li:nth-child(2) {
	bottom: 0;
	right: 60px;
}
.data .place li:nth-child(3) {
	top: 130px;
	left: 0;
}
.data .place li:nth-child(4) {
	top: 180px;
	right: -20px;
}
.data .place li:nth-child(5) {
	top: 100px;
	left: 150px;
}
.data .place li:nth-child(6) {
	top: 118px;
	left: 250px;
}
.data .place li:nth-child(7) {
	bottom: 36px;
	right: 230px;
}
.data .place li:nth-child(8) {
	bottom: 10px;
	left: 184px;
}
.data .place .value {
	font-size: calc(3rem / 1.6);
}
.data .place .value::before {
	top: 5px;
	left: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
}
.data .place li:nth-child(-n+2) .value {
	width: 126px;
	height: 126px;
	line-height: 126px;
}
.data .place li:nth-child(3) .value {
	width: 118px;
	height: 118px;
	line-height: 118px;
}
.data .place li:nth-child(4) .value {
	width: 110px;
	height: 110px;
	line-height: 110px;
}
.data .place li:nth-child(5) .value {
	width: 88px;
	height: 88px;
	line-height: 88px;
}
.data .place li:nth-child(n+6) .value {
	width: 70px;
	height: 70px;
	line-height: 70px;
}
.data .place .value > span > span {
	font-size: calc(4rem / 1.6);
}
.data .place .label {
	margin-top: 8px;
	font-size: calc(1.6rem / 1.6);
}
.data .license {
	width: calc(380 / 1100 * 100%);
	margin: 0 0 60px;
}
.data .license h4 {
	top: -50px;
	margin-bottom: -24px;
	font-size: calc(2.4rem / 1.6);
}
.data .license h5 {
	font-size: calc(1.6rem / 1.6);
}
.data .license ul {
	max-width: none;
}
.data .license li {
	padding: 16px 5px 16px 0;
	font-size: calc(1.5rem / 1.6);
}
.data .license li p:last-child {
	font-size: calc(1.6rem / 1.6);
	white-space: nowrap;
}
.data .license li p:last-child span {
	width: calc(3.6rem / 1.6);
	height: calc(3.6rem / 1.6);
	font-size: calc(2rem / 1.6);
	line-height: calc(3.6rem / 1.6);
}
}/* @media */
@media print, screen and (1000px > width >= 768px) {/* TABLET */
.data > .inner {
	display: block;
	gap: 0;
}
.data .block {
	width: auto;
	margin: 0 20px 97px;
}
.data .age ul {
	max-width: 494px;
	margin: 0 auto;
}
}/* @media */
/* -----------------------------------------------
= contact
----------------------------------------------- */
.contact {
	padding: 10px 18px;
	background: #fff;
}
.contact h2 {
	position: relative;
	margin-bottom: 12px;
	font-size: calc(1.9rem / 1.6);
}
.contact h2::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: calc(100% - 7.5em);
	height: 1px;
	background: #dedede;
}
.contact img {
	max-width: 340px;
}
.contact .set {
	padding: 15px 0 0;
	font-size: calc(1.3rem / 1.6);
}
.contact .set p {
	margin-bottom: 19px;
}
.contact .set p a {
	color: var(--green);
}
.contact .set h3 {
	margin-bottom: 6px;
	padding: 2px 5px;
	background: #e9f4e1;
}
@media print, screen and (width >= 768px) {/* PC */
.contact {
	padding: 0 20px 26px;
}
.contact .inner {
	display: flex;
	gap: 50px;
	max-width: 1100px;
	margin: 0 auto;
}
.contact h2 {
	margin-bottom: 22px;
	font-size: calc(2.8rem / 1.6);
}
.contact img {
	max-width: 560px;
}
.contact .set {
	padding: 30px 0 0;
	font-size: calc(1.6rem / 1.6);
}
.contact .set + .set {
	width: calc(490 / 1100 * 100%);
	padding-top: 45px;
}
.contact .set p {
	margin-bottom: 10px;
}
.contact .set a:hover {
	text-decoration: underline;
}
.contact .set h3 {
	margin-bottom: 6px;
	padding: 5px 10px;
}
}/* @media */
/* -----------------------------------------------
= footer
----------------------------------------------- */
.footer {
	padding-bottom: 74px;
	background: #faf8ef;
}
.footer .copyright {
	padding: 15px;
	color: #8c8c8c;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(22 / 13);
	text-align: center;
}
@media print, screen and (width >= 768px) {/* PC */
.footer {
	padding-bottom: 79px;
}
.footer .copyright {
	padding: 23px 0;
	font-size: calc(1.6rem / 1.6);
}
}/* @media */
/* -----------------------------------------------
= pagetop
----------------------------------------------- */
.pagetop {
	position: fixed;
	right: 16px;
	bottom: 80px;
	z-index: 5;
	width: 40px;
	height: 40px;
	background: #fff;
	border: 1px solid #ccdec6;
	border-radius: 50%;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s;
}
.pagetop.is-visible {
	opacity: 1;
	pointer-events: auto;
}
.pagetop::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 12px;
	height: 10px;
	background: #82ac6b;
	clip-path: polygon(50% 0,100% 100%,0 100%);
}
@media print, screen and (width >= 768px) {/* PC */
.pagetop {
	right: 20px;
	bottom: 45px;
	width: 60px;
	height: 60px;
}
.pagetop::after {
	width: 16px;
	height: 14px;
}
.pagetop:hover {
	background: #32a047;
}
.pagetop:hover::after {
	background: #fff;
}
}/* @media */
/* -----------------------------------------------
= check
----------------------------------------------- */
.check {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 3;
	width: 100%;
	color: #fff;
	background: url(../img/index/footer_check_bg_sp.jpg) no-repeat 50% / cover;
	font-family: var(--fontYuGo);
	font-size: calc(1.35rem / 1.6);
	text-shadow: 2px 2px 3px rgba(44,111,3,.5);
}
.check h2 a {
	display: block;
	padding: 8px;
	border-bottom: 1px dashed #fff;
	font-weight: 700;
	text-align: center;
}
.check ul {
	display: flex;
}
.check li {
	padding: 8px 4px;
	font-weight: 700;
	text-align: center;
}
.check li:first-child {
	width: 55%;
}
.check li:last-child {
	flex: 1;
	padding-left: 10px;
	border-left: 1px dashed #fff;
}
.check li a {
	display: inline-block;
	position: relative;
}
.check li:first-child a {
	padding-right: 20px;
}
.check li:last-child a {
	padding-right: 24px;
}
.check li a::after {
	content: "";
	position: absolute;
	top: calc(50% - 7px);
	right: 0;
	height: 14px;
	filter: var(--filterWhite) drop-shadow(2px 2px 5px rgba(44,111,3,.5));
}
.check li:first-child a::after {
	width: 15px;
	background: url(../img/index/icon_footer_check01.svg) no-repeat 50% / 100% auto;
}
.check li:last-child a::after {
	width: 19px;
	background: url(../img/index/icon_footer_check02.svg) no-repeat 50% / 100% auto;
}
@media print, screen and (width >= 768px) {/* PC */
.check {
	display: flex;
	justify-content: center;
	background: url(../img/index/footer_check_bg_pc.jpg) no-repeat 50% / cover;
	font-size: min(calc(2.7rem / 1.6), calc(27 / 1300 * 100vw));
}
.check h2 a {
	padding: 19px min(20px, calc(20 / 1300 * 100vw)) 20px;
	background: url(../img/index/footer_check_bg_pc.jpg) no-repeat -110px 0 / auto 79px;
	border-bottom: none;
	border-left: 1px dashed #fff;
	border-right: 1px dashed #fff;
}
.check h2 a:hover {
	filter: saturate(135%);
}
.check ul {
	display: flex;
}
.check li {
	padding: 0;
}
.check li:first-child {
	width: auto;
}
.check li:last-child {
	padding-left: 0;
	border-right: 1px dashed #fff;
}
.check li a {
	display: block;
	height: 100%;
	padding: 19px min(35px, calc(35 / 1300 * 100vw)) 20px;
	box-sizing: border-box;
	background: url(../img/index/footer_check_bg_pc.jpg) no-repeat 50% / auto 79px;
}
.check li a:hover {
	filter: saturate(135%);
}
.check li:first-child a {
	padding-right: min(82px, calc(82 / 1300 * 100vw));
	background-position: -440px 0;
}
.check li:last-child a {
	padding-right: min(87px, calc(87 / 1300 * 100vw));
	background-position: -860px 0;
}
.check li a::after {
	top: calc(50% - 14px);
	right: min(30px, calc(30 / 1300 * 100vw));
	height: 28px;
}
.check li:first-child a::after {
	width: min(31px, calc(31 / 1300 * 100vw));
}
.check li:last-child a::after {
	width: min(39px, calc(39 / 1300 * 100vw));
}
}/* @media */
