@charset "utf-8";
/* common.css */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

* {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #333;
}

* html * {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}

a {
	text-decoration: none;
}

.main_header a:hover {
	opacity: 0.7;
}

b {
	font-weight: bold;
}

p,span,li,dt,dd {
	font-weight: 400;
	line-height: 2.0;
}

img {
	max-width: 100%;
}

/*　共通レイアウトスタイル　*/

html {
	font-size: 10px;
}

body {
	width: 100%;
	font-size: 1.8rem;
	font-weight: 100;
}

#wrapper {
	padding-top: 78px;
}

header {
    width: 100%;
    padding: 20px 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
    background: rgba(255,255,255,0.75);
    transition: opacity 0.8s;
}

.main_header {
	width: 100%;
	position: fixed;
	padding: 0;
	top: 0;
	z-index: 3;
	background: #fff;
}
.header_inner {
    margin: auto 2%;
    width: auto;
    height: 78px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header img {
	display: block;
	height: 80px;
	margin: 0 auto;
}

.header_r ul {
	display: flex;
    align-items: center;
	text-align: center;
}

.header_r ul a {
    margin-left: 1rem;
}

.header_r a:nth-child(2) {
    align-items: center;
    justify-content: center;
	display: flex;
    width: 10em;
    height: 2.5em;
    background: #00A27C;
    font-size: 1.6rem;
    border-radius: 50px;
    border-bottom: 4px solid #004233;
}

.header_r a:nth-child(3) {
    align-items: center;
    justify-content: center;
	display: flex;
    width: 10em;
    height: 2.5em;
    background: #FF0000;
    font-size: 1.6rem;
    border-radius: 50px;
    border-bottom: 4px solid #970606;
}

.header_r a:nth-child(4) {
    align-items: center;
    justify-content: center;
	display: flex;
    width: 10em;
    height: 2.5em;
    background: #004B9E;
    font-size: 1.6rem;
    border-radius: 50px;
    border-bottom: 4px solid #002652;
}

.header_r a:nth-child(5) {
    align-items: center;
    justify-content: center;
	display: flex;
    width: 10em;
    height: 2.5em;
    background: #FFA500;
    font-size: 1.6rem;
    border-radius: 50px;
    border-bottom: 4px solid #583900;
}

.header_r a li {
	color: #fff;
    font-size: 1.5rem;
	font-weight: 500;
}

.header_r .contact {
	min-width: 21rem;
}

.header_r .phone {
    color: #333;
	font-size: 1.2rem;
	margin-top: -1.2rem;
}

.header_r .phone div:nth-child(1) {
    display: flex;
	align-items: center;
	margin-bottom: -1rem;
}

.header_r .phone div:nth-child(1) p {
    color: #00a37d;
	font-size: 2.5rem;
	font-weight: bold;
}

.header_r .phone img {
    display: inline-block;
	width: 2.3rem;
	height: 2.3rem;
	margin: 0;
	margin-right: 0.5rem;
	padding-top: 0.6rem;
}

.inner {
	max-width: 1055px;
	margin: 0 auto;
	position: relative;
}

.pcview {}

.spview {
	display: none !important;
}

.indent-1 {
	padding-left:1em;
	text-indent:-1em;
	display: block;
}

.indent-1-2 {
	padding-left:1.5em;
	text-indent:-1.5em;
	display: block;
}


/* main */

#mainContainer {
}

/* ---------------------------------------------------

	mainvisual

----------------------------------------------------- */

#mainvisual {
	background: url("../images/bg_mainvisual.png") center bottom no-repeat;
	background-size: cover;
	padding: 60px 0 95px;
	position: relative;
	z-index: 1;
}

#mainvisual .main_title {
	justify-content: center;
	position: relative;
	width: 800px;
	margin: 0 auto 20px;
	padding-left: 0.5em;
	font-size: 6rem;
	color: #f00;
	font-weight: bold;
}
/*
#mainvisual .main_title small {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.3rem;
	font-weight: bold;
	color: #fff;
	width: 145px;
	height: 50px;
	background: #f00;
}

#mainvisual .main_title small:nth-child(1) {
	position: absolute;
	top: 25px;
	left: 10px;
}

#mainvisual .main_title small:nth-child(2) {
	position: absolute;
	top: 25px;
	left: 170px;
}

#mainvisual .main_title span {
	font-size: 4.4rem;
	font-weight: bold;
	color: #f00;
}

#mainvisual .main_title strong {
	font-size: 10.0rem;
	font-weight: bold;
	color: #f00;
}

#mainvisual .main_title b {
	font-size: 7.4rem;
	font-weight: bold;
	color: #f00;
}
*/
#mainvisual h1 {
	text-align: center;
	font-size: 4.5rem;
	font-weight: bold;
	margin-bottom: 35px;
}

#mainvisual h1 span {
	color: #f00;
	font-size: 3.2rem;
	font-weight: bold;
	display: block;
}

#mainvisual h1 small {
	font-size: 3.5rem;
}

.box00 {
	display: flex;
	align-items: center;
	justify-content: center;
}

.box00 p {
	background: url("../images/bg_box00.png") no-repeat;
	width: 392px;
	height: 221px;
	font-size: 3.6rem;
	color: #0C419A;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
	padding: 15px 0 0 20px;
	box-sizing: border-box;
}

.box00 p span {
	display: block;
	text-align: center;
	color: #333;
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1.5;
}




/* ---------------------------------------------------

	sec01

----------------------------------------------------- */

#sec01 {
	background: url("../images/bg_sec01.gif") no-repeat;
	background-size: cover;
	position: relative;
	z-index: 0;
}

#sec01 .inner {
	padding: 75px 0 40px;
}

#sec01 h2 {
	font-size: 3.6rem;
	font-weight: bold;
	color: #004B9E;
	text-align: center;
	margin-bottom: 20px;
}

#sec01 p {
	margin-bottom: 25px;
}

#sec01 dl {
	width: 565px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
}

#sec01 .h3_b {
	width: 565px;
	font-size: 3.3rem;
	font-weight: bold;
	color: #004B9E;
	text-align: center;
	margin-bottom: 25px;
	background: url("../images/bg_tit01.png") 0 center no-repeat;
	background-size: 100% auto;
}

#sec01 dd {
	width: 272px;
	padding: 20px 0;
	background: #fff;
	border-radius: 10px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
	padding-left: 85px;
	box-sizing: border-box;
}

#sec01 dd:nth-child(1) {
	background: #fff url("../images/icon01.png") 15px center no-repeat;
}

#sec01 dd:nth-child(2) {
	background: #fff url("../images/icon02.png") 40px center no-repeat;
	padding-left: 114px;
}

#sec01 dd:nth-child(3) {
	background: #fff url("../images/icon03.png") 20px center no-repeat;
}

#sec01 dd:nth-child(4) {
	background: #fff url("../images/icon04.png") 5px center no-repeat;
	padding-left: 70px;
}

#sec01 dd strong {
	color: #004B9E;
	font-weight: bold;
}

#sec01 img {
	position: absolute;
	bottom: 0;
	right: 0;
}


/* ---------------------------------------------------

	sec02

----------------------------------------------------- */

#sec02 {
	margin-bottom: 25px;
}

#sec02 .inner {
	padding: 60px 0;
}

#sec02 h2 {
	font-size: 4.7rem;
	font-weight: bold;
	color: #004B9E;
	text-align: center;
	margin-bottom: 35px;
}

#sec02 ul {
	display: flex;
	justify-content: space-between;
}

#sec02 ul a:hover {
	opacity: 0.7;
}

#sec02 p {
	text-align: center;
	margin-top: 30px;
	font-size: 2.4rem;
}

.contactArea {
	padding: 100px 0 0;
}

.btn03 a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 710px;
	height: 80px;
	background: #004B9E;
	color: #fff;
	font-size: 3.6rem;
	font-weight: bold;
	border-radius: 50px;
	border-bottom: 7px solid #002652;
	margin: 40px auto 0;
}

.btn03 a:hover {
	text-decoration: none;
	border-top: 7px solid #fff;
	border-bottom: none;
}


/* ---------------------------------------------------

	sec03

----------------------------------------------------- */

#sec03 {
	background: #F5F5F5;
}

#sec03 h2 {
	text-align: center;
	margin-bottom: 55px;
}

#sec03 .inner {
    padding: 70px 0;
}

.box01 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 80px;
}

.box01 p {
	font-size: 2.4rem;
	margin-bottom: 30px;
}

.box01 li {
	font-size: 2.9rem;
	font-weight: bold;
	line-height: 1.4;
	background: url("../images/icon05.png") 0 10px no-repeat;
	padding-left: 60px;
	margin-bottom: 20px;
}

.box02 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.box02 .box02_contents {
	background: #fff;
	border: 1px solid #000;
	border-radius: 15px;
	width: 330px;
	box-sizing: border-box;
	padding: 100px 0 20px;
	position: relative;
}

.box02 .h3_w {
	position: absolute;
	top: -48px;
	left: 50%;
	margin-left: -126px;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	background: url("../images/bg_txt01.png") no-repeat;
	background-size: cover;
	width: 252px;
	height: 143px;
	box-sizing: border-box;
	padding-top: 30px;
}

.box02 dd {
	margin-bottom: 10px;
	line-height: 1.4;
}

.box02 dd:nth-child(1) {
	padding-left: 100px;
}

.box02 dd:nth-child(2) {
	text-align: center;
}

.box02 strong {
	font-size: 2.8rem;
	color: #FF0001;
}

.box02 .box02_contents:nth-child(1) {
	background: #fff url("../images/icon04.png") 30px 115px no-repeat;
}

.box02 .box02_contents:nth-child(2) {
	background: #fff url("../images/icon02.png") 15px 115px no-repeat;
}

.box02 .box02_contents:nth-child(2) dd:nth-child(1) {
	padding-left: 80px;
}

.box02 .box02_contents:nth-child(3) {
	background: #fff url("../images/icon01.png") 25px 120px no-repeat;
}


/* ---------------------------------------------------

	contactArea

----------------------------------------------------- */

.btn01 {
	margin-bottom: 80px;
}

.btn01 a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 710px;
	height: 145px;
	background: #FF0000 url("../images/icon07.png") 97% center no-repeat;
	color: #fff;
	font-size: 3.6rem;
	font-weight: bold;
	border-radius: 30px;
	border-bottom: 7px solid #970606;
	margin: 0 auto;
}

.btn01 a img {
	margin-right: 25px;
}

.btn01 a:hover {
	text-decoration: none;
	border-top: 7px solid #fff;
	border-bottom: none;
}

.box03 {
	background: #563A2F;
	padding: 30px 0 40px;
}

.box03 dl {
	width: 1055px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.box03 dl dt {
	margin: 0 0 30px;
	text-align: center;
	font-size: 2.8rem;
	font-weight: bold;
	color: #fff;
	border-bottom: 2px solid #fff;
	width: 100%;
}

.box03 dl dd:nth-child(2) {
	font-size: 7.3rem;
	font-weight: bold;
	color: #fff;
	background: url("../images/icon08.png") 0 10px no-repeat;
	padding-left: 55px;
	line-height: 1.0;
}

.box03 dl dd:nth-child(2) a {
	color: #fff;
}

.box03 dl dd:nth-child(2) small {
	color: #fff;
	display: block;
	font-size: 2.1rem;
	font-weight: normal;
	text-align: center;
	margin-top: 10px;
}

.box03 dl dd:nth-child(3) {
	width: 480px;
}

.box03 dl dd:nth-child(3) a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 480px;
	height: 80px;
	border: 3px solid #fff;
	border-radius: 10px;
	box-sizing: border-box;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	background: url("../images/mail_02.svg") 30px center no-repeat;
	padding-left: 70px;
}

.box03 dl dd:nth-child(3) a img {
	margin-right: 15px;
}

.box03 dl dd:nth-child(3) a:hover {
	text-decoration: none;
	background: #fff url("../images/mail_03.svg") 30px center no-repeat;
	color: #563A2F;
}

@media screen and (max-width: 959px) {
.box03 dl dd:nth-child(3) a:hover {
	background-position: left 7% center;
	background-size: 9.78vw auto;
	}
}

/* ---------------------------------------------------

	sec04

----------------------------------------------------- */

#sec04 {
	padding: 75px 0 85px;
	background: #f5f5f5;
}

#sec04 h2 {
	text-align: center;
	margin-bottom: 50px;
}

.box04 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.box04 .left p {
	font-size: 2.4rem;
	margin-bottom: 20px;
}

.box04 .left dl {
	margin-bottom: 20px;
}

.box04 .left dt {
	font-size: 3.0rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.box04 .left dd {
	font-size: 2.4rem;
	text-indent: -1em;
	margin: 0 0 10px 1em;
	line-height: 1.6;
}

.box04 .left ul {
	margin-bottom: 30px;
}

.box04 .left li {
	font-size: 2.9rem;
	font-weight: bold;
	line-height: 1.4;
	background: url("../images/icon05.png") 0 10px no-repeat;
	padding-left: 60px;
	margin-bottom: 20px;
}

.box04 .left p.txt01 {
	font-size: 4.8rem;
	font-weight: bold;
	line-height: 1.0;
	color: #f00;
	display: flex;
	align-items: center;
}

.box04 .left p.txt01 img {
	margin-right: 5px;
}

.box04 .right .box04_contents {
	background: #fff;
	border: 1px solid #000;
	border-radius: 15px;
	position: relative;
	margin-top: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 35px 0;
}

.box04 .right dl {
    display: flex;
    align-items: center;
    justify-content: center;
}

.box04 .right .h3_w {
	position: absolute;
	top: -110px;
	left: 10px;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	background: url("../images/bg_txt01.png") no-repeat;
	background-size: cover;
	width: 252px;
	height: 143px;
	box-sizing: border-box;
	padding-top: 30px;
}

.box04 .right dd {
	font-size: 3.0rem;
	font-weight: bold;
	color: #f00;
	line-height: 1.4;
	box-sizing: border-box;
	margin: 0 15px;
}

.box04 .right dd:nth-child(1) {
	background: url("../images/icon03.png") 0 center no-repeat;
	padding-left: 65px;
}

.box04 .right dd:nth-child(2) {
	background: url("../images/icon11.png") 0 center no-repeat;
	padding-left: 85px;
}


/* ---------------------------------------------------

	sec05

----------------------------------------------------- */

#sec05 .inner {
	padding: 60px 0;
}

#sec05 h2 {
	font-size: 3.6rem;
    font-weight: bold;
    color: #004B9E;
    text-align: center;
    margin-bottom: 35px;
}

.toggle {
	display: none;
}

.Label {		/*タイトル*/
	padding: 1em 3em 1em 2.2em;
	display: block;
	background:#f5f5f5;
	font-weight: bold;
}

.Label::before{		/*タイトル横のQ*/
	content:"Q";
	color: #004B9E;
	font-weight: bold;
	position: absolute;
	left: 1.2rem;
}

.Label::after{		/*タイトル横の矢印*/
	content:"";
	width: 0.6rem;
	height: 0.6rem;
	border-top: 2px solid #004B9E;
	border-right: 2px solid #004B9E;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 5px );
	right: 1.2rem;
	transform: rotate(135deg);
}

.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}

.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}

.toggle:checked + .Label::after {
	transform: rotate(-45deg) !important;
}

/* ---------------------------------------------------

	sec06

----------------------------------------------------- */

#sec06 .inner {
	padding: 60px 0;
}

#sec06 h2 {
	font-size: 3.6rem;
    font-weight: bold;
    color: #004B9E;
    text-align: center;
    margin-bottom: 35px;
}

#sec06 div.grid {
	display: grid;
	grid-template-columns:1fr 1fr 1fr 1fr 1fr;
}

#sec06 div {
	text-align: center;
}

#sec06 div p {
	background-color: #33333317;
	border-radius: 10px;
	width: 90%;
	margin: auto auto 1rem;
	font-weight: bold;
}



/* ---------------------------------------------------

	footer

----------------------------------------------------- */

footer {
	background-color: #00A27C;
    font-size: 1.3rem;
}

.wrap {
	max-width: 1160px;
    margin: 0 auto;
}

.corp_wrap01 {
	width: 17%;
}

.corp_wrap01 img {
	width: 100%;
}

.corp_wrap02 {
	padding: 25px 0;
	text-align: center;
	font-size: 2rem;
	margin: -8% auto 0;
}

.corp_wrap02 ul {
    justify-content: center;
    margin-bottom: 1.5em;
	display: flex;
}

.corp_wrap02 ul li {
    margin-right: 2em;
}

.corp_wrap02 ul li a,.corp_wrap02 p.copy {
    color: #fff;
}

.corp_wrap02 ul li a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 959px) {

html {
	font-size: 2.67vw;
}

body {
	width: 100%;
	font-size: 1.1rem;
	font-weight: 100;
}

#wrapper {
	padding-top: 10.67vw;
}

.inner {
	width: 100%;
	margin: 0;
	position: relative;
	padding: 0 5.87vw;
	box-sizing: border-box;
}

.pcview {
	display: none !important;
}

.spview {
	display: inherit !important;
}

/* header */

#headerContainer {
}

header {
	width: 100%;
    padding: 2.67vw 0 !important;
}

.main_header {
	width: 100%;
	height: 7.4vw;
}

header img {
    display: block !important;
    margin: 0 auto !important;
    height: 5.33vw !important;
    opacity: 1 !important;
}

.main_header img {
	display: block !important;
    margin: 0 auto 0 2%!important;
    width: 95%;
    opacity: 1 !important;
}

.header_inner {
	margin: auto 1.2%;
	height: 7.4vw;
}

#hamburger {
	position: relative;
	display: block;
	width: 3.9rem;
	height: 4rem;
	border-radius:10%;
	background-color: #ededed;
}

#hamburger span {
	position: absolute;
	top: 50%;
	left: 23%;
	display: block;
	width: 54%;
	height: 2px;
	background-color: #333;
	transform: translateY(-50%);
}

#hamburger::before {
	content: '';
	display: block;
	position: absolute;
	top: 28%;
	left: 23%;
	width: 54%;
	height: 2px;
	background-color: #333;
}

#hamburger::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 28%;
	left: 23%;
	width: 54%;
	height: 2px;
	background-color: #333;
}

.menu .close {
	position: relative;
	margin-top: 2%;
	margin-right: 3.7%;
}

.menu .close::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 1.9rem;
	height: 2px;
	background: #fff;
	transform: rotate( 45deg );
}

.menu .close::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 1.9rem;
	height: 2px;
	background: #fff;
	transform: rotate( -45deg );
}

.menu {
	z-index: 1;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: block;
	width: 100%;
	background: rgba(0, 0, 0, .8);
	transition: all .2s ease-in-out;
	opacity: 0;
	transform: translateX(100%);
}

.toggle {
	transform: translateX( 0 );
	opacity: 1;
}

nav.inner_r ul {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
}

.header_r ul li .phone div:nth-child(1) p {
    color: #00A27C;
    font-size: 1.5rem;
    font-weight: bold;
}

/* main */

#mainContainer {
}

/* ---------------------------------------------------

	mainvisual

----------------------------------------------------- */

#mainvisual {
	background: url("../images/bg_mainvisual.png") center bottom no-repeat;
	background-size: cover;
	padding: 6.52vw 5.87vw 13.03vw;
	position: relative;
	z-index: 1;

}

#mainvisual .main_title {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	width: 100%;
	margin: 0 auto 3.26vw;
	padding-left: 0;
	font-size: 4rem;
	text-align: center;
}

#mainvisual .main_title small {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
	font-weight: bold;
	color: #fff;
	width: 16.3vw;
	height: 5.88vw;
	background: #f00;
}

#mainvisual .main_title small:nth-child(1) {
	position: absolute;
	top: 4vw;
	left: 0;
}

#mainvisual .main_title small:nth-child(2) {
	position: absolute;
	top: 4vw;
	left: 18.67vw;
}

#mainvisual .main_title span {
	font-size: 1.9rem;
	margin-right: 3vw;
}

#mainvisual .main_title strong {
	font-size: 4.8rem;
}

#mainvisual .main_title b {
	font-size: 3.0rem;
	letter-spacing: -0.3em;
	display: block;
}

#mainvisual h1 {
	font-size: 3.2rem;
	margin-bottom: 5vw;
}

#mainvisual h1 span {
	font-size: 1.6rem;
}

#mainvisual h1 small {
	font-size: 2.6rem;
}

.box00 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.box00 img {
	order: 2;
	width: 100%;
}

.box00 p {
	order: 1;
	background: url("../images/sp_bg_box00.png") center bottom no-repeat;
	background-size: cover;
	width: 71vw;
	height: 44.5vw;
	font-size: 2.3rem;
	line-height: 1.4;
	padding: 2.5vw 0 0;
	margin-bottom: 3vw;
	box-sizing: border-box;
	text-align: center;
}

.box00 p span {
	font-size: 0.9rem;
    padding: 0.5rem;
}




/* ---------------------------------------------------

	sec01

----------------------------------------------------- */

#sec01 {
	background: url("../images/bg_sec01.gif") center top no-repeat;
	background-size: cover;
	position: relative;
	z-index: 0;
	margin-top: -19.56vw;
}

#sec01 .inner {
	padding: 14vw 0 13vw;
}

#sec01 h2 {
	font-size: 2.3rem;
	margin-bottom: 4vw;
}

#sec01 p {
	font-size: 1.5rem;
	text-align: center;
	margin-bottom: 6vw;
}

#sec01 dl {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 5.87vw;
	box-sizing: border-box;
}

#sec01 .h3_b {
	width: auto;
	font-size: 1.9rem;
	margin-bottom: 4vw;
	background: url("../images/bg_tit01.png") 0 center no-repeat;
	background-size: 100% auto;
    margin: auto 5.87vw 5vw;}

#sec01 dd {
	width: 48%;
	padding: 4vw 0;
	border-radius: 10px;
	font-size: 1.4rem;
	margin-bottom: 2.67vw;
	padding-left: 14.34vw;
}

#sec01 dd:nth-child(1) {
	background: #fff url("../images/sp_icon01.png") 3.25vw center no-repeat;
	background-size: 9.65vw auto;
}

#sec01 dd:nth-child(2) {
	background: #fff url("../images/sp_icon02.png") 6.51vw center no-repeat;
	background-size: 8.87vw auto;
	padding-left: 18.25vw;
}

#sec01 dd:nth-child(3) {
	background: #fff url("../images/sp_icon03.png") 3.25vw center no-repeat;
	background-size: 8.47vw auto;
}

#sec01 dd:nth-child(4) {
	background: #fff url("../images/sp_icon04.png") 1.3vw center no-repeat;
	background-size: 9vw auto;
	padding-left: 11.73vw;
}

#sec01 img {
	display: none;
}


/* ---------------------------------------------------

	sec02

----------------------------------------------------- */

#sec02 .inner {
	padding: 10.43vw 0 0;
}

#sec02 h2 {
	font-size: 2.7rem;
	margin-bottom: 9.12vw;
}

#sec02 ul {
	display: block;
}

#sec02 ul a:hover {
	opacity: 0.7;
}

#sec02 ul img {
	width: 100%;
}

#sec02 p {
    font-size: 1.5rem;
    text-align: center;
	padding: 0 5.87vw;
}

.btn03 {
	margin-bottom: 11.08vw;
    padding: 0 5.87vw;
}

.btn03 a {
    width: 100%;
    height: 13.25vw;
    font-size: 1.7rem;
	margin-top: 3rem;
}

/* ---------------------------------------------------

	sec03

----------------------------------------------------- */

#sec03 {
	background: #F5F5F5;
}

#sec03 .inner {
    padding: 7.82vw 5.87vw 10.43vw;
}

#sec03 h2 {
	text-align: center;
	margin-bottom: 5.21vw;
}

#sec03 h2 img {
	width: 100%;
}

.box01 {
	display: block;
	margin-bottom: 15vw;
}

.box01 p {
	font-size: 1.5rem;
	margin-bottom: 4.56vw;
	text-align: center;
}

.box01 img {
	width: 100%;
	display: block;
	margin-bottom: 5.21vw;
}

.box01 li {
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.4;
	background: url("../images/icon05.png") 2vw 2.5vw no-repeat;
	background-size: 6.51vw auto; 
	padding: 2vw 0 2vw 10vw;
	margin-bottom: 0;
}

.box02 {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
}

.box02 .box02_contents {
	border-radius: 2.67vw;
	width: 48%;
	padding: 13.03vw 0 2.6vw;
	margin: 0 1%;
}

.box02 .h3_w {
	top: -10.51vw;
	left: 50%;
	margin-left: -20.25vw;
	font-size: 1.55rem;
	background: url("../images/bg_txt01.png") no-repeat;
	background-size: cover;
	width: 40.5vw;
	height: 22.9vw;
	padding-top: 5.5vw;
}

.box02 dd {
	margin-bottom: 1.3vw;
	font-size: 1.2rem;
}

.box02 dd:nth-child(1) {
	padding-left: 13.03vw;
}

.box02 dd:nth-child(2) {
	text-align: center;
}

.box02 strong {
	font-size: 1.4rem;
	color: #FF0001;
}

.box02 .box02_contents:nth-child(1) {
	background: #fff url("../images/icon04.png") 4.09vw 15.08vw no-repeat;
	background-size: 7.04vw auto;
}

.box02 .box02_contents:nth-child(2) {
	background: #fff url("../images/icon02.png") 1.4vw 15.2vw no-repeat;
	background-size: 7.17vw auto;
}

.box02  .box02_contents:nth-child(2) dd:nth-child(1) {
	padding-left: 11.08vw;
}

.box02 .box02_contents:nth-child(3) {
	background: #fff url("../images/icon01.png") 3.73vw 16vw no-repeat;
	background-size: 7.82vw auto;
	margin-top: 12.47vw;
}


/* ---------------------------------------------------

	contactArea

----------------------------------------------------- */

.btn01 {
	margin-bottom: 11.08vw;
	padding: 0 5.87vw;
}

.btn01 a {
	width: 100%;
	height: 18.25vw;
	background: #FF0000 url("../images/icon07.png") 95% center no-repeat;
	background-size: 3.91vw auto;
	font-size: 1.7rem;
	border-radius: 4vw;
	border-bottom: 2vw solid #970606;
}

.btn01 a img {
	width: 7.82vw;
	margin-right: 3.5vw;
}

.btn01 a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.box03 {
	padding: 3.91vw 0 6.52vw;
}

.box03 dl {
	width: 100%;
	padding: 0 5.87vw;
	box-sizing: border-box;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.box03 dl {
	margin-top: 3%;
}

.box03 dl dt {
	margin: 0 0 3.91vw;
	font-size: 1.6rem;
	width: 100%;
	font-weight: bold;
    color: #fff;
    border-bottom: 2px solid #fff;
	text-align: center;
}

.box03 dl dd:nth-child(2) {
	font-size: 4.0rem;
	background: url("../images/icon08.png") 4vw 1.5vw no-repeat;
	background-size: 6.82vw auto;
	padding-left: 13.03vw;
	color: #fff;
	font-weight: bold;
	line-height: 1;
}

.box03 dl dd:nth-child(2) small {
	color: #fff;
    display: block;
    font-weight: normal;
    text-align: center;
	font-size: 1.3rem;
	margin-top: 3vw;
}

.box03 dl dd:nth-child(3) ,.box03 dl dd:nth-child(4) ,.box03 dl dd:nth-child(5) {
	width: 100%;
	margin-top: 4vw;
}

.box03 dl dd:nth-child(3) a  {
	width: 75.62vw;
	height: 12.38vw;
	margin: 0 auto;
	border: 2px solid #fff;
	border-radius: 10px;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	background-size: 9.78vw auto;
	background-position: left 7% center;
    padding-left: 13.67vw;
	display: flex;
    align-items: center;
    justify-content: center;
	text-decoration: none;
}

.box03 dl dd:nth-child(4) a {
	width: 75.62vw;
	height: 12.38vw;
	margin: 0 auto;
	border: 2px solid #fff;
	border-radius: 10px;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	display: flex;
    align-items: center;
    justify-content: center;
	text-decoration: none;
}

.box03 dl dd:nth-child(5) a {
	width: 75.62vw;
	height: 12.38vw;
	margin: 0 auto;
	border: 2px solid #fff;
	border-radius: 10px;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	display: flex;
    align-items: center;
    justify-content: center;
	text-decoration: none;
}

.contactArea {
    padding: 11.08vw 0 0;
}

/* ---------------------------------------------------

	sec04

----------------------------------------------------- */

#sec04 {
	padding: 8.47vw 0 12.39vw;
}

#sec04 h2 {
	text-align: center;
	margin-bottom: 3.3vw;
}

#sec04 h2 img {
	width: 100%;
}

.box04 {
	display: block;
}

.box04 .left p {
	font-size: 1.5rem;
	margin-bottom: 6.52vw;
	text-align: center;
}

.box04 .left dl {
	margin-bottom: 9.13vw;
}

.box04 .left dt {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 1.3vw;
	text-align: center;
}

.box04 .left dd {
	font-size: 1.5rem;
	text-indent: -1em;
	margin: 0 0 10px 1em;
	line-height: 1.6;
	text-align: center;
}

.box04 .left img {
	width: 100%;
	display: block;
	margin-bottom: 4.5vw;
}

.box04 .left ul {
	margin-bottom: 2.67vw;
}

.box04 .left li {
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.4;
	background: url("../images/icon05.png") 7vw 2.5vw no-repeat;
	background-size: 6.51vw auto; 
	padding: 2vw 0 2vw;
	margin-bottom: 0;
	text-align: center;
}

.box04 .left p.txt01 {
	font-size: 2.4rem;
	justify-content: center;
	align-items: center;
	line-height: 1.0;
}

.box04 .left p.txt01 img {
	margin-right: 2.67vw;
	width: 8.47vw;
	margin-bottom: 0;
}

.box04 .right .box04_contents {
	border-radius: 3vw;
	position: relative;
	margin-top: 20.95vw;
	padding: 5.22vw 0;
}

.box04 .right .h3_w {
	position: absolute;
	top: -17.34vw;
	left: 50%;
	margin-left: -20.25vw;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	background: url("../images/bg_txt01.png") no-repeat;
	background-size: cover;
	width: 40.5vw;
	height: 22.9vw;
	box-sizing: border-box;
	padding-top: 5.0vw;
}

.box04 .right dd {
	font-size: 1.5rem;
	margin: 0 2.67vw;
}

.box04 .right dd:nth-child(1) {
	background: url("../images/icon03.png") 0 center no-repeat;
	background-size: 6.51vw auto;
	padding-left: 8.47vw;
}

.box04 .right dd:nth-child(2) {
	background: url("../images/icon11.png") 0 center no-repeat;
	background-size: 9.13vw auto;
	padding-left: 11.08vw;
}


/* ---------------------------------------------------

	sec05

----------------------------------------------------- */

#sec05 .inner {
	padding: 7.82vw 5.87vw 32.43vw;
}

#sec05 h2 {
    font-size: 2.3rem;
    margin-bottom: 6vw;
}

#sec03::before,#sec05::before {
    display: block;
    padding-top: 2rem;
    margin-top: 0rem;
    content: "";
}

#sec04::before {
    display: block;
    padding-top: 5rem;
    margin-top: -3rem;
    content: "";
}

/* ---------------------------------------------------

	sec06

----------------------------------------------------- */

#sec06 .inner {
	padding: 7.82vw 5.87vw 0;
}

#sec06 h2 {
    font-size: 2.3rem;
    margin-bottom: 6vw;
}

#sec06 div.grid {
	display: grid;
	grid-template-columns:1fr 1fr;
}

#sec06 div {
    margin-top: 2em;
}


/* ---------------------------------------------------

	footer

----------------------------------------------------- */

.wrap {
    padding-left: 5.3%;
    padding-right: 5.3%;
	padding-top: 3%;
}

.corp_wrap01 {
	width: 26%;
}

.corp_wrap02 {
    padding: 1rem 0;
    font-size: 1.5rem;
}

.corp_wrap02 ul {
    display: flex;
	justify-content: flex-start;
    flex-wrap: wrap;
    text-align: center;
    font-size: 100%;
    text-decoration: underline;
    line-height: 1.5;
	padding: 1rem 0;
    font-size: 1.4rem;
    width: 77%;
    margin: -14% 0 1rem 23%;
    justify-content: space-between;
}

.corp_wrap02 ul li {
    margin-right: 0;
    width: 49%;
}

.corp_wrap02 p.copy {
	font-size: 1.4rem;
}

}



@media screen and (max-width: 559px) {/*スマホ*/}


@media screen and (min-width: 960px) {/*PC*/

	#sec03::before,#sec05::before {
		display: block;
		padding-top: 2rem;
		margin-top: -3rem;
		content: "";
	}

	#sec04::before {
		display: block;
		padding-top: 5rem;
		margin-top: -3rem;
		content: "";
	}

}

@media screen and (max-width: 1100px) and (min-width: 960px) {

	.inner {
		max-width: 96%;
	}

	.map {
		width: 59%;
	}

	.header_contents:nth-child(1) {
		width: 30%;
	}

	.header_contents:nth-child(2) {
		width: 70%;
	}

	.header_r {
		max-width: 96%;
		float: right;
	}

	.box03 dl {
		width: 96%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	#sec01 img {
		width: 38%;
	}

	.box03 dl dd:nth-child(2) {
		font-size: 5.8rem;
	}

	.box03 dl dd:nth-child(3) a {
		width: 92%;
		background: url(../images/icon09.png) 15px center no-repeat;
		float: right;
	}

	.box02 .box02_contents {
		width: 32%;
	}

	.box02 strong {
		font-size: 2.6rem;
	}
}