@charset "utf-8";

/* base
-------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
	display: block;
}
html {
	line-height: 1;
}
ul, ol {
	list-style-type: none;
}
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}
a img {
	border: none;
}
img {
	vertical-align: bottom;
	border: none;
	max-width: 100%;
	height: auto;
}
img[src*=".svg"] {
	width: 100%;
}
a {
	color: inherit;
	text-decoration: none;
}
*,
:before,
:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font: inherit;
	border: none;
	border-radius: 0;
	outline: none;
}
textarea {
	resize: vertical;
}
input[type='checkbox'],
input[type='radio'] {
	display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select {
	cursor: pointer;
}
select::-ms-expand {
	display: none;
}

/* --------------------------------------------------------
	フォントと背景
-------------------------------------------------------- */
html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	color: #000;
	font-size: 1.6em;
	font-weight: 400;
	background: #fff;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

/* フォント */
.ff_yakuHan { font-family: YakuHanJP, sans-serif; }
.ff_serif { font-family: "Noto Serif JP", serif; }
.bold { font-weight: 700; }
.heavy { font-weight: 900; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }

/* 文字色 */
.fc_rd { color: #E6141A; }

@media screen and (max-width: 768px) {
body { font-size: 1.4em; }
.c-pattern02 {
	background: url("../img/pattern02_sp.jpg") repeat;
	background-size: 100% auto;
}
}


/* --------------------------------------------------------
	リンク
-------------------------------------------------------- */
a {
	color: inherit;
	transition: .5s;
}
a:hover { opacity: 0.5; }
::-moz-selection {
	color: #fff;
	background: #E6141A;
}
::selection {
	color: #fff;
	background: #E6141A;
}

/* テキストリンク
-------------------------------------------------------- */

/* アンカーリンク
-------------------------------------------------------- */
.anchor {
	margin-top: -90px;
	padding-top: 90px;
}
@media screen and (max-width: 768px) {
.anchor {
	margin-top: -68px;
	padding-top: 68px;
}
}



/* --------------------------------------------------------
	共通
-------------------------------------------------------- */
.inner {
	max-width: 1400px;
	width: 88%;
	margin: auto;
}
.mw878 {
	max-width: 878px;
	margin: auto;
}
@media screen and (max-width: 768px) {
.inner.is_wide {
	width: 95%;
}
}

.c-frame_layout .c-frame_title {
	color: #999;
	font-size: 1.8rem;
	font-style: italic;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.1em;
}
.c-frame_layout .c-frame_title span {
	font-size: 3.5rem;
	font-weight: 700;
	display: inline-block;
	margin: 0 0 0 8px;
}
.c-frame_layout .c-frame_content {
	margin: -20px 0 0;
	padding: 20px;
	position: relative;
	z-index: 1;
}
.c-frame_layout .c-frame_content::before,
.c-frame_layout .c-frame_content::after {
	content: "";
	width: 32%;
	height: 35%;
	border: solid 2px #999;
	border-right: none;
	border-bottom: none;
	position: absolute;
	z-index: 0;
}
.c-frame_layout .c-frame_content::before {
	top: 0;
	left: 0;
}
.c-frame_layout .c-frame_content::after {
	bottom: 0;
	right: 0;
	scale: -1 -1;
}
.c-frame_layout .c-frame_content > div { padding: 40px 20px; }
@media screen and (max-width: 768px) {
.c-frame_layout .c-frame_content {
	margin: -16px 0 0;
	padding: 12px;
}
.c-frame_layout .c-frame_content::before,
.c-frame_layout .c-frame_content::after {
	border-width: 1.5px;
}
}


/* iframe */
.iframe { position: relative; }
.iframe.youtube { padding-top: 56.25%; }
.iframe iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


/* flex */
.flex {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}
.nowrap { flex-wrap: nowrap; }
.fd_c {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
}
.fd_rr {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	flex-direction: row-reverse;
}
.ai_fs {
	-webkit-box-align: start;
	align-items: flex-start;
}
.ai_fe {
	-webkit-box-align: end;
	align-items: flex-end;
}
.ai_c {
	-webkit-box-align: center;
	align-items: center;
}
.jc_fs {
	-webkit-box-pack: start;
	justify-content: flex-start;
}
.jc_fe {
	-webkit-box-pack: end;
	justify-content: flex-end;
}
.jc_c {
	-webkit-box-pack: center;
	justify-content: center;
}
.jc_sb {
	-webkit-box-pack: justify;
	justify-content: space-between;
}
.jc_sa {
	justify-content: space-around;
}
.order1 {
	-ms-flex-order: 1;
	-webkit-order: 1;
	order: 1;
}
.order2 {
	-ms-flex-order: 2;
	-webkit-order: 2;
	order: 2;
}

/* --------------------------------------------------------
	アニメーション
-------------------------------------------------------- */
.trigger {
	opacity: 0;
}
/* 下から上へ */
.animation.animation01 {
	animation: fadeup .8s ease forwards;
}
/* 左から右へ */
.animation.animation02 {
	animation: faderight .8s ease forwards;
}
/* 右から左へ */
.animation.animation03 {
	animation: fadeleft .8s ease forwards;
}

@keyframes fadeup{
	from {
		opacity: 0;
		transform: translateY(2em);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes faderight{
	from {
		opacity: 0;
		transform: translateX(-2em);
	}
	
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
@keyframes fadeleft{
	from {
		opacity: 0;
		transform: translateX(2em);
	}
	
	to {
		opacity: 1;
		transform: translateX(0);
	}
}


/* --------------------------------------------------------
	title
-------------------------------------------------------- */
.c-title01 {
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.c-title01 > span {
	font-size: 4rem;
}
.c-title01 .emphasis {
	display: inline-block;
	position: relative;
}
.c-title01 .emphasis::before {
	content: "";
	width: 8px;
	height: 8px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: -6px;
	left: 50%;
	translate: -50% 0;
}
.c-title01 .wave {
	display: inline-block;
	position: relative;
}
.c-title01 .wave::before {
	content: "";
	width: 100%;
	height: 9px;
	background: url("../img/wave_ye.png") repeat-x;
	background-size: contain;
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 0;
}
.c-line_title {
	color: #fff;
	background: #d20012;
	text-align: center;
	padding: 48px 0;
	position: relative;
}
.c-line_title::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 44px 0px 44px;
	border-color: #d20012 transparent transparent transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	translate: -50% 0;
}
.c-line_title.is_nv {
	background: #383d4a;
}
.c-line_title.is_nv::before {
	border-color: #383d4a transparent transparent transparent;
}
@media screen and (max-width: 768px) {
.c-title01 {
	font-size: 2.4rem;
}
.c-title01 > span {
	font-size: 3.2rem;
}
.c-title01 .emphasis::before {
	width: 6px;
	height: 6px;
	top: -4px;
}
.c-title01 .wave::before {
	height: 4.5px;
}
.c-line_title {
	padding: 24px 0;
}
.c-line_title::before {
	border-width: 28px 32px 0px 32px;
}
}
@media screen and (max-width: 480px) {
.c-title01 {
	font-size: 6.4vw;
}
.c-title01 > span {
	font-size: 8.5vw;
}
}
.c-title02 {
	color: #d20012;
	font-size: 3.2rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 12px;
	position: relative;
}
.c-title02::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 17.5px 0px 17.5px;
	border-color: #d20012 transparent transparent transparent;
	display: block;
	margin: auto;
}
.c-title02 span {
	background: #fff;
	border: solid 2px #d20012;
	display: inline-block;
	line-height: 1;
	padding: 24px 48px;
}
@media screen and (max-width: 768px) {
.c-title02 {
	font-size: 2.4rem;
}
.c-title02 span {
	line-height: 1.5;
	padding: 12px 20px;
}
}


.c-head01 {
	font-weight: 700;
	text-align: center;
	margin: 0 0 56px;
	position: relative;
}
.c-head01 .c-head_title,
.c-head01 .c-head_text {
	position: relative;
	z-index: 1;
}
.c-head01 .c-head_title {
	font-size: 4.8rem;
}
.c-head01 .c-head_text {
	font-size: 2.4rem;
	margin: 12px 0 0;
}
.c-head01 .en {
	font-size: 0;
	width: 100%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
}
@media screen and (max-width: 768px) {
.c-head01 {
	margin: 0 0 32px;
}
.c-head01 .c-head_title {
	font-size: 3rem;
}
.c-head01 .c-head_text {
	font-size: 1.5rem;
	margin: 10px 0 0;
}
}
@media screen and (max-width: 480px) {
.c-head01 .c-head_title {
	font-size: 8vw;
}
.c-head01 .c-head_text {
	font-size: 4vw;
}
}

/* --------------------------------------------------------
	btn
-------------------------------------------------------- */
.c-btn01 {
	color: #fff;
	font-size: 1.8rem;
	max-width: 280px;
	width: 100%;
	background: #373D4B;
	border-radius: 100px;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	padding: 20px;
}
@media screen and (max-width: 768px) {
.c-btn01 {
	font-size: 1.6rem;
	padding: 16px;
}
}
@media screen and (max-width: 480px) {
}

/* --------------------------------------------------------
	PC SP
-------------------------------------------------------- */
.is_sp { display: none; }
@media screen and (max-width: 768px) {
	.is_pc { display: none; }
	.is_sp { display: block; }
}


/* --------------------------------------------------------
	header
-------------------------------------------------------- */
header {
	height: 100px;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	justify-content: space-between;
	padding: 0 10px 0 3.125%;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	transition: .5s;
	z-index: 10;
}
header::before {
	content: "";
	width: 100%;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.hd_logo {
	font-weight: 700;
	position: relative;
	transition: .5s;
	z-index: 2;
}
.hd_logo .sub,
.hd_logo .main {
	transition: .5s;
}
.hd_logo .sub {
	font-size: min(1vw, 12px);
}
.hd_logo .main {
	font-size: min(3vw, 33px);
	margin: max(-0.3vw, -4px) 0 0;
}
.hd_nav {
	position: relative;
	z-index: 2;
}
.hd_nav .hd_nav_btn {
	display: -webkit-box;
	display: flex;
}
.hd_nav .hd_nav_btn li:not(:last-child) {
	margin: 0 8px 0 0;
}
.hd_nav_btn li a {
	color: #fff;
	background: #373D4B;
	border-radius: 100px;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	padding: 12px min(2vw, 24px);
}
.hd_nav_btn li:nth-child(2) a {
	background: #B86553;
}
#hamb { display: none; }
.hamb_nav {
	color: #fff;
	width: 100%;
	min-height: 100vh;
	height: 100%;
	background: #373D4B;
	padding: 70px 0 100px;
	opacity: 0;
	overflow: auto;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	transition: .5s;
	z-index: 0;
}
.hamb_nav .hamb_nav_list > li {
	border-bottom: solid 1px #A6A6A6;
}
.hamb_nav .hamb_nav_list > li > a {
	font-size: 1.4rem;
	display: block;
	padding: 16px;
	position: relative;
}
.hamb_nav .hamb_nav_list > li.is_contact > a {
	background: #B86553;
}
.hamb_nav .hamb_nav_list .child {
	padding: 0 0 24px 40px;
}
.hamb_nav .hamb_nav_list .child li {
	padding: 0 0 0 16px;
	position: relative;
}
.hamb_nav .hamb_nav_list .child li:not(:last-child) {
	margin: 0 0 8px;
}
.hamb_nav .hamb_nav_list .child li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.hamb_cv_list {
	margin: 40px 0 0;
	padding: 0 16px;
}
.hamb_cv_list li {
	padding: 0 0 0 10px;
	position: relative;
}
.hamb_cv_list li::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	display: inline-block;
	border-width: 3px 0px 3px 4px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 8px;
	left: 0;
}
.hamb_cv_list li:not(:last-child) {
	margin: 0 0 8px;
}
.hamb_cv_list_tel {
	margin: 4px 0 0;
}
.hamb_cv_list_tel .num {
	font-size: 2.2rem;
}
.hamb_cv_list_tel .num::before {
	content: "";
	width: 24px;
	height: 14px;
	background: url("../img/icon_free_wh.svg") no-repeat;
	background-size: contain;
	display: inline-block;
	margin: 0 4px 0 0;
}
.hamb_cv_list_tel .hours {
	font-size: 1.2rem;
	margin: 0 0 5px 8px;
}
.is_hamb_open .hamb_nav {
	opacity: 1;
	visibility: inherit;
}
@media screen and (min-width: 1025px) {
.is_scroll header { height: 70px; }
.is_scroll .hd_logo .sub {
	font-size: min(0.8vw, 10px);
}
.is_scroll .hd_logo .main {
	font-size: min(2.16vw, 26px);
}
.hd_nav,
.hd_nav_list {
	display: -webkit-box;
	display: flex;
}
.hd_nav {
	font-size: 1.4rem;
	font-weight: 700;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: end;
	justify-content: flex-end;
	flex: 1 1 auto;
}
.hd_nav_list li {
	margin: 0 min(2.6vw, 32px) 0 0;
	position: relative;
}
.hd_nav_list .child {
	min-width: 160px;
	padding: 24px 0 0;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	transition: .5s;
}
.hd_nav_list .child ul {
	background: #373D4B;
	position: relative;
}
.hd_nav_list .child ul::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0px 8px 9px 8px;
	border-color: transparent transparent #373D4B transparent;
	display: inline-block;
	position: absolute;
	top: -9px;
	left: 50%;
	transform: translateX(-50%);
}
.hd_nav_list .child ul li {
	margin: 0;
}
.hd_nav_list .child ul li:not(:last-child) {
	border-bottom: solid 1px #A6A6A6;
}
.hd_nav_list .child ul li a {
	color: #fff;
	display: block;
	padding: 12px 24px;
}
.hd_nav_list > li:hover > .child {
	opacity: 1;
	visibility: inherit;
}
}
@media screen and (max-width: 1024px) {
header {
	height: 70px;
	padding-right: calc(50px + 3.125%);
}
.hd_nav .hd_nav_list,
.hd_nav .hd_nav_btn { display: none; }
.hd_logo .sub {
	font-size: 1rem;
}
.hd_logo .main {
	font-size: 2rem;
}
#hamb {
	width: 50px;
	height: 50px;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	cursor: pointer;
	position: absolute;
	top: calc(50% - 25px);
	right: 1.5%;
	z-index: 1;
}
#hamb .icon {
	width: 25px;
	height: 17px;
	position: relative;
}
#hamb span {
	width: 100%;
	height: 1px;
	background: #373D4B;
	display: block;
	position: absolute;
	left: 0;
	transition: .5s;
}
#hamb span:nth-child(1) {
	top: 0;
}
#hamb span:nth-child(2) {
	top: 50%;
}
#hamb span:nth-child(3) {
	top: 100%;
}
.is_hamb_open #hamb::before,
.is_hamb_open #hamb::after {
	width: 100%;
	height: 100%;
}
.is_hamb_open #hamb span:nth-child(1),
.is_hamb_open #hamb span:nth-child(3) {
	top: 7.5px;
}
.is_hamb_open #hamb span:nth-child(1) {
	transform: rotate(28deg);
}
.is_hamb_open #hamb span:nth-child(2) {
	transform: scaleX(0);
}
.is_hamb_open #hamb span:nth-child(3) {
	transform: rotate(-28deg);
}
}
@media screen and (max-width: 768px) {
header { padding-right: 3.125%; }
.hd_nav .hd_nav_btn { display: none; }
}

/* --------------------------------------------------------
	footer
-------------------------------------------------------- */
.ft_bg {
	color: #fff;
	background: #373D4B;
}
.ft_catch {
	text-align: center;
	padding: 56px 0;
}
.ft_catch_logo {
	font-weight: 700;
	margin: 0 0 8px;
}
.ft_catch_logo .sub {
	font-size: 1.5rem;
}
.ft_catch_logo .main {
	font-size: 5rem;
	margin: -4px 0 0;
}
.ft_catch_text {
	line-height: 1.75;
}
.ft_info {
	text-align: center;
	padding: 64px 0;
}
.ft_info .zensin {
	max-width: 145px;
	width: 28%;
	margin: 0 0 16px;
}
.ft_info address {
	line-height: 1.75;
}
.ft_btm {
	border-top: solid 1px #fff;
	padding: 12px 0;
}
.ft_btm .inner {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	flex-direction: row-reverse;
}
.ft_link li:not(:last-child) {
	margin: 0 24px 0 0;
}
#copyright {
	font-size: 1.4rem;
}
.fix_btn {
	display: none;
	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	z-index: 5;
}
.fix_btn ul {
	display: -webkit-box;
	display: flex;
}
.fix_btn ul li {
	width: 50%;
}
.fix_btn ul li a {
	color: #fff;
	height: 100%;
	background: #373D4B;
	border-radius: 10px 10px 0 0;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	text-align: center;
	padding: 16px 8px;
}
.fix_btn ul li:nth-child(2) a {
	background: #B86553;
}
@media screen and (max-width: 1024px) {
.ft_catch {
	text-align: center;
	padding: 56px 0;
}
.ft_catch_logo .sub {
	font-size: 1.4rem;
}
.ft_catch_logo .main {
	font-size: 4rem;
}
.ft_btm {
	padding: 0;
}
.ft_btm .inner {
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
}
.ft_info {
	padding: 40px 0;
}
.ft_link,
#copyright {
	width: 100%;
}
.ft_link {
	border-bottom: solid 1px #fff;
	-webkit-box-pack: center;
	justify-content: center;
	padding: 14px 0;
}
#copyright {
	text-align: center;
	padding: 10px;
}
.fix_btn {
	display: block;
}
}
@media screen and (max-width: 768px) {
.ft_info address { font-size: 1.2rem; }
.ft_link { font-size: 1.3rem; }
.ft_link li:not(:last-child) {
	margin: 0 min(4.8vw, 36px) 0 0;
}
#copyright { font-size: 1.1rem; }
.fix_btn ul li a {
	padding: 10px 8px;
}
}
@media screen and (max-width: 480px) {
.ft_catch_logo .sub,
.ft_catch_text {
	font-size: 3.2vw;
}
.ft_catch_logo .main {
	font-size: 10.6vw;
}
.ft_info address { font-size: 3.2vw; }
.ft_link { font-size: 3.4vw; }
.fix_btn ul li a {
	font-size: 3.5vw;
}
}


/* --------------------------------------------------------
	メインビジュアル
-------------------------------------------------------- */
#mv {
	background: #B86553;
	margin: 0 0 56px;
	padding: 48px 0;
	position: relative;
	z-index: 1;
}
#mv::before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url("../img/mv_bg.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	mix-blend-mode: lighten;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .1;
	z-index: 0;
}
#mv > div {
	max-width: 1600px;
	width: 100%;
	margin: auto;
	position: relative;
	z-index: 1;
}
.mv_video,
.mv_text_wrap {
	width: 50%;
}
.mv_video {
	width: 50%;
}
.mv_video > div {
	padding-top: 56%;
	position: relative;
}
.mv_video video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
.mv_text_wrap {
	font-weight: 700;
	padding: 0 min(3.5vw, 56px) 0 min(2vw, 32px);
}
.mv_title .sub > span,
.mv_title .main > span {
	background: rgba(255, 255, 255, .9);
	display: inline-block;
	line-height: 1;
	padding: min(1vw, 16px) min(1.5vw, 24px);
}
.mv_title .sub,
.mv_title .main > span:not(:last-child) {
	margin: 0 0 16px;
}
.mv_title .sub {
	font-size: min(1.625vw, 26px);
}
.mv_title .main {
	font-size: min(4.375vw, 70px);
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	justify-content: flex-start;
}
.mv_title .main span span {
	color: #B86553;
}
.mv_text {
	font-size: 2rem;
	text-shadow: 
		#fff 1px 1px 10px, #fff -1px 1px 10px,
		#fff 1px -1px 10px, #fff -1px -1px 10px;
	line-height: 2;
}
@media screen and (max-width: 1024px) {
#mv {
	background: none;
	padding: 0;
}
#mv::before {
	content: none;
}
.mv_video,
.mv_text_wrap {
	width: 100%;
}
.mv_text_wrap {
	font-weight: 700;
	background: #B86553;
	padding: 48px 0;
	position: relative;
}
.mv_text_wrap::before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url("../img/mv_bg_sp.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	mix-blend-mode: lighten;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .1;
	z-index: 0;
}
	.mv_title {
		position: relative;
		z-index: 1;
	}
.mv_title .sub > span,
.mv_title .main > span {
	padding: 16px 24px;
}
.mv_title .sub {
	font-size: 2.4rem;
}
.mv_title .main {
	font-size: 5rem;
}
.mv_text {
	font-size: 1.6rem;
}
.mv_btn_wrap .c-btn01 {
	font-size: 1.4rem;
}
}
@media screen and (max-width: 768px) {
.mv_text_wrap {
	padding: 32px 0;
}
.mv_title .sub > span,
.mv_title .main > span {
	padding: 10px 12px;
}
.mv_title .sub,
.mv_title .main > span:not(:last-child) {
	margin: 0 0 8px;
}
.mv_title .sub {
	font-size: 1.3rem;
}
.mv_title .main {
	font-size: 3.5rem;
}
.mv_text {
	font-size: 1.4rem;
	text-align: center;
}
}
@media screen and (max-width: 480px) {
.mv_title .sub {
	font-size: 3.5vw;
}
.mv_title .main {
	font-size: 9.3vw;
}
.mv_text,
.mv_btn_wrap .c-btn01 {
	font-size: 3.7vw;
}
}


/* --------------------------------------------------------
	「凄い採用」とは?
-------------------------------------------------------- */
.intro_logo {
	font-weight: 700;
	text-align: center;
	margin: 0 0 10px;
}
.intro_logo .sub {
	font-size: 2.4rem;
}
.intro_logo .main {
	font-size: 4rem;
}
.intro_logo .main > span {
	font-size: 6rem;
}
.intro_text {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2.2;
	text-align: center;
	margin: 0 0 32px;
}
.intro_btn_wrap {
	max-width: 690px;
	width: 100%;
	margin: 0 auto 120px;
}
.intro_btn_wrap ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}
.intro_btn_wrap ul li {
	width: 49%;
}
.intro_btn_wrap ul li:not(:last-child) {
	margin: 0 2% 0 0;
}
.intro_btn_wrap .c-btn01 {
	max-width: inherit;
}
.intro_btn_wrap ul li:nth-child(2) .c-btn01 {
	background: #B86553;
}
.intro_bg {
	background: #F9F9F7;
	padding: 170px 1.5% 80px;
	position: relative;
}
.intro_bg .scroll_down {
	width: 1px;
	height: 160px;
	position: absolute;
	top: -80px;
	left: 50%;
}
.intro_bg .scroll_down::before,
.intro_bg .scroll_down::after {
	content: "";
	width: 100%;
	height: 100%;
	background: #000;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.intro_bg .scroll_down::before {
	background: url("../img/pattern.gif") repeat-y;
}
.intro_bg .scroll_down::after {
	background: #B86553;
	animation: scroll_down 2s infinite;
}
@keyframes scroll_down {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	51% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}
.intro_bg_head {
	font-weight: 700;
	text-align: center;
	margin: 0 0 32px;
}
.intro_bg_title {
	font-size: 3.6rem;
	line-height: 1.3;
}
.intro_bg_title span {
	font-size: 4.8rem;
}
.intro_bg_title span > span:nth-child(1) {
	color: #A5412B;
}
.intro_bg_title span > span:nth-child(2) {
	color: #004986;
}
.intro_bg_title span > span:nth-child(3) {
	color: #13775F;
}
.intro_bg_text {
	font-size: 1.8rem;
	margin: 16px 0 0;
}
.intro_list {
	max-width: 1220px;
	margin: auto;
}
.intro_list li {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
}
.intro_list li:not(.plus) {
	width: 31%;
	-webkit-box-align: end;
	align-items: flex-end;
	position: relative;
}
.intro_list li:not(.plus) > div {
	width: 100%;
	text-align: center;
	position: absolute;
	top: 53%;
	left: 0;
}
.intro_list li.plus {
	color: #0D0D0D;
	font-size: min(4.28vw, 60px);
	font-weight: 700;
	width: 3.5%;
}
.intro_list_title {
	font-size: min(2.42vw, 34px);
	font-weight: 700;
	margin: 0 0 10px;
}
.intro_list li:nth-child(1) .intro_list_title {
	color: #A5412B;
}
.intro_list li:nth-child(3) .intro_list_title {
	color: #004986;
}
.intro_list li:nth-child(5) .intro_list_title {
	color: #13775F;
}
.intro_list_text {
	font-size: min(1.285vw, 18px);
	letter-spacing: 0;
	line-height: 2;
	white-space: nowrap;
}
@media screen and (max-width: 1024px) {
.intro_list {
	max-width: 378px;
}
.intro_list li:not(.plus),
.intro_list li.plus {
	width: 100%;
}
.intro_list li:not(:nth-child(1)):not(.plus) > div {
	top: 48%;
}
.intro_list_title {
	font-size: 3.4rem;
}
.intro_list_text {
	font-size: 1.8rem;
}
}
@media screen and (max-width: 768px) {
.intro_logo {
	margin: 0 0 16px;
}
.intro_logo .sub {
	font-size: 1.4rem;
}
.intro_logo .main {
	font-size: 2rem;
	margin: 4px 0 0;
}
.intro_logo .main > span {
	font-size: 3rem;
}
.intro_text {
	font-size: 1.4rem;
	margin: 0 0 32px;
}
.intro_btn_wrap {
	max-width: inherit;
	background: #fff;
	margin: 0 0 80px;
}
.intro_btn_wrap ul li {
	width: 100%;
}
.intro_btn_wrap ul li:not(:last-child) {
	margin: 0 0 10px;
}
.intro_bg {
	padding: 64px 1.5% 40px;
}
.intro_bg .scroll_down {
	height: 80px;
	top: -40px;
}
.intro_bg_title {
	font-size: 2rem;
	line-height: 1.6;
}
.intro_bg_title span {
	font-size: 2.4rem;
}
.intro_bg_text {
	font-size: 1.5rem;
}
.intro_list {
	max-width: 320px;
}
.intro_list_title {
	font-size: 2.2rem;
}
.intro_list_text {
	font-size: 1.5rem;
}
}
@media screen and (max-width: 480px) {
.intro_logo .sub {
	font-size: 3.7vw;
}
.intro_logo .main {
	font-size: 5.3vw;
}
.intro_bg_title {
	font-size: 4.5vw;
}
.intro_bg_title span {
	font-size: 5.3vw;
}
.intro_bg_text {
	font-size: 4vw;
}
.intro_list_text {
	font-size: 3.5vw;
}
}


/* --------------------------------------------------------
	料金プラン
-------------------------------------------------------- */
#plan {
	margin: 120px 0 0;
}
#plan .plus {
	padding: 24px 0;
}
#plan .plus span {
	font-size: 10rem;
	font-weight: 700;
	line-height: 1;
	position: relative;
}
#plan .plus span::after {
	content: "さらに学生の注目を集める……";
	font-size: 1.8rem;
	font-weight: 400;
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 110%;
	transform: translateY(-50%);
}
.plan_wrap {
	padding: 142px 0 152px;
	position: relative;
}
.plan_wrap.plan01 .c-head01,
.plan_wrap.plan03 .c-head01 {
	margin: 0 0 min(6.4vw, 96px);
}
.plan_num {
	max-width: 231px;
	width: 14%;
	position: absolute;
	top: max(-4.375vw, -70px);
	left: 0;
}
.plan_wrap.plan02 .plan_num {
	left: inherit;
	right: 0;
}
.plan_list {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .2);
}
.plan_list > li {
	font-size: min(1.333vw, 16px);
	width: 33.3333%;
	padding: 24px min(2.3vw, 35px);
	position: relative;
}
.plan_list > li > div:not(.plan_list_reco) {
	position: relative;
	z-index: 1;
}
.plan_list_reco {
	font-size: min(1.3vw, 20px);
	font-weight: 700;
	width: 100%;
	text-align: center;
	position: absolute;
	top: max(-2.666vw, -40px);
	left: 0;
	z-index: 1;
}
.plan_list_reco span {
	color: #A5412B;
	max-width: 320px;
	width: 80%;
	background: #fff;
	border: solid 3px #A5412B;
	border-radius: 100px;
	display: inline-block;
	padding: 4px;
}
.plan_list_img {
	text-align: center;
	margin: 0 0 24px;
}
.plan_list_title {
	font-weight: 700;
	text-align: center;
	margin: 0 0 16px;
}
.plan_list_title .main {
	font-size: min(2.4vw, 36px);
	margin: 0 0 8px;
/*	font-size: 3.6rem;*/
}
.plan_list_title .sub {
	font-size: min(1.3vw, 20px);
/*	font-size: 3.6rem;*/
}
.plan_list_price {
	color: #A5412B;
	line-height: 1;
	margin: 0 0 24px;
}
.plan_list_price {
	font-size: min(1.6vw, 24px);
/*	font-size: 2.4rem;*/
	font-weight: 700;
	text-align: center;
}
.plan_list_price > span {
	font-size: min(2vw, 30px);
/*	font-size: 3rem;*/
}
.plan_list_price span span {
	font-size: min(4vw, 60px);
/*	font-size: 6rem;*/
}
.plan_list_text {
	line-height: 1.75;
}
.plan_list_detail {
	font-size: min(1vw, 16px);
	margin: 24px 0 0;
}
.plan_list_detail > span {
	background: #F7EEEC;
	display: inline-block;
	line-height: 1;
	margin: 2px 10px 1px 0;
	padding: 6px 10px;
}
.plan_list > li:nth-child(2)::after {
	content: "";
	width: 100%;
	height: 104%;
	background: #F7EEEC;
	border: solid 3px #A5412B;
	border-radius: 20px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .2);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 0;
}
.plan_list > li:nth-child(2) .plan_list_detail > span {
	background: #fff;
}
.plan_wrap.plan01 {
	background: #F7EEEC;
}
.plan_wrap.plan01 .c-head01 .c-head_text {
	color: #A5412B;
}
.plan_wrap.plan01 .c-head01 .en {
	max-width: 721px;
	width: 70%;
	top: max(-9.7vw, -100px);
}
.plan_wrap.plan02 {
	background: #E2F2EE;
}
.plan_wrap.plan02 .c-head01 .en {
	max-width: 402px;
	width: 55%;
	top: max(-6.5vw, -67px);
}
.plan_wrap.plan03 {
	background: #E5EDF4;
}
.plan_wrap.plan03 .c-head01 .en {
	max-width: 507px;
	width: 70%;
	top: max(-5.4vw, -56px);
}
.plan_wrap.plan03 .plan_list_reco span {
	color: #004986;
	border-color: #004986;
}
.plan_wrap.plan03 .c-head01 .c-head_text {
	color: #004986;
}
.plan_wrap.plan03 .plan_list_title .main {
	margin: 0;
}
.plan_wrap.plan03 .plan_list_title .sub {
	font-size: min(1.6vw, 24px);
}
.plan_wrap.plan03 .plan_list > li:nth-child(2)::after {
	background: #E5EDF4;
	border-color: #004986;
}
.plan_wrap.plan03 .plan_list_price {
	color: #004986;
}
.plan_wrap.plan03 .plan_list_text {
	font-size: min(1.3vw, 20px);
	font-weight: 700;
	text-align: center;
}
.plan_wrap.plan03 .plan_list_detail {
	font-size: min(1.2vw, 18px);
}
.plan_wrap.plan03 .plan_list_detail span {
	color: #A6A6A6;
}
.plan_wrap.plan03 .plan_list_detail ul li {
	padding: 0 0 0 24px;
	position: relative;
}
.plan_wrap.plan03 .plan_list_detail ul li:not(:last-child) {
	margin: 0 0 min(0.2666vw, 4px);
}
.plan_wrap.plan03 .plan_list_detail ul li::before {
	content: "";
	width: 20px;
	height: 20px;
	background: url("../img/icon_check_bl.svg") no-repeat;
	background-size: contain;
	position: absolute;
	top: min(0.333vw, 5px);
	left: 0;
}
@media screen and (max-width: 1024px) {
.plan_wrap .inner {
	width: 94.6%;
}
.plan_list > li {
	font-size: 1.6rem;
	width: 100%;
	padding: 40px 16px;
}
.plan_list_reco {
	font-size: 2rem;
	top: max(-2.666vw, -40px);
}
.plan_list_title .main {
	font-size: 3.6rem;
}
.plan_list_title .sub {
	font-size: 2rem;
}
.plan_list_price {
	font-size: 2.4rem;
}
.plan_list_price > span {
	font-size: 3rem;
}
.plan_list_price span span {
	font-size: 6rem;
}
.plan_list_detail {
	font-size: 1.6rem;
}
.plan_list > li:nth-child(1) {
	padding-bottom: 64px;
}
.plan_list > li:nth-child(2) {
	padding-top: 64px;
}
.plan_list > li:nth-child(2)::after {
	width: calc(100% + 5.4%);
	height: 100%;
	left: -2.7%;
}
.plan_wrap.plan03 .plan_list_title .sub {
	font-size: 2.4rem;
}
.plan_wrap.plan03 .plan_list_text {
	font-size: 2rem;
}
.plan_wrap.plan03 .plan_list_detail {
	font-size: 1.8rem;
}
.plan_wrap.plan03 .plan_list_detail ul li::before {
	top: 5px;
}
}
@media screen and (max-width: 768px) {
#plan {
	margin: min(16.5vw, 124px) 0 0;
}
#plan .plus {
	padding: 16px 0 24px;
}
#plan .plus span {
	font-size: 5rem;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-align: center;
	align-items: center;
}
#plan .plus span::after {
	font-size: 1.4rem;
	white-space: normal;
	margin: 8px 0 0;
	position: static;
	transform: none;
}
.plan_wrap {
	padding: min(18.229vw, 140px) 0 64px;
}
.plan_wrap.plan01 .c-head01,
.plan_wrap.plan03 .c-head01 {
	margin: 0 0 32px;
}
.plan_list > li {
	font-size: 1.4rem;
}
.plan_list_reco {
	font-size: 1.8rem;
	top: -20px;
}
.plan_list_title .main {
	font-size: 2.4rem;
}
.plan_list_title .sub {
	font-size: 1.8rem;
}
.plan_list_price {
	font-size: 2rem;
}
.plan_list_price > span {
	font-size: 2.4rem;
}
.plan_list_price span span {
	font-size: 3rem;
}
.plan_list_detail {
	font-size: 1.2rem;
}
.plan_wrap.plan03 .plan_list_title .sub {
	font-size: 2rem;
}
.plan_wrap.plan03 .plan_list_text {
	font-size: 1.8rem;
}
.plan_wrap.plan03 .plan_list_detail {
	font-size: 1.5rem;
}
.plan_wrap.plan03 .plan_list_detail ul li::before {
	width: 16px;
	height: 16px;
	top: min(1vw, 4px);
}
}
@media screen and (max-width: 480px) {
.plan_list_title .main {
	font-size: 8vw;
}
.plan_list_title .sub {
	font-size: 4vw;
}
.plan_list_reco {
	font-size: 4vw;
	top: max(-5vw, -16px);
}
.plan_list_price {
	font-size: 5.3vw;
}
.plan_list_price > span {
	font-size: 8vw;
}
.plan_list_price span span {
	font-size: 12vw;
}
.plan_wrap.plan03 .plan_list_title .sub {
	font-size: 4.8vw;
}
.plan_wrap.plan03 .plan_list_text {
	font-size: 4vw;
}
.plan_wrap.plan03 .plan_list_detail {
	font-size: 3.84vw;
}
}

.option_list {
	max-width: 1270px;
	margin: auto;
	position: relative;
	z-index: 1;
}
.option_list > li {
	width: 24%;
	background: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .2);
	border-radius: 10px;
	overflow: hidden;
	margin-top: 1.3333%;
	margin-right: 1.3333%;
	position: relative;
}
.option_list > li::before {
	content: "";
	width: min(1.4vw, 21px);
	height: min(1.4vw, 21px);
	background: url("../img/icon_zoom_mi.svg") no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}
.option_list > li a {
	height: 100%;
	display: -webkit-box;
	display: flex;
	padding: 4px;
}
.option_list_img {
	width: min(5.9vw, 83px);
}
.option_list_text {
	font-size: min(1.28vw, 18px);
	width: calc(100% - min(5.9vw, 83px));
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}
@media screen and (min-width: 1025px) {
.option_list > li:nth-child(-n + 4) {
	margin-top: 0;
}
.option_list > li:nth-child(4n) {
	margin-right: 0;
}
}
@media screen and (max-width: 1024px) {
.option_list > li {
	width: 32.4444666%;
}
.option_list > li:nth-child(-n + 3) {
	margin-top: 0;
}
.option_list > li:nth-child(3n) {
	margin-right: 0;
}
.option_list > li::before {
	width: min(2vw, 21px);
	height: min(2vw, 21px);
}
.option_list_img {
	width: min(8vw, 83px);
}
.option_list_text {
	font-size: min(1.75vw, 18px);
	width: calc(100% - min(8vw, 83px));
}
}
@media screen and (max-width: 768px) {
.option_list > li {
	width: 49%;
}
.option_list > li,
.option_list > li:nth-child(-n + 3) {
	margin-top: 2%;
}
.option_list > li:nth-child(-n + 2) {
	margin-top: 0;
}
.option_list > li,
.option_list > li:nth-child(3n) {
	margin-right: 2%;
}
.option_list > li:nth-child(2n) {
	margin-right: 0;
}
.option_list > li::before {
	width: min(2.8vw, 21px);
	height: min(2.8vw, 21px);
}
.option_list_img {
	width: min(11vw, 83px);
}
.option_list_text {
	font-size: 1.5rem;
	width: calc(100% - min(11vw, 83px));
}
}
@media screen and (max-width: 480px) {
.option_list_text {
	font-size: 3.2vw;
}
}

.modal {
	display: none;
	max-width: 1100px;
	width: 92%;
	max-height: 92%;
	background: #373D4B;
	border-radius: 10px;
	overflow: auto;
	padding: 0 50px;
	position: fixed;
	z-index: 50;
}
.modal-bg {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.34);
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 40;
}
.modal-head {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.modal_wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.modal_wrap > .flex {
	padding: 50px 0;
}
.modal_img {
	width: 45%;
}
.modal .text_wrap {
	color: #fff;
	width: 50%;
	padding: 0 2% 0 0;
}
.modal_title,
.modal_price {
	font-weight: 700;
}
.modal_title {
	font-size: 3rem;
	margin: 0 0 16px;
}
.modal_price {
	font-size: 2rem;
	line-height: 1;
	margin: 0 0 24px;
}
.modal_price span {
	font-size: 3rem;
}
.modal_text {
	font-size: 1.8rem;
}
.modal-open,
.modal-close {
	cursor: pointer;
}
.modal-close {
	font-size: 0;
	max-width: 30px;
	width: 100%;
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 1;
}
.modal-switch {
	width: 50px;
	height: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	cursor: pointer;
	position: absolute;
	z-index: 0;
}
.modal-switch::before {
	content: "";
	width: 18px;
	height: 30px;
	background-image: url("../img/arrow_r_gy.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
}
.modal-switch.not_link {
	pointer-events: none;
}
.modal-switch.not_link::before {
	content: none;
}
.modal-switch.next {
	right: 0;
}
.modal-switch.prev {
	left: 0;
}
.modal-switch.prev::before { transform: scale(-1, 1); }
@media screen and (max-width: 768px) {
.modal {
	padding: 0 32px;
}
.modal_wrap > .flex {
	padding: 32px 0 24px;
}
.modal_img ,
.modal .text_wrap {
	width: 100%;
}
.modal_img {
	text-align: center;
	margin: 0 0 24px;
}
.modal_title {
	font-size: 2rem;
	margin: 0 0 8px;
}
.modal_price {
	font-size: 1.6rem;
}
.modal_price span {
	font-size: 2rem;
}
.modal_text {
	font-size: 1.4rem;
	padding: 0;
}
.modal-close {
	max-width: 15px;
	top: 10px;
	right: 10px;
}
.modal-switch {
	width: 32px;
}
.modal-switch::before {
	width: 10px;
	height: 22px;
}
}

/* --------------------------------------------------------
	チーム
-------------------------------------------------------- */
#team {
	padding: 160px 0 134px;
}
#team .c-head01 h3 {
	font-size: 3rem;
	margin: 16px 0 0;
}
#team .c-head01 .c-head_text {
	font-size: 1.8rem;
	line-height: 1.75;
	margin: 24px 0 0;
}
#team .c-head01 .en {
	max-width: 739px;
	width: 100%;
	top: max(-7.7vw, -79px);
}
.team_list li {
	width: 31%;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	margin-top: 26px;
	margin-right: 3.5%;
	padding: 0 min(2vw, 24px) 32px;
	position: relative;
}
.team_list li::before {
	content: "";
	width: 100%;
	height: calc(100% - 50px);
	background: #F9F9F7;
	border-radius: 5px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.team_list_img {
	max-width: 250px;
	width: 69%;
	text-align: center;
	margin: 0 auto;
	position: relative;
}
.team_list_name {
	color: #fff;
	background: #262626;
	line-height: 1;
	padding: 6px;
	position: absolute;
	bottom: 8px;
	right: 0;
}
.team_list_title {
	color: #B86553;
	font-size: min(1.5vw, 20px);
	font-weight: 700;
	text-align: center;
	margin: 20px 0;
}
.team_btm_text {
	font-size: min(2.5vw, 30px);
	font-weight: 700;
	text-align: center;
	margin: 110px 0 0;
}
.team_btm_text > span {
	display: inline-block;
	padding: 0 48px 0 62px;
	position: relative;
}
.team_btm_text > span::before,
.team_btm_text > span::after {
	content: "";
	width: 42px;
	height: 45px;
	background: url("../img/team_deco.svg") no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.team_btm_text > span::before {
	left: 0;
}
.team_btm_text > span::after {
	right: 0;
	transform: translateY(-50%) scale(-1, 1);
}
.team_btm_text span span {
	color: #B86553;
}
@media screen and (min-width: 1025px) {
.team_list li {
	font-size: min(1.333vw, 16px);
}
.team_list li:nth-child(-n + 3) {
	margin-top: 0;
}
.team_list li:nth-child(3n),
.team_list li:last-child {
	margin-right: 0;
}
}
@media screen and (max-width: 1024px) {
#team .inner { width: 100%; }
	.team_list {
		padding: 0 1.5%;
	}
.team_list li {
	width: 49.25%;
	margin-right: 1.5%;
}
.team_list li:nth-child(-n + 2) {
	margin-top: 0;
}
.team_list li:nth-child(2n),
.team_list li:last-child {
	margin-right: 0;
}
.team_list_title {
	font-size: 2rem;
}
.team_btm_text {
	font-size: 3rem;
}
.team_btm_text .is_sp { display: block; }
}
@media screen and (max-width: 768px) {
#team {
	padding: 80px 0 32px;
}
#team .c-head01 h3 {
	font-size: 1.5rem;
	margin: 8px 0 0;
}
#team .c-head01 .c-head_text {
	font-size: 1.4rem;
	margin: 16px 0 0;
}
.team_list li {
	font-size: 1.4rem;
	padding: 0 2px 16px;
}
.team_list_title {
	font-size: 1.5rem;
	margin: 16px 0 10px;
}
.team_btm_text {
	font-size: 1.8rem;
	margin: 55px 0 0;
}
.team_btm_text > span {
	padding: 0 min(6vw, 28px);
}
.team_btm_text > span::before,
.team_btm_text > span::after {
	width: min(6vw, 28px);
	height: min(8vw, 31px);
}
}
@media screen and (max-width: 480px) {
.team_list li,
.team_list_title {
	font-size: 3.2vw;
}
.team_btm_text {
	font-size: 4.8vw;
}
}

/* --------------------------------------------------------
	実績
-------------------------------------------------------- */
#achievements {
	background-image: url("../img/achievements_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 145px 0;
}
#achievements .inner {
	width: 94.666%;
}
#achievements .c-head01 {
	color: #fff;
}
#achievements .c-head01 .en {
	max-width: 888px;
	width: 89%;
	top: max(-5.5vw, -56px);
}
.achievements_list li {
	width: 32%;
	background: #fff;
	border-radius: 10px;
	text-align: center;
	margin-right: 2%;
	padding: min(3vw, 48px) 0;
}
.achievements_list_title {
	color: #B86553;
	font-size: min(1.875vw, 30px);
	font-weight: 700;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	margin: 0 0 min(1vw, 16px);
}
.achievements_list_title > div {
	position: relative;
}
.achievements_list_title > div::before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.achievements_list li:nth-child(1) .achievements_list_title > div {
	padding-left: min(6.4375vw, 103px);
}
.achievements_list li:nth-child(1) .achievements_list_title > div::before {
	width: min(5.8vw, 93px);
	height: min(4.375vw, 70px);
	background-image: url("../img/achievements_icon01.svg");
}
.achievements_list li:nth-child(2) .achievements_list_title > div {
	padding-left: min(4vw, 64px);
}
.achievements_list li:nth-child(2) .achievements_list_title > div::before {
	width: min(2.8125vw, 45px);
	height: min(3.25vw, 52px);
	background-image: url("../img/achievements_icon02.svg");
}
.achievements_list li:nth-child(3) .achievements_list_title > div {
	padding-left: min(3vw, 48px);
}
.achievements_list li:nth-child(3) .achievements_list_title > div::before {
	width: min(2.3125vw, 37px);
	height: min(2.5625vw, 41px);
	background-image: url("../img/achievements_icon03.svg");
}
.achievements_list_increase .main {
	color: #B86553;
	font-size: min(3.75vw, 60px);
	font-weight: 700;
	line-height: 1;
}
.achievements_list_increase .main span {
	font-size: min(8.75vw, 140px);
}
.achievements_list_increase .sub {
	font-size: min(1.5vw, 24px);
	margin: min(1.25vw, 20px) 0 0;
}
.achievements_list_increase .sub span {
	color: #B86553;
}
@media screen and (min-width: 1025px) {
.achievements_list li:nth-child(3n) {
	margin-right: 0;
}
}
@media screen and (max-width: 1024px) {
.achievements_list li {
	width: 100%;
	margin-right: 0;
	padding: 48px 0;
}
.achievements_list li:not(:last-child) {
	margin: 0 0 18px;
}
.achievements_list_title {
	font-size: 3rem;
}
.achievements_list li:nth-child(1) .achievements_list_title > div {
	padding-left: 103px;
}
.achievements_list li:nth-child(1) .achievements_list_title > div::before {
	width: 93px;
	height: 70px;
}
.achievements_list li:nth-child(2) .achievements_list_title > div {
	padding-left: 64px;
}
.achievements_list li:nth-child(2) .achievements_list_title > div::before {
	width: 45px;
	height: 52px;
}
.achievements_list li:nth-child(3) .achievements_list_title > div {
	padding-left: 48px;
}
.achievements_list li:nth-child(3) .achievements_list_title > div::before {
	width: 37px;
	height: 41px;
}
.achievements_list_increase .main {
	font-size: 6rem;
}
.achievements_list_increase .main span {
	font-size: 14rem;
}
.achievements_list_increase .sub {
	font-size: 2.4rem;
	margin: 20px 0 0;
}
}
@media screen and (max-width: 768px) {
#achievements {
	background-image: url("../img/achievements_bg_sp.jpg");
	background-position: top center;
	padding: 80px 0;
}
#achievements .c-head01 .en {
	top: max(-4vw, -28px);
}
.achievements_list li {
	padding: 24px 0;
	position: relative;
}
.achievements_list_title {
	font-size: 1.8rem;
}
.achievements_list_title > div {
	padding: 0 !important;
	position: static;
}
.achievements_list_title > div::before {
	top: min(4.3vw, 32px);
	right: min(4vw, 30px);
	left: inherit;
	transform: none;
}
.achievements_list li:nth-child(1) .achievements_list_title > div::before {
	width: min(18.7vw, 93px);
	height: min(14vw, 70px);
}
.achievements_list li:nth-child(2) .achievements_list_title > div::before {
	width: min(9vw, 45px);
	height: min(10.4vw, 52px);
}
.achievements_list li:nth-child(3) .achievements_list_title > div::before {
	width: min(9vw, 37px);
	height:min(9.9vw, 41px);
}
.achievements_list_increase .main {
	font-size: 3rem;
}
.achievements_list_increase .main span {
	font-size: 7rem;
}
.achievements_list_increase .sub {
	font-size: 1.5rem;
	margin: 10px 0 0;
}
}

.voice {
	margin: 80px 0 0;
}
.voice_title {
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 32px;
}
.voice_title .icon {
	font-size: 0;
	margin: 10px 0 0;
}
.voice_title .icon img {
	max-width: 340px;
	width: 68%;
}
.voice_list li {
	width: 48%;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}
.voice_list_img {
	width: min(9.375vw, 150px);
	position: relative;
	z-index: 1;
}
.voice_list_text {
	font-size: min(1.5vw, 24px);
	font-weight: 700;
	width: calc(100% - min(9.375vw, 150px));
	background: #fff;
	border-radius: 0 60px 60px 0;
	text-align: center;
	padding: min(2.5vw, 40px) 0;
	position: relative;
}
.voice_list_text::before {
	content: "";
	width: min(2.5vw, 40px);
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	right: 100%;
	z-index: 0;
}
.voice_list_text span {
	display: inline-block;
	margin-left: max(-2.5vw, -40px);
	position: relative;
	z-index: 1;
}
@media screen and (min-width: 1025px) {
.voice_list li {
	width: 48%;
	margin-right: 4%;
}
.voice_list li:nth-child(2n) {
	margin-right: 0;
}
}
@media screen and (max-width: 1024px) {
.voice_list li {
	width: 100%;
}
.voice_list li:not(:last-child) {
	margin: 0 0 20px;
}
.voice_list_img {
	width: 150px;
}
.voice_list_text {
	font-size: 2.4rem;
	width: calc(100% - 150px);
	padding: 40px 0;
}
.voice_list_text::before {
	width: 40px;
}
.voice_list_text span {
	margin-left: max(-5.333vw, -40px);
}
}
@media screen and (max-width: 768px) {
.voice {
	margin: 40px 0 0;
}
.voice_title {
	font-size: 2.25rem;
	margin: 0 0 16px;
}
.voice_list li:not(:last-child) {
	margin: 0 0 10px;
}
.voice_list_img {
	width: min(20vw, 75px);
}
.voice_list_text {
	font-size: 1.6rem;
	width: calc(100% - min(20vw, 75px));
	padding: 18px 0;
}
.voice_list_text::before {
	width: min(5.333vw, 40px);
}
.voice_list_text span {
	margin-left: max(-5.333vw, -40px);
}
}
@media screen and (max-width: 480px) {
.voice_list_text {
	font-size: 3.2vw;
}
}

/* --------------------------------------------------------
	お問い合わせ
-------------------------------------------------------- */
#contact {
	background: #F9F9F7;
	padding: 192px 0 150px;
}
#contact .inner {
	width: 92%;
}
#contact .c-head01 {
	margin: 0 0 30px;
}
#contact .c-head01 .c-head_title {
	font-size: 3.6rem;
}
#contact .c-head01 .c-head_text {
	font-size: 2rem;
	font-weight: 400;
	margin: 24px 0 0;
}
#contact .c-head01 .en {
	max-width: 801px;
	width: 87%;
	top: max(-8vw, -82px);
}
.contact_form {
	max-width: 995px;
	margin: auto;
}
.contact_form table th,
.contact_form table td {
	padding: 10px 0;
}
.contact_form table th {
	font-size: 2rem;
	width: 210px;
	text-align: right;
	padding-right: 40px;
}
.contact_form table td {
	font-size: 1.8rem;
}
.contact_form .btn_wrap {
	margin: 40px 0 0;
}
.contact_form .c-btn01 {
	font-size: 2.4rem;
	max-width: 400px;
	border: none;
	box-shadow: none;
	text-shadow: none;
	padding: 31px 16px;
}
.contact_form .c-btn01:hover {
	background: #373D4B;
}
@media screen and (max-width: 768px) {
#contact {
	padding: 100px 0;
}
#contact .c-head01 {
	margin: 0 0 16px;
}
#contact .c-head01 .c-head_title {
	font-size: 2.4rem;
}
#contact .c-head01 .c-head_text {
	font-size: 1.5rem;
	margin: 8px 0 0;
}
#contact .c-head01 .en {
	top: max(-13vw, -51px);
}
.contact_form table th,
.contact_form table td {
	width: 100%;
	display: block;
}
.contact_form table th {
	font-size: 1.5rem;
	text-align: left;
	padding-right: 0;
	padding: 0 0 6px;
}
.contact_form table td {
	font-size: 1.4rem;
	padding: 0 0 20px;
}
.contact_form .btn_wrap {
	margin: 10px 0 0;
}
.contact_form .c-btn01 {
	font-size: 1.5rem;
	padding: 16px;
}
}
@media screen and (max-width: 480px) {
#contact .c-head01 .c-head_title {
	font-size: 6vw;
}
}
#contact_thanks {
	padding: 120px 0;
}
#contact_thanks .inner {
	max-width: 960px;
}
.thanks_title {
	font-size: 3.2rem;
	font-weight: 700;
	margin: 0 0 16px;
}
#contact_thanks .btn_wrap {
	margin: 40px 0 0;
}
@media screen and (max-width: 768px) {
#contact_thanks {
	padding: 64px 0;
}
.thanks_title {
	font-size: 2.4rem;
}
#contact_thanks .btn_wrap {
	margin: 24px 0 0;
}
}


#mailformpro input[type="text"],
#mailformpro input[type="email"],
#mailformpro input[type="tel"],
#mailformpro select,
#mailformpro textarea {
	color: #3a3232;
	width: 100% !important;
	background: #fff;
	border: solid 1px #B3B3B3;
	border-radius: 0;
	box-shadow: none;
	padding: 10px 16px;
	box-sizing: border-box;
}
#mailformpro input.mfp_element_all,
#mailformpro textarea.mfp_element_all {
	max-width: 100% !important;
}
#mailformpro select {
	background-color: #fff;
	background-image: url("../img/arrow_b_bk.svg");
	background-position: right 12px center;
	background-repeat: no-repeat;
	background-size: 10px auto;
}
#mailformpro textarea {
	height: 200px !important;
}
#mailformpro .radio {
	display: inline-block;
	margin: 0;
	padding: 0 0 0 18px;
	position: relative;
	cursor: pointer;
}
#mailformpro .radio::before,
#mailformpro .radio::after {
	content: "";
	border-radius: 50%;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: .5s;
}
#mailformpro .radio::before {
	width: 10px;
	height: 10px;
	background: #d20012;
	opacity: 0;
	left: 2px;
	z-index: 1;
}
#mailformpro .radio::after {
	width: 14px;
	height: 14px;
	background: #fff;
	border: solid 1px #bfbfbf;
	left: 0;
	z-index: 0;
}
#mailformpro input[type=radio]:checked ~ label:before {
	opacity: 1;
}
#mailformpro input::placeholder,
#mailformpro textarea::placeholder {
	color: #BFBFBF;
}
/* 旧Edge対応 */
#mailformpro input::-ms-input-placeholder,
#mailformpro textarea::-ms-input-placeholder {
	color: #BFBFBF;
}
/* IE対応 */
#mailformpro input:-ms-input-placeholder,
#mailformpro textarea:-ms-input-placeholder {
	color: #BFBFBF;
}

/* --------------------------------------------------------
	CTA
-------------------------------------------------------- */
#cta {
	background-image: url("../img/cta_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 100px 0;
}
.cta_list {
	font-size: min(1.33vw, 16px);
}
.cta_list > li {
	color: #fff;
	width: 33.3333%;
	position: relative;
}
.cta_list > li::before {
	content: "";
	width: 100%;
	height: 100%;
	opacity: .9;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.cta_list > li > a {
	height: 100%;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-align: center;
	align-items: center;
	padding: min(5.625vw, 90px) min(2vw, 32px) min(3vw, 48px);
	position: relative;
	z-index: 1;
}
.cta_list > li:nth-child(1)::before {
	background: #D0837D;
}
.cta_list > li:nth-child(2)::before {
	background: #B86553;
}
.cta_list > li:nth-child(3)::before {
	background: #373D4B;
}
.cta_list_title {
	font-size: min(1.875vw, 30px);
	font-weight: 700;
	margin: 0 0 20px;
}
.cta_list_info {
	margin: 0 0 48px;
}
.cta_list_info dt {
	font-size: min(1.5vw, 24px);
	width: 100%;
	text-align: center;
	margin: 0 0 24px;
}
.cta_list_info ul li {
	padding: 0 0 0 18px;
	position: relative;
}
.cta_list_info ul li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.cta_list_text {
	line-height: 2;
}
.cta_list_tel {
	flex: 1 1 auto;
}
.cta_list_tel .num {
	font-size: min(2.75vw, 44px);
	line-height: 1;
	margin: 0 0 min(2.25vw, 36px);
}
.cta_list_tel .num i {
	font-size: 0;
	max-width: 48px;
	width: 13.5%;
	display: inline-block;
	vertical-align: middle;
	margin: -1% 0 0;
}
.cta_list_tel .hours {
	font-size: min(1.5vw, 24px);
}
.cta_list_btn {
	color: #B86553;
	font-size: min(1.5vw, 24px);
	font-weight: 700;
	width: 100%;
	background: #fff;
	border-radius: 45px;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	margin-top: auto;
	padding: 20px;
}
@media screen and (max-width: 1024px) {
.cta_list {
	font-size: 1.6rem;
}
.cta_list > li {
	width: 100%;
}
.cta_list > li > a {
	padding: 45px 16px;
}
.cta_list_title {
	font-size: 3rem;
}
.cta_list_info dt,
.cta_list_btn,
.cta_list_tel .hours {
	font-size: 2.4rem;
}
.cta_list_text {
	margin: 0 0 24px;
}
.cta_list_tel .num {
	font-size: 4.4rem;
}
}
@media screen and (max-width: 768px) {
#cta {
	background-image: url("../img/cta_bg_sp.jpg");
	padding: 75px 0;
}
.cta_list {
	font-size: 1.4rem;
}
.cta_list_title {
	font-size: 2.4rem;
	margin: 0 0 12px;
}
.cta_list_info dt,
.cta_list_tel .hours {
	font-size: 1.5rem;
}
.cta_list_info {
	margin: 0 0 24px;
}
.cta_list_info dt {
	margin: 0 0 16px;
}
.cta_list_tel .num {
	font-size: 3.6rem;
}
.cta_list_btn {
	font-size: 1.2rem;
	width: 62%;
}
}
@media screen and (max-width: 480px) {
.cta_list {
	font-size: 3.7vw;
}
.cta_list_title {
	font-size: 6.4vw;
}
.cta_list_info dt,
.cta_list_tel .hours {
	font-size: 4vw;
}
.cta_list_tel .num {
	font-size: 9.6vw;
}
.cta_list_btn {
	font-size: 3.2vw;
}
}
