@charset "utf-8";

/* @font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:400;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
} */
/* @font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:700;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.otf) format('opentype');
} */
/* @font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.otf) format('opentype');
} */

/*==============================
    基本設定
==============================*/
body{
    color:#333;
    font-size:12px;
    /* サイトに応じで使用するフォントを読込み */
    font-family:'YakuHanJP_Noto','Noto Sans JP', sans-serif;
    font-family:'YakuHanMP_Noto','Noto Serif Japanese', serif;
    font-family:'YakuHanJP_Narrow','游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
    font-family:'YakuHanMP','游明朝体', YuMincho, '游明朝', 'Yu Mincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN W3', HiraMinProN-W3, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'Noto Serif Japanese';
    margin:0;
    padding:0;
    text-align:left;
    background:#fff;
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:rgba(0,0,0,0.25);
    position:relative;
    word-break:break-all;
}
@media only screen and (max-width:992px){
    body{
        min-width:0;
    }
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
    font-weight:normal;
    text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fSerif{font-family:'Noto Serif Japanese', serif;}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover,
.cursorPointer:hover{ opacity:0.8; }
.ro a,
a.ro,
a .ro,
.cursorPointer{
    transition:opacity 0.2s ease-out;
}
.cursorPointer{cursor:pointer;}
@media only screen and (max-width:992px){
    .ro a:hover,
    a.ro:hover,
    a .ro:hover,
    .cursorPointer:hover{ opacity:1; }
}

/*rollover(brightnessによる変化)*/
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.brt a,
a.brt,
a .brt{
    transition:filter 0.2s ease-out;
}
@media only screen and (max-width:992px){
    .brt a:hover,a.brt:hover,a .brt:hover{ filter:none; }
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover,
.ro .no_ro .cursorPointer:hover,
.ro .cursorPointer.no_ro:hover{ opacity:1; }

/* 電話リンクの無効化 */
a[href^="tel:"]{
    pointer-events:none;
    cursor:default;
}
@media only screen and (max-width:992px){
    a[href^="tel:"]{
        pointer-events:auto;
        cursor:pointer;
    }
}

/* container */
#container{
    overflow:hidden;
    max-width:1920px;
    margin:0 auto;
}

/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.imgSp{
    display:none;
}
.img100{
    width:100%;
    height:auto;
}
@media only screen and (max-width:992px){
    .spNone,
    .brPc,
    .imgPc{
        display:none;
    }
    .spOnly{
        display:block;
    }
    .brSp,
    .imgSp{
        display:inline;
    }
    .imgR{
        width:100%;
        height:auto;
    }
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgCont{
    position:relative;
}
.imgCover img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
}
.imgCont img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}

/*-----------------------------------------------
	ヒーローイメージ
-----------------------------------------------*/
#header{
	position: relative;
	overflow:hidden;
}
#header .bgImg img{
	height: auto;
}
#header .boxNavi{
	top: 15px;
	z-index: 100;
}
#header .logoHero{
	width: 80px;
}
#header .logoHeroSub{
	padding: 10px 15px;
	background: #fff;
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.2);
}
#header .logoHeroSub img{
	width: 65px;
	height: auto;
}
#header .btnMenu{
	width: 54px;
	height: 54px;
	background: rgba(53,171,83,0.9);
	/* border: 1px solid #FFF; */
	-webkit-transition: -webkit-transform 0.3s ease-in-out, background 0.2s ease-in-out;
	transition: transform 0.3s ease-in-out, background 0.2s ease-in-out;
	cursor: pointer;
}
#header .imgClose{
	display: none;
}
#header .imgMenu{
	width: 16px;
	height: 13px;
	/* margin-top: 12px; */
    padding-top: 12px;
}
#header .imgMenu .border01,
#header .imgMenu .border02,
#header .imgMenu .border03{
	height: 2px;
}
#header .imgMenu .border02,
#header .imgMenu .border03{
	margin-top: 3px;
}
#header .txtMenu{
	font-size: 10px;
    margin-top: 15px !important;
}
#header .txtMenu .txt02{
	display: none;
}
#header .boxTxt{
	bottom: 0;
	z-index: 10;
	padding-bottom: 30px;
}
#header .titHero{
	font-size: 19px;
	line-height: 1.5;
	font-weight: bold;
	text-shadow:0px 0px 8px rgba(0,0,0,0.3);
}
#header .titHero:only-child{
	display:inline-block;
	vertical-align:top;
	padding-left: 8px;
	padding-right: 2px;
	letter-spacing: 4px;
	position: relative;
	z-index: 3;
	text-shadow:none;
}
#header .titHero:only-child::after{
	background-color: #E4407D;
	content: "";
	display: block;
	width: 0;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	animation: titAnimation .4s cubic-bezier(0,.94,.72,.93) .4s forwards;
	z-index: -1;
}
@keyframes titAnimation {
	0%{
		width: 0%;
	}
	100%{
		width: 100%;
	}
}
#header .txtHero{
	font-size: 10px;
	line-height: 1.6;
	text-shadow:0px 0px 8px rgba(0,0,0,0.3);
}
#header .txtPrice{
	border: 1px solid #FFF;
	font-size: 11px;
	border-radius: 18px;
	letter-spacing: 1px;
}
#header .txtPrice .num{
	font-size: 18px;
}
#header .boxList{
	display: none;
}
@media only screen and (min-width:992px){
	#header{
		position: fixed;
		width: 40%;
		height: 100%;
		top: 0;
		left: 0;
		overflow: hidden;
	}
	#header::after{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 3px;
		height: 100%;
		z-index: 2;
		background: -moz-linear-gradient(left,  rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.2) 100%);
		background: -webkit-linear-gradient(left,  rgba(0,0,0,0) 0%,rgba(0,0,0,0) 1%,rgba(0,0,0,0.2) 100%);
		background: linear-gradient(to right,  rgba(0,0,0,0) 0%,rgba(0,0,0,0) 1%,rgba(0,0,0,0.2) 100%);
	}
	#header .bgImg img{
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}
	#header .logoHero{
		width: 152px;
		padding-top: 73px;
	}
	#header .logoHeroSub{
		padding: 67px 40px 30px;
	}
	#header .logoHeroSub img{
		width: 130px;
	}
	#header .boxMenu{
		margin-top: 45px;
	}
	#header .btnMenu{
		width: 100px;
		height: 100px;
		border-left: none;
	}
	#header .btnMenu:hover{
		background: rgba(47,153,74,0.9);
	}
	.menuOpen #header .imgClose{
		display: block;
		width: 24px;
		height: 28px;
		margin: 27px auto 0;
	}
	.menuOpen #header .btnMenu{
		transform: translateX(220px);
		-webkit-transform: translateX(220px);
	}
	.menuOpen #header .imgMenu{
		display: none;
	}
	#header .imgMenu .border01,
	#header .imgMenu .border02,
	#header .imgMenu .border03{
		height: 3px;
	}
	#header .imgMenu .border02,
	#header .imgMenu .border03{
		margin-top: 6px;
	}
	#header .imgMenu{
		width: 26px;
		height: 26px;
		margin-top: 27px;
	}
	#header .txtMenu{
		font-size: 13px;
	}
	.menuOpen #header .txtMenu .txt01{
		display: none;
	}
	.menuOpen #header .txtMenu .txt02{
		display: inline;
	}
	/* #header .boxList{
		border: 1px solid #FFF;
		border-left: none;
		display: block;
		transform: translateX(-100%);
		-webkit-transform: translateX(-100%);
		width: 220px;
		position: absolute;
		top: 0;
		left: 0;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	} */
	.menuOpen #header .boxList{
		transform: none;
		-webkit-transform: none;
	}
	#header .boxList a{
		/* height: 62px;
		font-size: 14px;
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
		background: rgba(53,171,83,0.9);
	}
	#header .boxList a:hover{
		background: rgba(47,153,74,0.9);
	} */
	#header .boxList img{
		margin-right: 15px;
	}
	#header .boxList img[width="20"]{
		margin-right: 19px;
	}
	#header .boxList li{
		border-bottom: 1px solid #FFF;
	}
	#header .boxList li:last-child{
		border-bottom:none;
	}
	#header .boxTxt{
		padding-bottom: 80px;
	}
	#header .titHero{
		font-size: 34px;
		letter-spacing: 1px;
	}
	#header .titHero:only-child{
		padding-bottom: 5px;
		padding-left: 13px;
		padding-right: 15px;
		letter-spacing: 0.75px;
		font-size: 30px;
	}
	#header .txtHero{
		font-size: 13px;
		line-height: 24px;
		letter-spacing: 1px;
	}
	#header .txtPrice{
		border: 1px solid #FFF;
		font-size: 12px;
		border-radius: 30px;
		letter-spacing: 2px;
	}
	#header .txtPrice .num{
		font-size: 26px;
	}
}
@media only screen and (min-width:1100px){
	#header .titHero:only-child{
		font-size: 34px;
	}
}
@media only screen and (min-width:1300px){
	#header .titHero:only-child{
		letter-spacing: 3px;
	}
}
@media only screen and (min-width:1600px){
	#header .titHero:only-child{
		letter-spacing: 8px;
	}
}

/* 横画面のiPadやノートPC */
@media only screen and (min-width:992px) and (max-height:830px){
	#header .boxList a{
		height: 54px;
	}
}
@media only screen and (min-width:992px) and (max-height:750px){
	#header .logoHero{
		padding-top: 50px;
	}
	#header .boxList{
		margin-top: 20px;
	}
}
@media only screen and (min-width:992px) and (max-height:700px){
	#header .boxList a{
		height: 44px;
	}
	#header .boxTxt{
		padding-bottom: 5%;
	}
}