@charset "UTF-8";
/* =================================== */
/*	Basic Style 
/* =================================== */

body{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.8;
}


/* title
----------------------*/
h2,h3,h4,h5,h6{margin-bottom:20px;}

h2{font-size:28px;}
h2.h2-s{font-size:18px !important;}
h3{font-size:18px;}
h4{font-size:16px;}


.title-lined{
    border-bottom:1px solid #dbdbdb;
    padding-bottom:10px;
    font-weight:bold;
}

.title-lined-y{
	padding:13px 0;
	border-top:1px solid #dbdbdb;
	border-bottom:1px solid #dbdbdb;
}

.title-bg-lined{
	padding:13px;
  	background-color: #f6f6f6;
  	border-bottom: 1px solid #ccc;
}

.title-bg-01{
	background:#E9E9E9;
	padding:13px;
	font-weight:bold;
	border-radius:3px;
}

ul,dl{
	margin:0;
	padding:0;
}


/* title-lined-center */
.title-lined-center{
	overflow:hidden;
  	text-align:center;
}
.title-lined-center span{
	position:relative;
	display:inline-block;
	margin:0 2.5em;
	padding:0 1em;
	text-align:left;
}
.title-lined-center span::before,
.title-lined-center span::after{
  	position:absolute;
  	top:50%;
  	content:'';
  	width:400%;
  	height:1px;
  	background-color: #ccc;
}
.title-lined-center span::before{
  	right:100%;
}
.title-lined-center span::after{
  	left:100%;
}



/* text
----------------------*/

/* color */
.txt-black{color:#000;}
.txt-white{color:#fff;}

/* size */
.txt-s{font-size:12px;}
.txt-l{font-size:22px;}

/* others */
.txt-cl{text-align:center;}
.txt-b{font-weight:bold;}
.txt-n{font-weight:normal;¥}


/* link 
----------------------*/
a{
	-webkit-transition: all ease-in-out .3s;
	transition: all ease-in-out .3s;
}

a:focus, a:active, a:hover{
	outline: 0;
}

/* tel */
a[href^="tel:"] {
	cursor: default;
}


/* button
----------------------*/
/* fontawesome new */
/*.btn:before {
   	font-family: "Font Awesome 5 Free";
   	content: "\f007";
    margin-right: 7px;
}*/

/* fontawesome old */
.btn:before {
    font-family: 'FontAwesome';
    content: '\f105';
    margin-right: 7px;
}

.btn {
    display: inline-block;
    padding: 12px 12px;
}

/* table
----------------------*/
/* table-rwd */
.table-rwd dl{
	border-bottom:1px solid #eaeaea;
}

.table-rwd dl:nth-child(1){
	border-top:1px solid #eaeaea;
	padding-top:15px;
}

.table-rwd dl dt{
	width:25%;
	float:left;
	margin-bottom:15px;
}

.table-rwd dl dd{
	margin:0 0 0 25%;
	margin-bottom:15px;
}


/* tab panel (overwrite)
----------------------*/
.nav-tabs{
	margin-bottom:20px;
}



/* row-eq-height
----------------------*/
/* row に付与 */
.row-eq-height {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}


/* margin padding
----------------------*/
.mgnB0 {margin-bottom:0 !important;}
.mgnB5 {margin-bottom:5px !important;}
.mgnB10 {margin-bottom:10px !important;}
.mgnB15 {margin-bottom:15px !important;}
.mgnB20 {margin-bottom:20px !important;}
.mgnB30 {margin-bottom:30px !important;}
.mgnB40 {margin-bottom:40px !important;}
.mgnB50 {margin-bottom:50px !important;}
.mgnB60 {margin-bottom:60px !important;}
.mgnB70 {margin-bottom:70px !important;}
.mgnB80 {margin-bottom:80px !important;}

.mgnT0 {margin-top:0 !important;}
.mgnT5 {margin-top:5px !important;}
.mgnT10 {margin-top:10px !important;}
.mgnT20 {margin-top:20px !important;}
.mgnT30 {margin-top:30px !important;}
.mgnT40 {margin-top:40px !important;}
.mgnT50 {margin-top:50px !important;}
.mgnT60 {margin-top:60px !important;}
.mgnT70 {margin-top:70px !important;}
.mgnT80 {margin-top:80px !important;}

.mgnL0 {margin-left:0 !important;}
.mgnL5 {margin-left:5px !important;}
.mgnL10 {margin-left:10px !important;}
.mgnL15 {margin-left:15px !important;}
.mgnL20 {margin-left:20px !important;}
.mgnL30 {margin-left:30px !important;}
.mgnL40 {margin-left:40px !important;}
.mgnL50 {margin-left:50px !important;}
.mgnL100 {margin-left:100px !important;}

.mgnR0 {margin-right:0 !important;}
.mgnR1 {margin-right:1px !important;}
.mgnR5 {margin-right:5px !important;}
.mgnR10 {margin-right:10px !important;}
.mgnR15 {margin-right:15px !important;}
.mgnR20 {margin-right:20px !important;}
.mgnR30 {margin-right:30px !important;}
.mgnR40 {margin-right:40px !important;}
.mgnR45 {margin-right:45px !important;}
.mgnR50 {margin-right:50px !important;}
.mgnR90 {margin-right:90px !important;}
.mgnR100 {margin-right:100px !important;}


.pdnT0{padding-top:0 !important;}
.pdnB0{padding-bottom:0 !important;}




/* back to top
----------------------*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 12px;
	z-index:9999;
}
#page-top a {
    background: #888;
    text-decoration: none;
    color: #fff;
    padding: 3px 10px 7px;
    text-align: center;
    display: block;
}
#page-top a:hover {
    text-decoration: none;
    background: #999;
}


/* animation
----------------------*/
/* photo expand ------*/
.thumb{
	margin-bottom:20px;
}

.thumb .thumb-img{
	display:block;
	width:auto;
	overflow:hidden;
	margin-bottom:15px;	
}

.thumb .thumb-img img{
	transition:.3s linear;	
	width:100%;
}

.thumb .thumb-img img:hover {
    transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
}

/* aos ------*/
/*
Animate On Scroll Library
https://michalsnik.github.io/aos/
http://cly7796.net/wp/javascript/plugin-aos/
*/
.box-1{
	background:#f5f5f5;
	width:100%;
	height:200px;
	padding:20px;
}

/* LP */
.main{
	background: url("../images/bg_main.jpg") center top no-repeat;
	background-size: cover;
	padding: 100px 0;
	position: relative;
	height: 700px;
}

.main::before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	background-color: rgb(0 0 0 / .2);
}
.main-copy{
	width: 50%;
	padding: 30px 30px;
	position: absolute;
	left: 0;
	top: 45%;
	text-shadow: 1px 1px black;
}

.main-copy h1{
	color: #fff;
	font-size: 40px;
	margin-bottom: 20px;
}

.main-copy h1 span{
	display: block;
	font-size: 26px;
}

.main-copy p{
	color: #fff;
	font-size: 24px;
	margin-bottom: 0;
}

.main-txt{
	position: absolute;
	right: 50px;
	bottom: 0;
}

.main-txt img{
	width: 550px;
}

.section-def-01{
	background: #f7f7f7;
	padding: 100px 0;
}

.txt-copy{
	font-size: 16px;
	color: #000;
	/*text-align: center;*/
}

.section-def-02{
	padding: 100px 0;
}

.wrap-time{
	background: #fff;
	padding: 30px 20px;
	border: 1px solid #ddd;
	margin: 30px 0;
}

.wrap-time p{
	text-align: center;
	color: #000;
	font-size: 16px;
	margin-bottom: 0;
}

.bg_01 {
    background-image: url(../images/bg_01.png);
    background-size: 57% auto;
    background-repeat: no-repeat;
    background-position: bottom 50px right -100px;
}
.bg_02 {
    background-image: url(../images/bg_02.png), url(../images/bg_05.png), url(../images/bg_04.png), url(../images/bg_03.png);
    background-size: 260px, 360px, 380px, 260px;
    background-repeat: no-repeat;
    background-position: top left, top 35% right, top 60% left, top 90% right;
}

.bg_03 {
    background-image: url(../images/bg_07.png), url(../images/bg_06.png);
    background-size: 260px, 300px;
    background-repeat: no-repeat;
    background-position: top left, top 90% right;
}

/*============================================================
	small desktop 
==============================================================*/

@media (min-width: 992px) and (max-width: 1199px) {
	
	
	
}


/*============================================================
	under tablet
==============================================================*/
@media only screen and (max-width: 991px) {


}


/*============================================================
	tablet
==============================================================*/

@media (min-width: 768px) and (max-width: 991px) {
	
	/* title */
	h2{font-size:24px;}
	
}


/*============================================================
	mobile
==============================================================*/
@media only screen and (max-width: 767px) {
	
	/* title */
	h2{font-size:18px;}
	h2.h2-s{font-size:16px !important;}
	h3{font-size:16px;}
	h4{font-size:15px;}
	
	/* title-lined-center（両サイドのラインなし） */
	.title-lined-center{
  		text-align:left;
		border-bottom:1px solid #ccc;
		padding-bottom:13px;
	}
	.title-lined-center span{
		margin:0;
		padding:0;
		text-align:left;
		line-height:1.4;
	}
	.title-lined-center span::before,
	.title-lined-center span::after{
  		width:0px;
  		height:0px;
  		background-color:none;
	}
	.title-lined-center span::before{
  		right:0;
	}
	.title-lined-center span::after{
  		left:0;
	}
	
	/* text */
	.txt-cl{text-align:left;}
	
	.txt-copy {
		font-size: 14px;
		line-height: 2;
	}
	
	/* link tel */
	a[href^="tel:"]{
		cursor:pointer;
	}
	
	/* table */
  	.table-rwd dl dt{
		width:100%;
		float:none;
		margin-bottom:10px;
		font-weight:bold;
	}
	
	.table-rwd dl dd{
		margin:0;
		margin-bottom:20px;
		font-size:12px;
	}
	
	.btn{
		font-size: 12px;
	}
	
	/* LP */
	.main{
		background: url("../images/bg_main_xs.jpg") center top no-repeat;
		background-size: 100%;
		padding: 100px 0;
		position: relative;
		height: 550px;
	}

	.main-copy{
		width: 100%;
		padding: 10px 20px 20px;
		position: absolute;
		left: 0;
		top: 70%;
		z-index: 2;
	}

	.main-copy h1{
		font-size: 24px;
	}

	.main-copy h1 span{
		font-size: 16px;
	}

	.main-copy p{
		font-size: 16px;
	}
	
	.main-txt{
		position: absolute;
		right: 10px;
		bottom: 20%;
		z-index: 1;
	}

	.main-txt img{
		width: 89%;
	}
	.bg_01 {
        background-size: contain;
        background-position: bottom 26% right -30px;
    }
	.bg_02 {
        background-size: 240px, 280px, 280px, 260px;
        background-position: top left, top 37% right, top 59% left, top 96% right;
    }

    .bg_03 {
        background-size: 200px, 220px;
        background-position: top left, top 98% right;
    }
}

.img-block img {
	aspect-ratio: 16/9;
	object-fit: cover;
}