@charset "utf-8";
/* CSS Document */

/*
1.全体
2.モジュール
3.トップページ
4.お問い合わせ
*/

/*------------------------------------------
1.全体
------------------------------------------*/

/*------------------------------------------
2.モジュール
------------------------------------------*/
.ttl_01{
	margin-bottom: 100px;
	position: relative
}
.ttl_01::before{
    width: 0;
    height: 85px;
	position: absolute;
	top: -44px;
	left: 1px;
    -webkit-transform: scale(0.60);
    transform: scale(0.60);
    display: inline-block
}
.ttl_01 .en {
    padding-right: 1rem;
    float: left;
	color: #111;
    font-family: "Roboto";
    font-weight: 700;
    font-size: 55px;
    line-height: 1;
    position: relative;
    display: block
}
.ttl_01 .jp {
    padding-left: 2rem;
    position: relative;
    top: 1rem;
    font-size: 18px
}
.ttl_02{
	margin-bottom: 25px;
	font-size: 35px;
	font-weight: bold
}
.ttl_03{
    margin-bottom: 25px;
    padding-left: 50px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    position: relative
}
.ttl_03:before {
    width: 2rem;
    height: 3px;
    position: absolute;
    top: 1.3rem;
    left: 0;
    background: #7CAF39;
    content: ""
}
@media only screen and (max-width: 812px) {
	.ttl_01{
		margin-bottom: 20px
	}
	.ttl_01::before{
		width: 0;
		height: 85px;
		position: absolute;
		top: -46px;
		left: 1px;
		-webkit-transform: scale(0.30);
		transform: scale(0.30)
	}
	.ttl_01 .en {
		padding-right: .5rem;
		font-size: 23px;
	}
	.ttl_01 .jp {
		padding-left: -0rem;
		position: relative;
		top: -.0rem;
		font-size: 14px
	}
	.ttl_02{
		margin-bottom: 20px;
		font-size: 23px
	}
	.ttl_03{
		margin-bottom: 25px;
		padding-left: 30px;
		font-size: 23px;
		font-weight: 500;
		line-height: 1.4;
		position: relative
	}
	.ttl_03:before {
		width: 1.5rem;
		height: 3px;
		position: absolute;
		top: 1rem;
		left: 0;
		background: #33B2E0;
		content: ""
	}
}

.bg_01{
	padding: 80px 0;
	margin-bottom: 100px;
	background-color:#F5F5F5
}
@media only screen and (max-width: 812px) {
	.bg_01{
		padding:40px 0
	}
}
.table_01 {
    border-collapse: collapse;
    width: 100%;
	margin-bottom: 80px;
    border-top: 1px solid #DDD
}
.table_01 th {
    width: 13.5rem
}
.table_01 th {
    font-weight: 500;
    background: #EDEDED;
    position: relative
}
.table_01 th, .table_01 td {
    border-collapse: collapse;
    padding: 2rem;
	font-size: 18px;
    line-height: 1.4;
    border-bottom: 1px solid #ddd
}
.table_01 td {
   background-color: #fafafa
}
@media only screen and (max-width: 812px) {
	.table_01 {
		border-collapse: collapse;
		width: 100%;
		margin-bottom: 80px;
		border-top: 1px solid #DDD
	}
	.table_01 th {
		width: 13.5rem
	}
	.table_01 th {
		width: 100%;
		font-weight: 500;
		background: #EDEDED;

	}
	.table_01 th, .table_01 td {
		width: 96%;
		border-collapse: collapse;
		padding: 15px 2%;
		font-size: 16px;
		line-height: 1.4;
		border-bottom: 1px solid #ddd;
		 display: block
	}
	.table_01 td {
		font-size: 14px !important
	}
}
.table_02{
    border-collapse: collapse;
    width: 100%;
	margin-bottom: 80px;
    border-top: 1px solid #DDDDDD;
}
.table_02 th {
    width: 13.5rem;
}
.table_02 th {
    font-weight: 500;
    background: #EDEDED;
    position: relative;
}
.table_02 th, .table_02 td {
    border-collapse: collapse;
    padding: 2rem;
	font-size: 18px;
    line-height: 1.4;
    border-bottom: 1px solid #ddd;
}
.table_02 td {
   background-color: #fff
}
@media only screen and (max-width: 812px) {
	.table_02{
		margin-bottom: 30px;
	}
	.table_02 th {
		width: 100%;
		font-weight: 500;
		position: relative;
	}
	.table_02 th, .table_02 td {
		width: 96%;
		display: block;
		border-collapse: collapse;
		padding: 10px 2%;
		font-size: 18px;
		line-height: 1.4
	}
}
/*------------------------------------------
3.トップページ
------------------------------------------*/
.mv_top {    
    width: 100%;
	height: 100%;
	position: relative
}
.mv_top:before{    
	padding-top: 50%;
	margin-bottom: 50px;
	content: "";
	display: block;
}
.mv_top .photo{
    height: 100%;
    width: 100%;
	position: absolute;
    top: 0;
    left: 0
}
.mv_top .catch {
    position: absolute;
    top: 50%;
    left: 7rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10
}
.mv_top .catch  h2{
    font-size: 50px;
    font-weight: bold;
	line-height:1.8;
	position: relative
}
.mv_top .catch:before {
	color: #7CAF39;
	font-size: 200px;
    position: absolute;
    bottom: -7.8rem;
    left:-1.5rem;
    content: "●";
    z-index: -1;
    display: block
}
@media only screen and (max-width: 1366px) {
	.mv_top .catch  h2{
		font-size: 40px;
		font-weight: bold;
		line-height:1.8;
		position: relative
	}
}
@media only screen and (max-width: 812px) {
	.mv_top {    
		width: 100%;
		height: 100%;
		position: relative
	}
	.mv_top:before{    
		padding-top: 0;
		margin-bottom: 0;
		content: "";
		display: block;
	}
	.mv_top .photo{
		height: 100%;
		width: 100%;
		margin: 0 auto;
		position: relative;
		top: 0;
		left: 0
	}
	.mv_top .photo:before{
		width:100%;
		height:100%;
		margin: 0 auto;
		background: url("../img/logo_white.png") no-repeat center center;
		background-size: 300px;
		text-align: center;
		position: relative;
		top: 50%;
		left: 50%;
		display: inline-block;
		z-index: 99
	}
	.mv_top .catch {
		margin-right: 4%;
		position: relative;
		top: -100px;
		left: 4%;
		bottom: 30px
	}
	.mv_top .catch  h2{
		font-size: 29px;
		font-weight: bold;
		line-height:1.4;
	}
	.mv_top .catch:before {
		color: rgb(51,178,224);
		font-size: 200px;
		position: absolute;
		bottom: -6.8rem;
		left:-2.3rem;
		content: "●";
		z-index: -1;
		display: block
	}
}
@media only screen and (max-width: 320px) {
	.mv_top .catch  h2{
		font-size: 25px
	}
	.mv_top .catch:before {
		color: rgb(51,178,224);
		font-size: 200px;
		position: absolute;
		bottom: -7rem;
		left:-2.3rem
	}
}
.main_img_box {
	width: calc(100% - 27rem);
    height: calc(100% - 10rem);
    position: absolute;
    right: 0;
    bottom: 4rem;
    display: block;
    overflow: hidden
}
.main_img {
	width:100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-animation: anime 36s 0s infinite;
	animation: anime 36s 0s infinite;
	opacity: 0;
	z-index:10
}
@media only screen and (max-width: 812px) {
	.main_img_box {
		width: 100%;
		height: -webkit-fill-available;
		position: absolute;
		right: 0;
		bottom: 4rem;
		display: block;
		overflow: hidden
	}
	.main_img {
		width:100%;
		height: 100%;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		position: absolute;
		left: 0;
		top: 0;
		-webkit-animation: anime 36s 0s infinite;
		animation: anime 36s 0s infinite;
		opacity: 0;
		z-index:10
	}
}
.main_img:nth-of-type(2) {
	-webkit-animation-delay: 6s;
	animation-delay: 6s
}
.main_img:nth-of-type(3) {
	-webkit-animation-delay: 12s;
	animation-delay: 12s
}
.main_img:nth-of-type(4) {
	-webkit-animation-delay: 18s;
	animation-delay: 18s
}
.main_img:nth-of-type(5) {
	-webkit-animation-delay: 24s;
	animation-delay: 24s
}
.main_img:nth-of-type(6) {
	-webkit-animation-delay: 30s;
	animation-delay: 30s
}
@keyframes anime {
    0% {
        opacity: 0
    }
    8% {
        opacity: 1
    }
    17% {
        opacity: 1
    }
    25% {
        opacity: 0;
        transform: scale(1.2);
        z-index:9
    }
    100% { opacity: 0}
}

@-webkit-keyframes anime {
    0% {
        opacity: 0
    }
    8% {
        opacity: 1
    }
    17% {
        opacity: 1
    }
    25% {
        opacity: 0;
        -webkit-transform: scale(1.2);
        z-index:9
    }
    100% {opacity: 0}
}
.mod_top_01{
	position: relative
}
.mod_top_01 .left_box{
	width: 40%;
	margin-bottom: 150px;
	float: left
}
.mod_top_01 .left_box p.catch{
	margin-bottom: 20px;
	font-size: 30px;
	font-weight: bold
}
.mod_top_01 .left_box p.txt{
	margin-bottom: 20px;
	font-size: 20px;
	line-height: 2
}
.mod_top_01 .right_box{
	width: 50%;
	float: right;
	position: relative
}
.mod_top_01 .right_box img:nth-child(1){
	max-width: 500px;
	position: absolute;
	top: -100px;
	left: 0;
	z-index: 10
}
.mod_top_01 .right_box img:nth-child(2){
	max-width: 500px;
	position: absolute;
	top:150px;
	right: -200px;
	z-index: 9
}
@media only screen and (max-width: 1680px) {
	.mod_top_01 .right_box img:nth-child(2){
		right: 0;
	}
}
@media only screen and (max-width: 1366px) {
	.mod_top_01 .right_box img:nth-child(2){
		right: 0;
	}
}
@media only screen and (max-width: 812px) {
	.mod_top_01{
		padding: 50px 0 100px;
		position: relative
	}
	.mod_top_01 .left_box{
		width: 100%;
		margin-bottom: 20px;
		float: none
	}
	.mod_top_01 .left_box p.catch{
		font-size: 22px
	}
	.mod_top_01 .left_box p.txt{
		font-size: 17px
	}
	.mod_top_01 .right_box{
		width: 100%;
		float: none
	}
	.mod_top_01 .right_box img:nth-child(1){
		max-width: 100%;
		position: relative;
		top: 0;
		left: 0
	}
	.mod_top_01 .right_box img:nth-child(2){
		max-width: 100%;
		position: relative;
		top:10px;
		right: 0;
		z-index: 9
	}
}
.mod_top_02{
	width: 100%;
	font-size: 0;
	overflow:hidden
}
.mod_top_02 li{
	margin-bottom: 50px;
	position: relative
}
.mod_top_02 .photo{
	width: 55%;
	display: inline-block;
	vertical-align: middle
}
.mod_top_02 .photo img{
	max-width: 100%
}
.mod_top_02 .box{
	width: 39%;
	padding: 0 2.5%;
	vertical-align: middle;
	display: inline-block
}
.mod_top_02 .box p{
	font-size: 17px;
	line-height: 2
}
.mod_top_02 li:nth-child(1):before {
    content: "01"
}
.mod_top_02 li:nth-child(2):before {
    content: "02"
}
.mod_top_02 li:nth-child(3):before {
    content: "03"
}
.mod_top_02 li:nth-child(4):before {
    content: "04"
}
.mod_top_02 li:before {
    display: block;
    position: absolute;
    bottom: 0;
    right: -1rem;
    z-index: -1;
    display: block;
    font-size: 20rem;
	font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    color: #f1f1f1;
    font-family: Arial, Helvetica, sans-serif
}
@media only screen and (max-width: 812px) {
	.mod_top_02 li{
		margin-bottom: 50px;
		position: relative
	}
	.mod_top_02 .photo{
		width: 100%;
		display: block
	}
	.mod_top_02 .box{
		width: 95%;
		padding: 0 2.5%;
		display: block
	}
	.mod_top_02 li:before {
		right: 10px;
		z-index: -1;
		display: block;
		font-size:150px
	}
}
.mod_top_03{
	overflow: hidden
}
.mod_top_03 .photo{
	width: 32%;
	float: left
}
.mod_top_03 .photo img{
	max-width: 100%
}
.mod_top_03 .area_txt{
	width: 65%;
	float: right
}
.mod_top_03 .area_txt p.txt{
	margin-bottom: 8px;
	font-size: 19px;
	line-height: 2
}
.mod_top_03 .area_txt p.name{
	font-family: Georgia, 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	font-size: 25px;
	font-weight: bold;
	text-align: right
}
@media only screen and (max-width: 812px) {
	.mod_top_03 .photo{
		width: 80%;
		float: none;
		margin: 0 auto 20px;
		display: block
	}
	.mod_top_03 .photo img{
		display: block
	}
	.mod_top_03 .area_txt{
		width: 98%;
		float: none;
		margin: 0 auto
	}
	.mod_top_03 .area_txt p.txt{
		margin-bottom: 10px;
		font-size: 18px
	}
}
.google_map{height:0;margin-bottom:50px;padding:30px 0 56.25%;position:relative;overflow:hidden}
.google_map iframe,
.google_map object,
.google_map embed{width:100%;height:100%;position:absolute;top:0;left:0}

.mod_top_04{
	overflow: hidden
}
.mod_top_04 .left{
	width: 48%;
	float: left
}
.mod_top_04 .right{
	width: 48%;
	float: right
}
@media only screen and (max-width: 812px) {
	.mod_top_04 .left{
		width: 100%;
		float: none
	}
	.mod_top_04 .right{
		width: 100%;
		float: none
	}
}

/*------------------------------------------
4.お問い合わせ
------------------------------------------*/
.mod_contact_01{
	padding: 150px 0 0 0
}
.mod_contact_01 .txt{
	margin-bottom: 30px;
	font-size: 18px;
	line-height: 2
}
@media only screen and (max-width: 812px) {
	.mod_contact_01{
		padding: 90px 0 0 0
	}
	.mod_contact_01 .txt{
		font-size: 15px
	}
}
.req {
    padding: .3rem .5rem;
    margin-top: 0.5rem;
    position: absolute;
    top: 40px;
    right: 2rem;
    color: #F99900;
    font-size: 16px;
    line-height: 1;
    border: 1px solid #F99900;
	background-color: #fff;
}
@media only screen and (max-width: 812px) {
	.req {
		top: 0;
		right: 10px
	}
}
.form-text {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 4rem;
    margin: 0;
    padding: 0.7rem 1.5rem;
    border: none;
    border-radius: 0;
    border: 1px solid #EDEDED;
    color: #000000;
    font-size: 1.4rem;
    line-height: 1.72;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
textarea.form-text {
    max-width: 100%;
    height: 20rem;
}
.submit {
    width: 400px;
	margin: 0 auto 100px;
	padding: 15px 0;
	color: #fff;
	font-size: 25px;
	font-weight: bold;
	border: none;
	background: #000000;
	display: block
}
.submit:hover{
	filter:alpha(opacity=70);-moz-opacity: .7;opacity: .7
}
@media only screen and (max-width: 812px) {
	.submit {
		width: 80%;
		padding: 10px 0
	}
}