@charset "utf-8";

/*------------------------------------------------
reset
--------------------------------------------------*/
html, body, header, footer, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, address , abbr, acronym, aress, article, aside, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp, section,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, nav,
dl, dt, dd , ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, button,
hr{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size:inherit;
	background: transparent;
	font-weight:inherit;
	text-decoration:none;
	font-family:inherit;
	color:inherit;
	box-sizing:border-box;
	font-style:normal;
	text-align:left;
	list-style: none;
	position:relative;
	line-height:1;
}

body{
	font-size: 18px;
    font-family: ten-mincho, "游明朝", YuMincho,'Noto Serif JP',  "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 400;
    font-style: normal;
	position: relative;
	color: #FFF;
    background-color: #000;
}
img{
	vertical-align:bottom;
	max-width:100%;
}
img.maxWidthNone{
	max-width:none;
}
p,th,td{
    line-height:2.2;
}
a,
.pointer,
button,
input[type="submit"]{
    cursor: pointer;
    transition: opacity 0.3s ease;
}
a:hover,
.pointer:hover,
button:hover,
input[type="submit"]:hover{
    opacity: 0.8;
}
input[type="text"],
input[type="email"],
input[type="date"],
textarea,
select{
	font-size:inherit;
	font-family:inherit;
	font-weight:inherit;
	-webkit-appearance:none;
	appearance:none;
	background-color:#FFFFFF;
	height: auto;
    box-sizing: border-box;
	border: none;
}
input[type="submit"],
input[type="reset"]{
	font-size:inherit;
	font-family:inherit;
	font-weight:inherit;
	-webkit-appearance:none;
	appearance:none;
	border: none;
}
p a{
	display: inline-block;
	border-bottom: 1px solid #FFF;
}

/*------------------------------------------------
layout
--------------------------------------------------*/
.anchor{
	margin-top: -80px;
	padding-top: 80px;
	display: block;
	position: relative;
	z-index: -9999;
}
.left{ float:left;}
.right{ float:right;}
.absolute{
	position:absolute;
}
.flexStart{
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	-ms-flex-wrap:wrap;/*IE10*/
	-webkit-flex-wrap:wrap;/*PC-Safari,iOS8.4*/
	flex-wrap:wrap;
}
.flexCenter{
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	-ms-flex-wrap:wrap;/*IE10*/
	-webkit-flex-wrap:wrap;/*PC-Safari,iOS8.4*/
	flex-wrap:wrap;
	-webkit-box-pack: center; /*Android4.3*/
	-moz-box-pack: center;    /*Firefox21*/
	-ms-flex-pack: center;    /*IE10*/
	-webkit-justify-content: center; /*PC-Safari,iOS8.4*/
	justify-content: center;
}
.flexEnd{
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	-ms-flex-wrap:wrap;/*IE10*/
	-webkit-flex-wrap:wrap;/*PC-Safari,iOS8.4*/
	flex-wrap:wrap;
	-webkit-justify-content:flex-end;         /* Safari etc. */
	-ms-justify-content:flex-end;         /* IE10        */
	justify-content:flex-end;
}
.flexSpace{
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	-ms-flex-wrap:wrap;/*IE10*/
	-webkit-flex-wrap:wrap;/*PC-Safari,iOS8.4*/
	flex-wrap:wrap;
	-webkit-box-pack: justify; /*Android4.3*/
	-moz-box-pack: justify;    /*Firefox21*/
	-ms-flex-pack: justify;    /*IE10*/
	-webkit-justify-content: space-between; /*PC-Safari,iOS8.4*/
	justify-content: space-between;
}
.flexReverse{
	flex-direction: row-reverse;
}
.container1080{
	width: 1080px;
	margin:0 auto;
}
.objectfit{
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.red{
    color: #C1272D;
}
@-moz-document url-prefix(){
    .white{
        color: transparent;
        background-color: #FFF;
        -webkit-background-clip: text;
        background-clip: text;
    }
    .red{
        color: transparent;
        background-
        -webkit-background-clip: text;
        background-clip: text;
    }
}
.anchor{
	margin-top: -70px;
	padding-top: 70px;
	display: block;
	position: relative;
	z-index: -9999;
}
.mailAddress{
    display: inline-block;
    background: url("../images/common/mailAddress.png");
    background-size: 100%;
    width: 254px;
    height: 20px;
    text-indent: -9999px;
    vertical-align: middle;
}

/*------------------------------------------------
header
--------------------------------------------------*/
#header{
    background: url("../images/common/header_bg.png") repeat-x center top;
    height: 180px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    min-width: 1120px;
}
.headerLogo{
    width: 100px;
    margin-right: 60px;
}
.headerLogo a{
    background: url("../images/common/logo01.png") no-repeat;
    background-size: 100%;
    display: block;
    text-indent: -9999px;
    height: 100px;
}
#headerMenu{
    margin-top: 40px;
}
#header.fixed{
    position: fixed;
    background: rgba(255,255,255,1);
    top: 0;
    left: 0;
    height: 70px;
    min-width: 1080px;
    animation: headerFixed 0.5s ease;
}
@keyframes headerFixed{
    0%{
        top: -70px;
    }
    100%{
        top: 0;
    }
}
#header.fixed .headerLogo{
    width: 70px;
}
#header.fixed .headerLogo a{
    width: 70px;
    height: 70px;
}
#header.fixed #headerMenu{
    margin-top: 25px;
    color: #000;
}
@-moz-document url-prefix(){
    #header.fixed #headerMenu .mainMenu li a span{
        background-color: #000;
    }
}

/*------------------------------------------------
mainMenu
--------------------------------------------------*/
.mainMenu li{
    margin: 0 20px;
}
.mainMenu li a{
    font-size: 20px;
    letter-spacing: 0.1em;
    position: relative;
    display: block;
    padding-bottom: 10px;
}
.mainMenu li a:hover{
    opacity: 1;
}
.mainMenu li a span{
    transition: opacity 0.3s ease;
}
.mainMenu li a:hover span{
    opacity: 0.8;
}
.mainMenu li a:hover:before{
    content: "";
    display: block;
    height: 5px;
    width: 100%;
    background-color: #005AAB;
    position: absolute;
    bottom: 0;
    left: 0;
    animation: mainMenuHover 0.3s ease;
}
@keyframes mainMenuHover{
    0%{
        width: 0;;
    }
    100%{
        width: 100%;
    }
}




/*------------------------------------------------
common
--------------------------------------------------*/
.section01{
    padding-top: 100px;
    overflow: hidden;
}
.tategaki{
	writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
	display:inline-block;
}
.box01{
	position: relative;
}
.box01 .image{
	top: 0;
	left: calc(50% - 1000px);
	width: 2000px;
}

.box01 .text{
	top: 50%;
	transform: translateY(-50%);
	width: 670px;
}
.box01 .text .num{
	text-align: center;
	width: 130px;
	height: 90px;
	line-height: 90px;
	font-size: 30px;
	display: inline-block;
	background: url("../images/home/box01_num.png") no-repeat;
}
.box01 .text .title{
	display: inline-block;
	font-size: 46px;
	height: 90px;
	line-height: 90px;
	letter-spacing: 0.1em;
	margin-left: 35px;
}
.box01 .text h4{
	margin: 50px 0;
	font-size: 28px;
	letter-spacing: 0.1em;
	line-height: 1.8;
}
.list01 li{
	width: 330px;
}
.list01Title{
	font-size: 24px;
	text-align: center;
	letter-spacing: 0.1em;
	margin: 30px 0 30px;
	padding-bottom: 30px;
	position: relative;
}
.list01Title:after{
	content: "";
	display: block;
	width: 70px;
	height: 1px;
	background-color: #FFF;
	position: absolute;
	bottom: 0;
	left: calc(50% - 35px);
}
.gmap iframe{
    width: 100%;
    height: 375px;
}
.gmap_btn{
    background-color: rgba(0,90,171,0.28);
    display: block;
    margin: 40px auto 0;
    width: 460px;
    height: 60px;
    border-radius: 5px;
    line-height: 60px;
    text-align: center;
}
.gmap_btn:before{
    content: "";
    display: inline-block;
    background: url("../images/common/gmap_btn.png") no-repeat center center;
    background-size: 100%;
    width: 35px;
    height: 60px;
    vertical-align: top;
    margin-right: 20px;
}


/*------------------------------------------------
home
--------------------------------------------------*/
#mainVisual{
    height: 100vh;
    width: 100%;
	position: relative;
}
@media screen and (orientation: portrait) {
    #mainVisual{
        height: auto;
    }
}
.mainVisual_logo{
	position: absolute;
	width: 481px;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 9;
}
#home01{
    background: url("../images/home/home01_bg.jpg") no-repeat center top;
}
#home01 h2{
    font-size: 57px;
    text-align: center;
    background: url("../images/home/home01_h2.png") no-repeat center bottom;
    background-size: 94px;
    padding-bottom: 300px;
}
#home01 h2 *{
	font-style: italic;
}
#home01 h2 em{
    display: block;
    text-align: center;
    font-size: 80px;
    margin-top: 20px;
}
#home01 h2 + p{
    text-align: center;
    margin: 30px 0 100px;
    font-size: 20px;
    
}
.home01_images{
    height: 350px;
    position: relative;
    overflow: hidden;
    width: 100%;
}
.home01_images ul{
    height: 350px;
    width: 2000px;
    position: absolute;
    top: 0;
    left: calc(50% - 1000px);
}
#home02{
	background: url("../images/home/home02_bg01.png") no-repeat center top;
	min-height: 1080px;
}
#home02 h2{
	background: url("../images/home/home02_h2.png") no-repeat center center;
	font-size: 40px;
	letter-spacing: 0.1em;
	text-align: center;
	line-height: 1.6;
}
#home02 p{
	text-align: center;
    margin: 30px 0;
}
#home02 p span.fs-big{
	font-size: 130%;
}
#home02 img.box01_num_min{
	display: block;
	margin: 0 auto;
	max-width: 45px;
}
#home02 .slider-wrapper {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
	margin-top: 100px;
}
/* スライド3枚のグループ */
#home02 .slider {
  display: flex;
  flex-shrink: 0;
  width: max-content;
  padding: 0;
  margin: 0;
  list-style: none;
  animation: scroll-left 80s linear infinite;
	align-items: center;
    column-gap: 30px;
}
/* スライド */
#home02 .slide {
  /*flex: 0 0 calc(100vw / 5);*/
}
/* スライドの画像 */
#home02 .slide img {
  display: block;
  width: 100%;
  height: auto;
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

#home03 h2{
	background: url("../images/home/home03_h2.png") no-repeat center center;
	font-size: 54px;
	letter-spacing: 0.1em;
	text-align: center;
}
#home03 h2 + p{
	text-align: center;
	margin-top: 40px;
}
#home04 .box01{
	height: 700px;
}
#home04 .box01 .text{
	left: 50%;
}
#home05{
	margin-bottom: 100px;
}
#home05 .box01{
	height: 602px;
	margin-bottom: -40px;
}
#home05 .box01 .text{
	left: calc(50% - 540px);
}
#home06{
    background-color: #151515;
}
#home06 .box01{
    height: 730px;
    overflow: hidden;
}
#home06 .box01 .text{
    left: calc(50% + 100px);
}
#home06 dl{
    background-color: rgba(0,90,171,0.28);
    width: 440px;
    padding: 25px;
    margin-top: 30px;
}
#home06 dl dt{
    text-align: center;
    letter-spacing: 0.1em;
}
#home06 dl dd{
    text-align: center;
    letter-spacing: 0.1em;
    margin-top: 20px;
    font-size: 28px;
}
#home07{
    padding-bottom: 100px;
    overflow: hidden;
}
#home07 .container1080{
    overflow: visible;
}
#home07 .home07_left{
    width: 60px;
    position: relative;
    overflow: visible;
    z-index: 99;
}
#home07 .home07_left h2{
    font-size: 54px;
    letter-spacing: 0.1em;
    text-align: center;
    background: url("../images/home/home07_h2.png") no-repeat center top;
    height: 625px;
    padding-top: 110px;
}
#home07 .home07_left p{
    width: 230px;
    height: 230px;
    border: 1px solid #FFF;
    border-radius: 100%;
    text-align: center;
    padding-top: 80px;
    left: -85px;
}
.home07_right{
    width: 950px;
    padding-top: 100px;
    overflow: visible;
}
.home07List{
    padding: 30px 50px;
    position: relative;
    overflow: visible;
    margin-top: 35px;
}
.home07List:before{
    content: "";
    display: block;
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #232323;
}
.home07List dl{
    width: 100%;
}
.home07List dl dt{
    font-size: 24px;
    margin-bottom: 10px;
}
.home07List dl dt:before{
    content: "◎ ";
}
.home07List dl dd{
    margin-top: 18px;
    padding-left: 15px;
}
.home07List dl dd:before{
    content: "・";
}
.home07List dl div.flexStart dd{
    width: 25%;
}
.home07List dl:nth-of-type(n + 3){
    margin-top: 50px;
}
#home08{
    padding-bottom: 100px;
}
.home08Box{
    border: 1px solid #FFF;
    width: 1280px;
    margin: 0 auto;
    max-width: calc(100% - 100px);
    min-width: 1080px;
    padding: 0 100px 75px;
    position: relative;
    overflow: visible;
}
.home08Box h2{
    text-align: center;
    background: url("../images/home/home08_h2.png") no-repeat center center;
    font-size: 54px;
    height: 60px;
    margin-top: -30px;
    line-height: 60px;
    letter-spacing: 0.1em;
}
.home08_p01{
    text-align: center;
    margin-top: 30px;
}
.home08_p02{
    text-align: center;
    font-size: 16px;
}
#home09{
    padding-bottom: 100px;
}
#home09 h2{
    font-size: 54px;
    text-align: center;
    background: url("../images/home/home09_h2.png") no-repeat center center;
    letter-spacing: 0.1em;
}
.home09Table{
    margin: 60px auto 40px;
}
.home09Table table{
    width: 525px;
    border-collapse: collapse;
}
.home09Table table th{
    padding: 10px 0;
    width: 120px;
    vertical-align: top;
    border-bottom: 4px solid #333333;
}
.home09Table table td{
    padding: 10px 0 10px 10px;
    vertical-align: top;
    border-bottom: 1px solid #333333;
}
.home09Table table td small{
    font-size: 15px;
}

/*------------------------------------------------
mailForm
--------------------------------------------------*/
.mailForm h3{
    font-size: 20px;
    margin: 50px 0 10px;
}
.mailFormList li{
    margin-top: 20px;
}
.mailForm textarea{
    height: 120px;
    padding: 10px;
    width: 100%;
}
.mailForm h4{
    margin: 35px 0 10px;
}
.mailForm input[type="text"],
.mailForm input[type="email"]{
    width: 100%;
    padding: 10px;
}
.mailFormBtn{
    background-color: rgba(0,90,171,0.28);
    display: block;
    margin: 40px auto 0;
    width: 460px;
    height: 60px;
    border-radius: 5px;
    line-height: 60px;
    text-align: center;
    border: none;
	max-width: 100%;
}
.mailFormBtn:after{
    content: "";
    display: inline-block;
    width: 9px;
    height: 60px;
    vertical-align: top;
    margin-left: 20px;
    background: url("../images/common/arrow01_right_white.png") no-repeat center center;
    background-size: 100%;
}
.mailFormBtn:disabled{
    opacity: 0.5;
    cursor: inherit;
}
.mailFormBtn:disabled:hover{
    opacity: 0.5;
    cursor: inherit;
}
.mailForm .g-recaptcha{
    text-align: center;
    margin-top: 40px;
}
.mailForm .g-recaptcha > div{
    display: inline-block;
}
/*------------------------------------------------
thanks
--------------------------------------------------*/
#thanks01{
    padding-top: 200px;
    padding-bottom: 150px;
}
#thanks01 h2{
    font-size: 40px;
    line-height: 1.6;
    text-align: center;
    background: url("../images/contact/thanks01_h2.png") no-repeat center center;
    letter-spacing: 0.1em;
}
#thanks01 h2 + p{
    margin: 40px 0;
    text-align: center;
}
.thanks01Btn{
    background-color: rgba(0,90,171,0.28);
    display: block;
    margin: 0 auto;
    width: 460px;
    height: 60px;
    border-radius: 5px;
    line-height: 60px;
    text-align: center;
    border: none;
	max-width: 90%;
}
.thanks01Btn:after{
    content: "";
    display: inline-block;
    width: 9px;
    height: 60px;
    vertical-align: top;
    margin-left: 20px;
    background: url("../images/common/arrow01_right_white.png") no-repeat center center;
    background-size: 100%;
}

/*------------------------------------------------
footer
--------------------------------------------------*/
#footer{
    background: url("../images/common/footer_bg.jpg") no-repeat center top;
    padding: 100px 0;
}
.footer_p01{
    font-size: 95px;
    line-height: 1.5;
}
#footer address{
    background: url("../images/common/footer_address.png") no-repeat left top;
    background-size: 106px;
    height: 310px;
    line-height: 2.6;
    padding-top: 40px;
    padding-left: 160px;
    margin: 70px 0 120px;
}
.copyright{
    text-align: center;
    letter-spacing: 0.1em;
    opacity: 0.6;
    margin-top: 70px;
}
#totop{
    position: fixed;
    width: 70px;
    height: 70px;
    bottom: 30px;
    right: 30px;
    z-index: 99;
    opacity: 0;
    visibility: hidden;
}
#totop.active{
    opacity: 1;
    visibility: visible;
    animation: totop 0.5s ease;
}
@keyframes totop{
    0%{
        opacity: 0;
        visibility: visible;
    }
    100%{
        opacity: 1;
    }
}
#totop a{
    display: block;
    height: 70px;
    background: url("../images/common/totop.png");
    background-size: 100%;
    text-indent: -9999px;
}
#fixedVideoBtn{
    position: fixed;
    width: 350px;
    height: 70px;
    bottom: 30px;
    right: 125px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
}
#fixedVideoBtn.active{
    opacity: 1;
    visibility: visible;
    animation: totop 0.5s ease;
}
#fixedVideoBtn a{
    display: block;
    background: url("../images/common/fixedVideoBtn.png") no-repeat right top;
    height: 68px;
    line-height: 68px;
    padding-left: 25px;
    font-size: 20px;
    border: 1px solid #484848;
}


/*------------------------------------------------
sp
--------------------------------------------------*/
.sp,
#spMenu,
#spMenuOpen{
	display: none;
}
@media screen and (max-width: 480px){
	.pc{
        display: none;
    }
	.sp{
        display: block;
    }
	html {
		overflow: auto;
		height: 100%;
	}
	body{
		-webkit-text-size-adjust: 100%;
	}
	body.scrollnone{
		overflow:hidden !important;
		height:100% !important;
	}
	img{
        width: 100%;
    }
	a:hover,
	.pointer:hover,
	button:hover,
	input[type="submit"]:hover{
		opacity: 1;
	}

	/*------------------------------------------------
	common
	--------------------------------------------------*/
	.container1080{
		width:100%;
		margin:0;
		padding:0 5%;
        min-width: 0;
        max-width: 100%;
	}
	.absolute{
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		transform: translate(0,0) !important;
		margin: 0 !important;
	}
	p{
		line-height: 1.6;
	}
	a:hover{
		opacity: 1;
	}

	/*------------------------------------------------
	header
	--------------------------------------------------*/
    #header,
	#header.fixed{
        position: fixed;
        height: 70px;
        width: 100%;
        min-width: 0 !important;
		background: url("../images/common/sp/header_bg.png") repeat-x center top;
		background-size: auto 100%;
		background-color: transparent !important;
        top: 0;
        left: 0;
		animation: none;
    }
    #header .headerLogo{
        width: 70px;
        margin: 0 auto 0 2.5vw;

    }
    #header .headerLogo a{
        width: 70px;
        height: 70px;
    }
    #header #headerMenu{
        display: none;
    }
	#spMenuOpen{
		display: inline-block;
		position: absolute;
		top: 20px;
		right: 2.5vw;
		width: 30px;
		height: 30px;
		background: url("../images/common/sp/spMenuOpen.png") no-repeat;
		background-size: 100%;
		text-indent: -9999px;
	}
	#spMenuOpen.close{
		background-image: url("../images/common/sp/spMenuClose.png");
	}
	/*------------------------------------------------
	common
	--------------------------------------------------*/
	.section01{
		padding-top: 30px;
	}
	.box01{
		height: auto !important;
		margin: 0 !important;
	}
	.box01 .image{
		width: 100%;
	}
	.box01 .text{
		width: 100%;
		padding: 5vw;
	}
	.box01 .text .num{
		width: 80px;
		height: 56px;
		line-height: 56px;
		font-size: 20px;
		background-size: 100%;
	}
	.box01 .text .title{
		height: 56px;
		line-height: 56px;
		font-size: 28px;
		margin-left: 15px;
	}
	.box01 .text h4{
		font-size: 24px;
		margin: 20px 0;
	}
	.list01 li{
		width: 100%;
	}
	.list01 li + li{
		margin-top: 30px;
	}
	.sp_tategaki_cancel{
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
	}

	/*------------------------------------------------
	home
	--------------------------------------------------*/
    #mainVisual{
        width: 100%;
        height: 130vw;
    }
	.mainVisual_logo{
		width: 40%;
	}
	#home01 h2{
		padding-bottom: 250px;
	}
	#home01 h2 + p{
		margin: 30px 0;
		padding: 0 5vw;
		text-align: left;
		font-size: 18px;
	}
    .home01_images{
		overflow: hidden;
		height: auto;
	}
	.home01_images ul{
		width: 100%;
		height: auto;
		position: relative;
		top: auto;
		left: auto;
	}
	.home01_images ul li{
		width: 50%;
	}
	.home01_images ul li:nth-child(n + 3){
		width: calc(100% / 3);
	}
	#home02{
		min-height: 0;
		margin-bottom: 0;
		padding-bottom: 30px;
	}
	#home02 h2{
		font-size: 25px;
		padding: 0 5vw;
	}
	#home02 p{
		padding: 0 5vw;
	}
	#home02 p span.fs-big{
		font-size: 120%;
	}
	#home02 .slider-wrapper{
		margin-top: 30px;
	}
	
	#home03 h2{
		font-size: 30px;
		background-size: 1200px;
	}
	#home03 h2 + p{
		text-align: left;
		padding: 0 5vw;
		margin-top: 30px;
	}
	#home05{
		margin-bottom: 50px;
	}
	#home06 dl{
		width: 100%;
	}
	#home07 .container1080{
		padding: 30px 0;
	}
	#home07 .home07_left{
		width: 100%;
	}
	#home07 .home07_left h2{
		width: 100%;
		font-size: 30px;
		background: url("../images/home/home03_h2.png") no-repeat center center;
		background-size: 1200px;
		height: auto;
		padding-top: 0;
	}
	#home07 .home07_left p{
		margin: 30px auto !important;
		width: 90%;
		height: 3em;
		line-height: 3em;
		padding-top: 0;
		border-radius: 0;
	}
	#home07 .home07_left p br{
		display: none;
	}
	.home07_right{
		width: 100%;
		padding: 0 5vw;
	}
	.home07List{
		width: 100%;
		padding: 5vw 0 5vw 5vw;
		margin-top: 20px;
	}
	.home07List dl{
		width: 100%;
	}
	.home07List dl + dl{
		margin-top: 40px;
	}
	.home07List dl dt{
		font-size: 20px;
	}
	.home07List dl dd{
		padding-left: 0;
		font-size: 16px;
	}
	.home07List dl div.flexStart dd{
		width: 50%;
	}
	#home07{
		padding-bottom: 30px;
	}
	.home08Box{
		width: 90%;
		margin: 0 auto;
		min-width: 0;
		max-width: none;
		padding-left: 5vw;
		padding-right: 5vw;
		padding-bottom: 5vw;
	}
	.home08Box h2{
		font-size: 30px;
		letter-spacing: 0;
	}
	.home08_p01{
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.mailForm h3{
		margin-top: 30px;
		font-size: 18px;
	}
	#home08{
		padding-bottom: 50px;
	}
	#home09 h2{
		font-size: 30px;
		background-size: 1200px;
	}
	.home09Table table{
		width: 100%;
	}
	.home09Table{
		margin: 30px 0;
	}
	.gmap_btn{
		width: 90%;
	}
	/*------------------------------------------------
	spMenu
	--------------------------------------------------*/
	#spMenu{
		background-color: rgba(0,0,0,0.8);
		position: fixed;
		width: 100%;
		height: auto;
		overflow-y: scroll;
		padding: 100px 5vw 5vw;
		display: block;
		top: 0;
		left: 0;
		transform: translateY(-100%);
	}
	#spMenu.active{
		transform: translateY(0);
		animation: spMenuOpen 0.3s ease;
	}
	@keyframes spMenuOpen{
		0%{
			transform: translateY(-100%);
		}
		100%{
			transform: translateY(0);
		}
	}
	#spMenu .mainMenu li{
		width: 100%;
		margin-bottom: 20px;
	}
	#spMenu .mainMenu li a{
		text-align: center;
		display: block;
	}
	.mainMenu li a:hover span{
		opacity: 1;
	}
	.mainMenu li a:hover:before{
		display: none;
	}
	/*------------------------------------------------
	thanks
	--------------------------------------------------*/
    #thanks01{
        padding: 100px 0;
    }
    #thanks01 h2{
        font-size: 25px;
        background-size: 1200px;        
    }
    #thanks01 h2 + p{
        text-align: left;
        padding: 0 5vw;
    }
    
	/*------------------------------------------------
	footer
	--------------------------------------------------*/
	#footer{
		padding-top: 0;
	}
	.footer_p01{
		font-size: 50px;
	}
	#footer address{
		margin-top: 20px;
		margin-bottom: 50px;
	}
	#footer .mainMenu li{
		margin-top: 20px;
	}
	#totop{
		width: 50px;
		height: 50px;
		right: 2.5vw;
		bottom: 15px;
	}
	#totop a{
		width: 50px;
		height: 50px;
	}
	#fixedVideoBtn{
		right: calc( 50px + 5vw);
		height: 50px;
		width: calc(100vw - 50px - 7.5vw);
		bottom: 15px;
	}
	#fixedVideoBtn a{
		height: 50px;
		background-color: #000;
		background-size: auto 100%;
		line-height: 50px;
		padding-left: 11vw;
	}

}
