﻿@charset "utf-8";
@import "base.css";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700;900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Questrial&family=Train+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Train+One&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  全般設定
　━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
body {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-family: 'Questrial', sans-serif;
	font-family: 'Noto Serif JP', serif;
	font-family: 'Noto Sans JP', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'メイリオ', sans-serif;
	font-size: 16px;
	color: #000000;
	line-height: 1.8;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}
#wrapper {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 0;
}

* { box-sizing: border-box; }

.btn a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flex {
	display: flex;
	flex-wrap: wrap;
}
.reverse {
	flex-flow: row-reverse;
}

.pc1500,
.pc1400,
.pc1300,
.pc1200,
.pc800 {
	display: inline-block;
}
.sp1200,
.sp800,
.sp_link {
	display: none;
}

@media screen and (max-width: 1500px) {
	.pc1500 {
		display: none;
	}
}
@media screen and (max-width: 1400px) {
	.pc1400 {
		display: none;
	}
}
@media screen and (max-width: 1300px) {
	.pc1300 {
		display: none;
	}
}
@media screen and (max-width: 1200px) {
	.pc1200 {
		display: none;
	}
	.sp1200 {
		display: inline-block;
	}
	.sp_link {
		display: block;
	}
}
@media screen and (max-width: 800px) {
	.pc800 {
		display: none;
	}
	.sp800 {
		display: inline-block;
	}
}


/* header
------------------------------------------------------------*/
header {
	width: 100%;
	height: 130px;
	border-bottom: 1px solid #d3d1d0;
	position: relative;
}
header .inner {
	height: 100%;
	padding-left: 2.6%;
	justify-content: space-between;
	align-items: center;
}
header .logo img {
	height: 64px;
}

header nav .nav span {
	cursor: pointer;
}

@media screen and (min-width: 1200px) {
	header nav {
		width: calc(100% - 560px);
		max-width: 670px;
		height: 100%;
		border-left: 1px solid #d3d1d0;
		margin-left: auto;
		padding: 0 5%;
		justify-content: space-between;
		align-items: center;
	}
	header nav .nav {
		width: calc((100% - 160px) / 4);
		text-align: center;
	}
	header nav .nav a {
		font-size: 15px;
	}
	header .nav_contact {
		width: 160px;
		height: 100%;
	}
	header .nav_contact a {
		background-color: #1c7031;
		border: 1px solid #1c7031;
		color: #ffffff;
		text-align: center;
	}
	header .nav_contact a:hover {
		background-color: #ffffff;
		color: #1c7031;
	}
	header .nav_contact a .img {
		width: 36px;
		height: 24px;
		background-image: url(../img/common/mail.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: 36px auto;
		margin: 0 auto 5px;
	}
	header .nav_contact a:hover .img {
		background-image: url(../img/common/mail_g.svg);
	}
	header .nav {
		position: relative;
	}
	header .nav.service {
		position: static;
	}
	header .nav_sub {
		display: none;
		width: 160px;
		padding-top: 20px;
		position: absolute;
		top: 30px;
		left: -30px;
	}
	header .service .nav_sub {
		width: 100%;
		max-width: 1080px;
		left: auto;
		right: 0;
		top: 80px;
	}
	header nav .nav:hover .nav_sub {
		display: block;
	}
	header .nav_sub .nav_group {
		background-color: #ffffff;
		border: 5px solid #1c7031;
		padding: 0 15px;
		justify-content: space-around;
	}
	header .nav.service .nav_sub .nav_group {
		padding: 20px 15px;
	}
	header nav .nav_group .nav {
		width: auto;
		text-align: left;
	}
	header nav .nav_group .nav .group {
		color: #1c7031;
		font-weight: 700;
	}
	header nav .nav_group .nav .group:not(:first-child) {
		margin-top: 30px;
	}
	.home header nav .nav .nav_group a,
	header nav .nav .nav_group ul li a {
		color: #000000;
		font-weight: normal;
	}
	.home header nav .nav .nav_group a:hover,
	header nav .nav .nav_group ul li a:hover {
		color: #1c7031;
	}

	header .nav_sub .nav_group .group {
		padding: 5px 0;
	}
	header .nav_sub .nav_group .group:not(:last-child) {
		border-bottom: 1px dashed #1c7031;
	}
	header .nav.service .nav_sub .nav_group .group {
		border-bottom: none;
		padding: 0;
	}
}
@media screen and (max-width: 1200px) {
	header {
		height: 80px;
		font-weight: 500;
	}
	header .inner {
		padding: 10px;
	}
	header .logo img {
		height: 60px;
	}

	.nav_contact {
		display: none;
	}

	.sp_menu {
		display : block;
		width: 42px;
		height: 42px;
		text-align: center;
		position: fixed;
		right: 20px;
		top: 20px;
		z-index: 3;
		cursor: pointer;
	}
    .sp_menu span {
	    display: block;
		width: 30px;
		height: 2px;
		background-color: #1c7031;
		position: absolute;
		left : 6px;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition   : 0.3s ease-in-out;
		transition        : 0.3s ease-in-out;
  	}
  	.sp_menu span:nth-child(1) { top: 10px; }
  	.sp_menu span:nth-child(2) { top: 20px; }
  	.sp_menu span:nth-child(3) { top: 30px; }

    /* スマホメニューを開いてる時のボタン */
    .sp_menu.active span:nth-child(1) {
		left: 6px;
		top: 16px;
		-webkit-transform: rotate(-45deg);
		-moz-transform : rotate(-45deg);
		transform : rotate(-45deg);
  	}
    .sp_menu.active span:nth-child(2),
  	.sp_menu.active span:nth-child(3) {
		top: 16px;
		-webkit-transform: rotate(45deg);
		-moz-transform : rotate(45deg);
		transform : rotate(45deg);
  	}

	nav.flex {
		display: none;
	}

    nav {
		width: 100%;
		max-width: 400px;
		height: 100%;
		background-color: #ffffff;
		padding: 60px 10px 15px;
		position: fixed;
		right: 0;
		top: 0;
		z-index : 2;
		transform: translateX(100%);
		transition: all 0.6s;
		overflow-y: auto;
    }
    nav.flex.active {
		display: block;
	    opacity: 1;
	    transform: translateX(0%);
    }
	nav .nav a,
	nav .nav span,
	nav .nav .group {
		display: block;
		border-bottom: 1px dashed #1c7031;
	}
	nav .nav .group a {
		border-bottom: none;
	}

	.nav_group .nav {
		width: 100%;;
	}

	.nav_group .nav ul {
		display: none;
	}
	.nav_group .group.active ul {
		display: block;
	}
	.nav_group .nav ul li a {
		color: #000000;
		border-top: 1px dashed #1c7031;
		border-bottom: none;
	}
	
	.nav a,
	.nav span {
		display: block;
		padding: 5px 10px;
	}
	.service .group span,
	.nav .group a {
		display: block;
		padding: 5px 10px 5px calc(1em + 10px);
	}
	.service .group span {
		background-image: url(../img/common/sign_g_b.svg);
		background-position: right 20px center;
		background-repeat: no-repeat;
		background-size: 10px auto;
		color: #1c7031;
	}
	.service .group.active span {
		background-image: url(../img/common/sign_g_t.svg);
	}
}
@media screen and (max-width: 1000px) {
	header {
		height: 60px;
	}
	header .logo img {
		height: 40px;
	}
	.sp_menu {
		right: 10px;
		top: 8px;
	}
}


/* footer
------------------------------------------------------------*/
footer {
	margin-top: 220px;
}
footer .inner {
	width: calc(100% - 30px);
	max-width: 1400px;
	margin: 0 auto;
}

#f_cont .inner {
	padding: 60px 0;
	align-items: center;
}
#f_cont .logo img {
	height: 68px;
}
#f_cont .addr {
	font-size: 15px;
	margin: 0 auto 0 60px;
}
#f_cont .contact {
	width: 300px;
	height: 70px;
}
#f_cont .contact a {
	background-color: #1c7031;
	border: 1px solid #1c7031;
	color: #ffffff;
}
#f_cont .contact a span {
	background-image: url(../img/common/mail.svg), url(../img/common/sign_w.svg);
	background-position: left center, right center;
	background-repeat: no-repeat;
	background-size: 36px auto, 6px auto;
	padding: 0 24px 0 50px;
}

#f_nav {
	background-color: #f7f9f9;
	padding: 60px 0 90px;
}

#f_copy {
	width: 100%;
	height: 80px;
	background-color: #1c7031;
}
#f_copy .inner {
	height: 100%;
	color: #ffffff;
	font-size: 14px;
	line-height: 80px;
	justify-content: space-between;
}
#f_copy ul li:before,
#f_copy ul li:last-child:after {
	content: '|';
}
#f_copy ul li a {
	color: #ffffff;
	margin: 0 20px;
}

#pagetop {
    position: fixed;
    bottom: 95px;
    right: 15px;
}

@media screen and (min-width: 800px) {
	#f_cont .contact a:hover {
		background-color: #ffffff;
		color: #1c7031;
	}
	#f_cont .contact a:hover span {
		background-image: url(../img/common/mail_g.svg), url(../img/common/sign_g.svg);
	}
}
@media screen and (max-width: 1400px) {
	#f_nav .inner {
		justify-content: space-around;
	}
	#f_nav .nav {
		width: auto;
	}
}
@media screen and (max-width: 1200px) {
	#f_cont .inner {
		max-width: 720px;
		justify-content: space-between;
	}
	#f_cont .logo {
		width: 100%;
		margin-bottom: 20px;
	}
	#f_cont .addr {
		margin: 0;
	}
}
@media screen and (max-width: 1000px) {
	footer {
		border-top: 5px solid #1c7031;
		margin-top: 80px;
	}
	#f_nav {
		display: none;
	}
}
@media screen and (max-width: 800px) {
	#f_cont .inner {
		max-width: 310px;
		padding: 40px 0 50px;
	}
	#f_cont .contact {
		width: 100%;
		height: 50px;
		margin-top: 20px;
	}
	#f_cont .contact a span {
		background-size: 24px auto, 6px auto;
		padding: 0 24px 0 40px;
	}
	#f_copy {
		height: auto;
	}
	#f_copy .inner.reverse {
		flex-flow: wrap;
		justify-content: center;
		line-height: 60px;
	}
	.copyright {
		width: 100%;
		text-align: center;
	}
	#pagetop {
		width: 60px;
		bottom: 0;
		right: 0;
	}
}

/* main　
------------------------------------------------------------*/
main {
	display: flex;
	flex-wrap: wrap;
}

.indent01,
.dot {
	text-indent: -1em;
	padding-left: 1em;
}
.cont0209 .indent01 {
	text-indent: -0.8em;
	padding-left: 0.8em;
}
.indent02 {
	text-indent: -2em;
	padding-left: 2em;
}


/* article
------------------------------------------------------------*/
article {
	width: 100%;
}
article.pt {
	padding-top: 160px;
}


/* section
------------------------------------------------------------*/
section {
	width: calc(100% - 30px);
	max-width: 1350px;
	margin: 0 auto;
}


/* page_ttl
------------------------------------------------------------*/
#page_ttl {
	width: 100%;
	height: 140px;
	margin-bottom: 160px;
	justify-content: flex-end;
}
#page_ttl .inner {
	width: 88.54%;
	max-width: 1700px;
	border-bottom: 1px solid #d3d1d0;
	justify-content: space-between;
}
#page_ttl .page {
	line-height: 1;
	padding-bottom: 10px;
	align-items: flex-end;
}
#page_ttl .page .ttl {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-size: 57px;
	font-weight: 900;
	line-height: 1.15;
}
.privacy #page_ttl .page .ttl {
	letter-spacing: -3px;
}
#page_ttl .page .sub {
	font-family: 'Questrial', sans-serif;
	font-size: 20px;
	letter-spacing: 1px;
	margin-left: 35px;
}
#page_ttl .page_space {
	width: 830px;
	height: 100%;
	border-left: 1px solid #d3d1d0;
}

@media screen and (max-width: 1850px) {
	#page_ttl .page_space {
		display: none;
	}
}
@media screen and (max-width: 1000px) {
	#page_ttl {
		height: 80px;
		margin-bottom: 40px;
	}
	#page_ttl .inner {
		width: calc(100% - 15px);
		padding-top: 10px;
	}
	#page_ttl .page .ttl {
		width: 100%;
		font-size: 24px;
	}
	#page_ttl .page .sub {
		font-size: 16px;
		margin-left: 0;
	}
}


/* .page_link
------------------------------------------------------------*/
.page_link {
	width: calc(100% - 30px);
	max-width: 1340px;
	margin: 0 auto 60px;
	justify-content: center;
}
.page_link .link {
	height: 120px;
	background-color: #f6f8f8;
	border: 1px solid #d3d1d0;
	line-height: 1.2;
	transition: 0.5s;
}
.page_link.link03 .link {
	width: 29.62%;
}
.page_link.link04 .link {
	width: 24.81%;
}
.page_link.link05 .link {
	width: 20%;
}
.page_link .link:not(:first-child) {
	border-left: none;
}
.page_link .link:hover {
	background-color: #1c7031;
	border: 1px solid #1c7031;
	transition: 0.5s;
}
.page_link .link a {
	background-image: url(../img/common/sign_g_b.svg);
	background-position: right 50px center;
	background-repeat: no-repeat;
	background-size: 10px auto;
	color: #1c7031;
	font-size: 20px;
	font-weight: 500;
	padding-right: 12%;
}
.page_link.link05 .link a {
	background-position: right 12% center;
}
.page_link .link a:hover {
	background-image: url(../img/common/sign_w_b.svg);
	color: #ffffff;
}
.page_link .link span {
	font-size: 15px;
}

@media screen and (max-width: 1000px) {
	.page_link {
		border-left: 1px solid #d3d1d0;
		border-top: 1px solid #d3d1d0;
		margin-bottom: 40px;
		justify-content: flex-start;
	}
	.page_link.link03 {
		width: 100%;
	}
	.page_link.link03 .link,
	.page_link.link04 .link,
	.page_link.link05 .link {
		width: 50%;
		height: 100px;
		border-left: none;
		border-right: 1px solid #d3d1d0;
		border-top: none;
		border-bottom: 1px solid #d3d1d0;
	}
	.page_link.link03 .link {
		width: 33.33%;
	}
	.page_link .link a {
		background-position: right 20px center;
	}
}
@media screen and (max-width: 800px) {
	.page_link {
		margin-bottom: 10px;
	}
	.page_link.link03 .link,
	.page_link.link04 .link,
	.page_link.link05 .link {
		width: 100%;
		height: 60px;
	}
	.page_link .link a {
		font-size: 16px;
	}
}


/* section_ttl
------------------------------------------------------------*/
.section_ttl {
	line-height: 1;
	padding-top: 120px;
	display: flex;
	align-items: flex-end;
}
.section_ttl.cont_ttl {
	margin-bottom: 60px;
}
.section_ttl span {
	display: inline-block;
	margin-right: 30px;
}
.section_ttl span img {
	height: 45px;
}

@media screen and (max-width: 1000px) {
	.section_ttl {
		padding-top: 60px;
	}
	.section_ttl span {
		margin-right: 15px;
	}
	.section_ttl span img {
		height: 26px;
	}
	.section_ttl.cont_ttl {
		font-size: 16px;
		margin-bottom: 30px;
	}
}


/* cont_ttl cont_txt cont_img
------------------------------------------------------------*/
.cont_ttl {
	width: 100%;
	font-size: 23px;
	font-weight: 500;
	margin-bottom: 20px;
	padding-bottom: 15px;
	position: relative;
}
.cont_ttl:before,
.cont_ttl:after {
	content: '';
	position: absolute;
	left: 0;
}
.cont_ttl:before {
	width: 100%;
	height: 1px;
	background-color: #978989;
	bottom: 1px;
}
.cont_ttl:after {
	width: 124px;
	height: 3px;
	background-color: #1c7031;
	bottom: 0;
}

.cont0502 .cont_txt {
	margin-top: 30px;
}
.cont_txt.cont0201_1 {
	max-width: 770px;
	margin-top: 60px;
	position: relative;
}
.cont_txt a {
	background-image: url(../img/common/sign_g.svg);
	background-position: right 5px center;
	background-repeat: no-repeat;
	background-size: 6px auto;
	border-bottom: 1px solid #1c7031;
	padding-right: 20px;
}

.cont_txt span {
	font-size: 18px;
}

.cont_txt_top {
	text-align: right;
	margin-top: 60px;
}
.cont_txt_ttl {
	margin-top: 30px;
}

.cont_img {
	margin-top: 30px;
}
.cont0201 .cont_img {
	text-align: right;
	margin-top: -180px;
}
.cont0202 .cont_img,
.cont0203 .cont_img {
	margin-top: 60px;
}
.cont_img .img_ttl {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 20px;
}
.cont_img .img_txt {
	margin-top: 5px;
}
.cont_img p {
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	margin-top: 5px;
}

.cont_area {
	margin-top: 30px;
}
.cont_area.mt {
	margin-top: 10px;
}
.cont_area_ttl {
	font-size: 23px;
	font-weight: 500;
	margin-top: 30px;
}

.cont_area .cont {
	margin: 0 0.5% 5px 0;
}
.cont_area .cont p {
	font-size: 17px;
	font-weight: 500;
	text-align: center;
	padding-bottom: 5px;
}
.cont_area .img {
	margin: 0 0.5% 0 0;
}
.cont_area .txt {
	margin: 0 0 0 2.5%;
}

.cont0101 .cont_area .txt {
	width: calc(97% - 364px);
	max-width: 550px;
}
.cont0102 .cont_area .cont:first-child { width: 37.03%; }
.cont0102 .cont_area .cont:last-child { width: 51.48%; }
.cont0103 .cont_area .img { width: 27.77%; }
.cont0103 .cont_area .txt { width: 40.96%; }
.cont0104 .cont_area .cont:first-child { width: 27.7%; }
.cont0104 .cont_area .cont:nth-child(2) { width: 28.51%; }
.cont0104 .cont_area .cont:last-child { width: 28.51%; }
.cont0105 .cont_area .cont { width: 36.66%; }
.cont0106 .cont_area .cont { width: 32.59%; }
.cont0201 .cont_area .img { width: 51.85%; }
.cont0201 .cont_area .txt { width: 45.15%; }
.cont0203 .cont_area .img { width: 29.62%; }
.cont0203 .cont_area .txt { width: 37.26%; }
.cont0204 .cont_area.cont0204_1 .cont:first-child { width: 23.92%; }
.cont0204 .cont_area.cont0204_1 .cont:nth-child(2) { width: 24.07%; }
.cont0204 .cont_area.cont0204_2 .cont { width: 32.59%; }
.cont0205 .cont_area .cont:first-child { width: 27.4%; }
.cont0205 .cont_area .cont:nth-child(2) { width: 29.62%; }
.cont0205 .cont_area .txt { width: 39.48%; }
.cont0206 .cont_area .cont:first-child { width: 27.7%; }
.cont0206 .cont_area .cont:nth-child(2) { width: 28.51%; }
.cont0206 .cont_area .cont:last-child { width: 28.51%; }
.cont0207 .cont_area.cont0207_1 .cont:first-child { width: 27.7%; }
.cont0207 .cont_area.cont0207_1 .cont:last-child { width: 28.51%; }
.cont0207 .cont_area.cont0207_2 .cont:first-child { width: 27.7%; }
.cont0207 .cont_area.cont0207_2 .cont:last-child { width: 43.7%; }
.cont0208 .cont_area .img { width: 31.85%; }
.cont0209 .cont_area .cont:first-child { width: 41.43%; }
.cont0209 .cont_area .cont:nth-child(2) { width: 43.7%; }
.cont0301 .cont_area .txt { width: calc(97% - 290px); }
.cont0401 .cont_area .cont { width: 40%; }
.cont0402 .cont_area .cont { width: 40%; }
.cont0403 .cont_area .txt { width: calc(97% - 565px); }
.cont_area.cont0501_1 .cont:first-child { width: 22.96%; }
.cont_area.cont0501_1 .cont:nth-child(2) { width: 22.81%; }
.cont0501 .cont_area .txt { width: 50.73%; }
.cont_area.cont0501_2 .cont:first-child { width: 20%; }
.cont_area.cont0501_2 .cont:nth-child(2) { width: 39.85%; }
.cont_area.cont0501_2 .cont:last-child { width: 38.51%; }
.cont0502 .cont_area .txt { width: calc(97% - 440px); }
.cont0503 .cont_area .img { width: 48.14%; }
.cont0503 .cont_area .txt { width: 48.86%; }

.cont_flow {
	width: 100%;
}
.cont0103 .cont_flow .cont {
	max-width: 296px;
}
.cont0103 .cont_flow .cont .txt {
	margin-top: 10px;
}
.cont0103 .cont_flow .sign {
	margin: 0 20px;
	padding-top: 6.5%;
}
.cont0103 .cont_flow .sign img {
	width: 34px;
	transform: rotate(-90deg);
}

.cont0204 .cont_area.cont0204_1 .txt {
	width: 41%;
}

.cont_flow .cont .num {
	font-family: 'Questrial', sans-serif;
	color: #1c7031;
	font-size: 20px;
	font-weight: 500;
	margin-right: 20px;
}
.cont_flow .cont .box {
	width: calc(100% - 45px);
}
.cont_flow .cont .ttl {
	font-size: 18px;
	font-weight: 500;
}
.cont_flow .cont .txt {
	font-size: 15px;
	margin-top: 5px;
}
.cont0209 .list_img .list {
	width: 55%;
	margin-right: 5%;
}
.cont0209 .list_img .img {
	width: 40%;
}

.cont_flow_img {
	max-width: 1100px;
	justify-content: space-between;
}
.cont0206 .cont_flow {
	width: 63%;
	max-width: 700px;
}
.cont0206 .cont_flow .cont {
	width: 100%;
	background-color: #eaeaea;
	padding: 40px 30px;
}
.cont0206 .cont_flow .sign {
	text-align: center;
	margin: 15px 0;
}
.cont0206 .cont_flow .sign img {
	width: 37px;
}
.cont0206 .cont_flow_img .cont_img {
	width: 34%;
	max-width: 330px;
	margin-top: 0;
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
}
.cont0206 .cont_flow_img .cont_img {
	width: 100%;
}
.cont0206 .cont_flow_img .cont_img p {
	font-size: 17px;
	margin: 0 0 5px;
}

@media screen and (max-width: 1240px) {
	.cont_txt.cont0201_1 {
		max-width: 100%;
	}
	.cont0201 .cont_img {
		margin-top: 30px;
	}
}
@media screen and (max-width: 1100px) {
	.cont0103 .cont_flow .cont {
		width: 26.9%;
	}
	.cont0103 .cont_flow .sign img {
		width: 20px;
	}
}
@media screen and (max-width: 1000px) {
	.cont_ttl {
		font-size: 18px;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.cont0502 .cont_txt {
		margin-top: 20px;
	}
	.cont_txt span {
		font-size: 16px;
		font-weight: 500;
	}

	.cont_txt.cont0201_1,
	.cont_txt_top,
	.cont_img {
		margin-top: 30px;
	}
	.cont_img .img_ttl {
		font-size: 16px;
	}
	.cont_img p {
		font-size: 15px;
	}

	.cont0207 .cont_area.cont0207_2 {
		margin-top: 0;
	}
	.cont_area_ttl {
		font-size: 18px;
	}
	.cont_area .cont p {
		font-size: 14px;
	}

	.cont_flow {
		margin-top: 18px;
	}
	.cont0206 .cont_flow .cont {
		padding: 20px;
	}
	.cont_flow .cont .num {
		line-height: 1.6;
		margin-right: 10px;
	}
	.cont0206 .cont_flow .cont .box {
		width: calc(100% - 35px);
	}
	.cont_flow .cont .ttl {
		font-size: 16px;
	}
	.cont0206 .cont_flow {
		width: 100%;
	}
	.cont0206 .cont_flow .sign {
		margin: 10px 0;
	}
	.cont0206 .cont_flow .sign img {
		width: 20px;
	}
	.cont0209 .list_img {
		align-items: center;
	}

	.cont0206 .cont_flow_img .cont_img {
		width: 100%;
		max-width: 100%;
		margin-top: 20px;
	}
	.cont0206 .cont_flow_img .cont_img .img {
		width: 27.7%;
		margin-right: 0.5%;
	}
	.cont0206 .cont_flow_img .cont_img p {
		font-size: 14px;
	}
}
@media screen and (max-width: 800px) {
	.cont_area .img {
		margin-bottom: 5px;
	}
	.cont_area .txt {
		margin: 5px 0 0;
	}
	.cont0101 .cont_area .txt,
	.cont0103 .cont_area .txt,
	.cont0201 .cont_area .txt,
	.cont0203 .cont_area .txt,
	.cont0204 .cont_area .txt,
	.cont0205 .cont_area .txt,
	.cont0301 .cont_area .txt,
	.cont0403 .cont_area .txt,
	.cont0501 .cont_area .txt,
	.cont0502 .cont_area .txt,
	.cont0503 .cont_area .txt {
		width: 100%;
		max-width: 100%;
	}
	.cont0102 .cont_area .cont:first-child { width: 56.94%; }
	.cont0102 .cont_area .cont:last-child { width: 79.15%; }
	.cont0103 .cont_area .img { width: 42.71%; }
	.cont0104 .cont_area .cont:first-child { width: 42.59%; }
	.cont0104 .cont_area .cont:nth-child(2) { width: 43.84%; }
	.cont0104 .cont_area .cont:last-child { width: 43.84%; }
	.cont0105 .cont_area .cont { width: 49.5%; }
	.cont0106 .cont_area .cont { width: 49.5%; }
	.cont0201 .cont_area .img { width: 79.72%; }
	.cont0203 .cont_area .img { width: 45.55%; }
	.cont0204 .cont_area.cont0204_1 .cont:first-child { width: 36.78%; }
	.cont0204 .cont_area.cont0204_1 .cont:nth-child(2) { width: 37.01%; }
	.cont0204 .cont_area.cont0204_2 .cont { width: 49.5%; }
	.cont0205 .cont_area .cont:first-child { width: 42.14%; }
	.cont0205 .cont_area .cont:nth-child(2) { width: 45.55%; }
	.cont0206 .cont_area .cont:first-child { width: 42.59%; }
	.cont0206 .cont_area .cont:nth-child(2) { width: 43.84%; }
	.cont0206 .cont_area .cont:last-child { width: 43.84%; }
	.cont0207 .cont_area.cont0207_1 .cont:first-child { width: 42.59%; }
	.cont0207 .cont_area.cont0207_1 .cont:last-child { width: 43.84%; }
	.cont0207 .cont_area.cont0207_2 .cont:first-child { width: 42.59%; }
	.cont0207 .cont_area.cont0207_2 .cont:last-child { width: 67.19%; }
	.cont0208 .cont_area .cont { width: 48.97%; }
	.cont0401 .cont_area .cont { width: 49.5%; }
	.cont0402 .cont_area .cont { width: 49.5%; }
	.cont_area.cont0501_1 .cont:first-child { width: 35.3%; }
	.cont_area.cont0501_1 .cont:nth-child(2) { width: 35.07%; }
	.cont_area.cont0501_2 .cont:first-child { width: 30.75%; }
	.cont_area.cont0501_2 .cont:nth-child(2) { width: 61.27%; }
	.cont_area.cont0501_2 .cont:last-child { width: 59.22%; }
	.cont0503 .cont_area .img { width: 74.03%; }

	.cont0103 .cont_flow {
		max-width: 296px;
	}
	.cont0103 .cont_flow .cont,
	.cont0103 .cont_flow .sign {
		width: 100%;
	}
	.cont0103 .cont_flow .sign {
		text-align: center;
		margin: 10px 0;
		padding-top: 0;
	}
	.cont0103 .cont_flow .sign img {
		transform: rotate(0deg);
	}

	.cont0204 .cont_area.cont0204_1 .txt {
		width: 100%;
	}

	.cont0206 .cont_flow_img .cont_img .img {
		width: 42.59%;
	}

	.cont0209 .list_img .list {
		width: 100%;
		margin-right: 0;
	}
	.cont0209 .list_img .img {
		width: 100%;
		text-align: center;
		margin-top: 30px;
	}
}
@media screen and (max-width: 480px) {
	.cont_area .cont {
		margin-right: 0;
	}
	.cont_area .img {
		width: 100%;
	}
	.cont_area .cont {
		margin: 0 0 5px 0;
	}
	.cont0102 .cont_area .cont:first-child,
	.cont0102 .cont_area .cont:last-child,
	.cont0103 .cont_area .img,
	.cont0104 .cont_area .cont:first-child,
	.cont0104 .cont_area .cont:nth-child(2),
	.cont0104 .cont_area .cont:last-child,
	.cont0105 .cont_area .cont,
	.cont0106 .cont_area .cont,
	.cont0203 .cont_area .img,
	.cont0204 .cont_area.cont0204_1 .cont:first-child,
	.cont0204 .cont_area.cont0204_1 .cont:nth-child(2),
	.cont0204 .cont_area.cont0204_2 .cont,
	.cont0205 .cont_area .cont:first-child,
	.cont0205 .cont_area .cont:nth-child(2),
	.cont0206 .cont_area .cont:first-child,
	.cont0206 .cont_area .cont:nth-child(2),
	.cont0206 .cont_area .cont:last-child,
	.cont0207 .cont_area.cont0207_1 .cont:first-child,
	.cont0207 .cont_area.cont0207_1 .cont:last-child,
	.cont0207 .cont_area.cont0207_2 .cont:first-child,
	.cont0207 .cont_area.cont0207_2 .cont:last-child,
	.cont0208 .cont_area .cont,
	.cont0209 .cont_area .cont:first-child,
	.cont0209 .cont_area .cont:nth-child(2),
	.cont0401 .cont_area .cont,
	.cont0402 .cont_area .cont,
	.cont_area.cont0501_1 .cont:first-child,
	.cont_area.cont0501_1 .cont:nth-child(2),
	.cont_area.cont0501_2 .cont:first-child,
	.cont_area.cont0501_2 .cont:nth-child(2),
	.cont_area.cont0501_2 .cont:last-child {
		width: 100%;
		text-align: center;
	}

	.cont0206 .cont_flow_img .cont_img .img {
		width: 100%;
		text-align: center;
		margin-right: 0;
	}
}


/* nav_link
------------------------------------------------------------*/
.nav_link .nav {
	width: 25%;
}
.nav_link .nav .group {
	background-image: url(../img/common/sign_g.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 6px auto;
	color: #040000;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 2px;
	padding-left: 16px;
}
.nav_link .nav:nth-child(3) .group:not(:first-child),
.nav_link .nav:last-child .group:not(:first-child) {
	margin-top: 50px;
}
.nav_link .nav ul {
	padding-left: 16px;
}
.nav_link .nav ul li a {
	color: #727171;
	font-size: 14px;
}
.nav_link .nav .group a:hover,
.nav_link .nav ul li a:hover {
	color: #1c7031;
}

@media screen and (max-width: 1000px) {
	.nav_link .nav {
		width: 50%;
	}
	.nav_link .nav:last-child .group {
		margin-top: 30px;
	}
	.nav_link .nav:last-child .group:not(:first-child) {
		margin-top: 30px;
	}
}
@media screen and (max-width: 800px) {
	.nav_link .nav {
		width: 100%;
	}
	.nav_link:nth-child(2) .nav:not(:first-child) .group,
	.nav_link .nav:nth-child(3) .group:not(:first-child) {
		margin-top: 30px;
	}
}


/* .list table
------------------------------------------------------------*/
.list table {
	width: 100%;
    margin-bottom: 120px;
}
.list table:last-child {
    margin-bottom: 0;
}
.list table caption {
	width: 265px;
	height: 50px;
	background-color: #1c7031;
	color: #ffffff;
	font-size: 23px;
	font-weight: 500;
	text-align: center;
	line-height: 50px;
}
.list table th,
.list table td {
	vertical-align: middle;
}
.list table th {
	width: 265px;
	background-color: #f6f8f8;
	border-bottom: 1px solid #1c7031;
	color: #1c7031;
	font-weight: 500;
	padding: 20px 50px;
}
.list table tr:first-child th {
	border-top: 1px solid #1c7031;
}
.list table td {
	padding: 10px 50px;
}
.list table td .name {
	display: inline-block;
	background-color: #1c7031;
	color: #ffffff;
	font-size: 19px;
	font-weight: 500;
	line-height: 1;
	padding: 7px 15px 9px 12px;
}

@media screen and (max-width: 1000px) {
	.list table {
		margin-bottom: 60px;
	}
	.list table caption {
		font-size: 16px;
	}
	.list table th,
	.list table td {
		width: 100%;
		float: left;
		padding: 10px 5px;	
	}
    .list table th {
        border-top: 1px solid #1c7031;
    }
    .list table tr:last-child td {
        border-bottom: 1px solid #1c7031;
    }

	.list table td .name {
		font-size: 16px;
	}
}


/* .form table
------------------------------------------------------------*/
.form table {
	width: 100%;
}
.form table th {
	width: 410px;
	vertical-align: top;
	padding: 20px 40px;
	position: relative;
}
.form table th span {
	display: inline-block;
	width: 50px;
	height: 25px;
	background-color: #e50012;
	color: #ffffff;
	font-size: 15px;
	text-align: center;
	line-height: 25px;
	position: absolute;
	left: 230px;
	top: 22px;
}
.form table td {
	padding: 10px;
}

.form input[type="text"],
.form input[type="date"],
.form textarea {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	padding: 10px 20px;
}
.form input[type="text"] {
	height: 50px;
}
.form textarea {
	height: 360px;
}
.form .width_l {
	width: 100%;
}
.form .width_m {
	width: 50%;
}
.form .width_s {
	width: 140px;
}
.form .send_btn {
	text-align: center;
	margin-top: 60px;
}
.form .send_btn input {
	width: 200px;
	height: 60px;
	background-color: #1c7031;
	background-image: url(../img/common/sign_w.svg);
	background-position: right 30px center;
	background-repeat: no-repeat;
	background-size: 6px auto;
	border: 1px solid #1c7031;
	color: #ffffff;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	transition: 0.5s;
}
.form .send_btn input:hover {
	background-color: #ffffff;
	background-image: url(../img/common/sign_g.svg);
	color: #1c7031;
}

@media screen and (max-width: 1200px) {
	.form table th {
		width: 230px;
		padding-left: 0;
		padding-right: 20px;
	}
	.form table th span {
		left: 160px;
	}
}
@media screen and (max-width: 1000px) {
	.form table th,
	.form table td {
		width: 100%;
		float: left;
		padding: 5px 0;
	}
	.form table th span {
		width: 45px;
		height: 20px;
		font-size: 14px;
		line-height: 20px;
		margin-left: 20px;
		position: static;
	}

	.form input[type="text"],
	.form input[type="date"],
	.form textarea {
		padding: 5px 10px;
	}

	.form .send_btn {
		margin-top: 40px;
	}
	.form .send_btn input {
		height: 48px;
	}
}

.sub_ttl {
    font-family: 'Questrial', sans-serif;
    width: 150px;
    height: 27px;
    background-color: #1c7031;
    color: #ffffff;
    font-size: 20px;
    text-align: center;
    line-height: 27px;
}
@media screen and (max-width: 1000px) {
	.sub_ttl {
		font-size: 14px;
	}
}


.name.interview {
    font-size: 19px;
    margin-right: 30px;
}
.year.interview {
    color: #cacaca;
}
@media screen and (max-width: 1000px) {
    .name.interview {
        font-size: 16px;
    }
    .year.interview {
        font-size: 14px;
    }
}


.txt_ttl {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-size: 57px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: -2px;
}
.txt_cont,
.txt_img {
	margin-top: 30px;
}
@media screen and (max-width: 1000px) {
	.txt_ttl {
		font-size: 28px;
		letter-spacing: 0;
	}
	.txt_cont,
	.txt_img {
		margin-top: 20px;
	}
}