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


/*---- main ----*/

#contents { width:100%;}

main {}
#mainWrap2018 { }


/* main image */

#mainImageWrap2018 { width:100%; height: 540px; background: #fff url(../images2018/home/main.jpg) top center no-repeat; background-size: 1150px 540px; text-align: center;}
#mainImageWrap2018 .innerMIW { position: relative; width: 1050px; height: 540px; margin: 0 auto;}
#mainImageWrap2018 .catchBox { position: absolute; top: 140px; left: 100px; width: 518px;}
#mainImageWrap2018 .catchBox .catch1 { width: 100%; padding: 8px; margin: 30px 0; background: #fff; color: #7E6B5A; font-size: 19px; line-height: 20px;}
#mainImageWrap2018 .catchBox .catch2 { width: 100%; font-size: 18px; line-height: 180%;}
#mainImageWrap2018 .icon { position: absolute; bottom: -40px; right: 60px;}

@media screen and (max-width: 640px){
	#mainImageWrap2018 { height: 270px; background-size: 575px 270px; }
	#mainImageWrap2018 .innerMIW { width: 100%; max-width: 575px; height: 270px; }
	#mainImageWrap2018 .catchBox { top: 40px; left: 10px; width: 50%;}
	#mainImageWrap2018 .catchBox .catch1 { margin: 10px 0; font-size: 11px; line-height: 14px;}
	#mainImageWrap2018 .catchBox .catch2 { font-size: 9px; line-height: 14px;}
	#mainImageWrap2018 .icon { position: absolute; bottom: -20px; right: 0px; width: 180px;}	
}
@media screen and (max-width: 479px){
	#mainImageWrap2018 .catchBox { top: 60px;  width: 180px;}
	#mainImageWrap2018 .catchBox .catch1 { margin: 10px 0; font-size: 11px; line-height: 14px;}
	#mainImageWrap2018 .catchBox .catch2 { font-size: 9px; line-height: 14px;}
	#mainImageWrap2018 .icon { position: absolute; bottom: -20px; right: 0px; width: 180px;}
}


/* contact banner */

#cBannerWrap2018 { width:100%; padding: 70px 0;}
#cBannerWrap2018 .cBanner { position: relative; max-width: 812px; margin: 0 auto;}
#cBannerWrap2018 .cBanner:before { position: absolute; top: -46px; left: -40px; content: ''; width: 186px; height: 48px; background: url(../images2018/home/contact_banner-icon.png) no-repeat; background-size: contain; transform: rotate(-8deg); z-index: 5000;}

@media screen and (max-width: 640px){
	#cBannerWrap2018 { padding: 50px 0 16px 0;}
	#cBannerWrap2018 .cBanner { max-width: 616px;}
	#cBannerWrap2018 .cBanner:before { top: -24px; left: 0px; width: 120px; height: 30px; transform: rotate(-4deg);}
	#cBannerWrap2018 .cBanner { max-width: 406px;}
}

/* profile */

#profileWrap2018 { position: relative; width: 100%; background: #D1F9FF;}
#profileWrap2018:before { position: absolute; top:14px; left:0; width: 100%; border-bottom: 2px #fff solid; content: '';}
#profileWrap2018:after { position: absolute; bottom:14px; left:0; width: 100%; border-bottom: 2px #fff solid; content: '';}
#profileWrap2018 .innerW2018 { min-height: 550px; padding: 100px 10px 0 10px; background: url(../images2018/home/profile_bg.jpg) left bottom no-repeat; background-size: 600px 500px;}
#profileWrap2018 .innerW2018 .textWrap { width: 530px; margin-left: 500px; text-align: left;}
#profileWrap2018 .innerW2018 .textWrap .h2profile { width: 100%; height: 62px; margin-bottom: 10px; padding-top: 20px; padding-left: 60px; background: url(../images2018/home/profile_icon.png) left center no-repeat; background-size: 48px 62px;}
#profileWrap2018 .innerW2018 .textWrap .h2profile h2 { color: #1CC19C; font-size: 28px; font-weight: bold;}
#profileWrap2018 .innerW2018 .textWrap .textProfile { padding: 45px 0 0 35px;}
#profileWrap2018 .innerW2018 .textWrap .textProfile p { font-size: 17px; font-weight: bold;line-height: 200%; text-shadow:1px 1px 2px #D1F9FF; text-shadow:1px -1px 2px #D1F9FF; text-shadow:-1px 1px 2px #D1F9FF; text-shadow:-1px -1px 2px #D1F9FF;}

@media screen and (max-width: 640px){
	#profileWrap2018:before { top:10px; border-bottom: 1px #fff solid; content: '';}
	#profileWrap2018:after { bottom:10px; border-bottom: 1px #fff solid; content: '';}
	#profileWrap2018 .innerW2018 { min-height: 0px; padding: 30px 10px 0 10px; background: url(../images2018/home/profile-mb_bg.jpg) left bottom no-repeat; background-size: 80% auto;}
	#profileWrap2018 .innerW2018 .textWrap { width: 55%; margin-left: 45%;}
	#profileWrap2018 .innerW2018 .textWrap .h2profile { padding-top: 0px;}
	#profileWrap2018 .innerW2018 .textWrap .h2profile h2 { font-size: 22px; line-height: 32px;}
	#profileWrap2018 .innerW2018 .textWrap .textProfile { padding: 0 0 20px 0;}
}
@media screen and (max-width: 479px){
	#profileWrap2018 .innerW2018 .textWrap .h2profile { padding-top: 0px; padding-left: 40px; background-size: 28px 36px;}
	#profileWrap2018 .innerW2018 .textWrap .h2profile h2 { font-size: 16px; line-height: 26px;}
	#profileWrap2018 .innerW2018 .textWrap .textProfile p { font-size: 11px; line-height: 160%;}
}


/* kodawari */

#kodawariWrap2018 { width:100%; background: url(../images2018/home/kodawari_bg.png); padding: 54px 0;}
#kodawariWrap2018 .h2kodawari { margin-bottom: 20px; text-align: center;}
#kodawariWrap2018 ul.kodawariList { display: table; table-layout: fixed; width: 1090px; height: 388px; margin-bottom: 20px; padding: 100px 64px 0 60px; background: url(../images2018/home/kodawari_ul_bg.png) no-repeat;}
#kodawariWrap2018 ul.kodawariList li { display: table-cell; padding: 0 28px;}
#kodawariWrap2018 ul.kodawariList li dl dt { width:100%; text-align: center;}
#kodawariWrap2018 ul.kodawariList li dl dd { padding: 12px 8px;}
#kodawariWrap2018 ul.kodawariList li dl dd p { margin-bottom: 8px; font-size: 16px; line-height: 140%;}
#kodawariWrap2018 .kodawariMore { margin-bottom: 20px; text-align: center;}
#kodawariWrap2018 .kodawariMore a { display: inline-block; padding: 18px 64px; background: #1CC19C; color: #fff; font-size: 18px; font-weight: bold;}

@media screen and (max-width: 640px){
	#kodawariWrap2018 ul.kodawariList { position: relative; display: block; width: 460px; height: 508px; margin: 0 auto 20px auto; padding: 0; background: url(../images2018/home/kodawari_ul_bg-mb.png) no-repeat; background-size: 460px 508px; }
	#kodawariWrap2018 ul.kodawariList li { position: absolute; display: block; width: 200px; padding: 0;}
	#kodawariWrap2018 ul.kodawariList li:nth-child(1) { top: 56px; left: 130px;}
	#kodawariWrap2018 ul.kodawariList li:nth-child(2) { top: 314px; left: 10px;}
	#kodawariWrap2018 ul.kodawariList li:nth-child(3) { top: 314px; left: 242px;}
	#kodawariWrap2018 ul.kodawariList li dl dd { padding: 8px 0px;}
	#kodawariWrap2018 ul.kodawariList li dl dd p { margin-bottom: 4px; font-size: 12px;}
}
@media screen and (max-width: 479px){
	#kodawariWrap2018 ul.kodawariList { position: relative; display: block; width: 340px; height: 449px; margin: 0 auto 20px auto; padding: 0; background: url(../images2018/home/kodawari_ul_bg-mb.png) no-repeat; background-size: 340px 449px; }
	#kodawariWrap2018 ul.kodawariList li { position: absolute; display: block; width: 160px; padding: 0;}
	#kodawariWrap2018 ul.kodawariList li:nth-child(1) { top: 52px; left: 90px;}
	#kodawariWrap2018 ul.kodawariList li:nth-child(2) { top: 268px; left: 5px;}
	#kodawariWrap2018 ul.kodawariList li:nth-child(3) { top: 268px; left: 178px;}
	#kodawariWrap2018 ul.kodawariList li dl dd { padding: 8px 0px;}
	#kodawariWrap2018 ul.kodawariList li dl dd p { margin-bottom: 4px; font-size: 12px;}
	#kodawariWrap2018 .kodawariMore { padding: 0 10px;}
	#kodawariWrap2018 .kodawariMore a { width: 100%; padding: 10px 0px; font-size: 16px;}
}


/* result */
#resultWrap2018 { width:100%; background: #FFB552 url(../images2018/home/result_bg.png) center top repeat-x; padding: 210px 0 40px 0;}
#resultWrap2018 .h2result { height: 80px; margin-bottom: 10px; text-align: center;}
#resultWrap2018 .h2result h2 { display: inline-block; height: 80px; padding: 30px 0 0 60px; margin: 0 auto; background: url(../images2018/home/result_icon.png) left center no-repeat; color: #fff; font-size: 26px; font-weight: bold;}
#resultWrap2018 ul.resultList { width: 960px; margin: 0 auto 45px auto;}
#resultWrap2018 ul.resultList li { width: 230px; height: 267px; margin: 5px; padding: 10px; background: #fff; float: left;}
#resultWrap2018 ul.resultList li figure { width: 100%; margin: 0; padding: 0;}
#resultWrap2018 ul.resultList li figure .imgBox { width: 100%; text-align: center;}
#resultWrap2018 ul.resultList li figure figcaption { width: 100%; padding-top: 10px; overflow: hidden;}
#resultWrap2018 ul.resultList li figure figcaption p { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
#resultWrap2018 ul.resultList li figure figcaption p span { color: #653302; font-size: 15px; font-weight: bold;}
#resultWrap2018 ul.resultList li figure figcaption .more a { display: inline-block; width: 100%; padding: 3px; background: #1CC19C; color: #fff; text-align: center;}
#resultWrap2018 .resultMore { margin-bottom: 20px; text-align: center;}
#resultWrap2018 .resultMore a { display: inline-block; padding: 18px 64px; background: #fff; color: #956000; font-size: 18px; font-weight: bold;}

@media screen and (max-width: 640px){
	#resultWrap2018 { background: #FFB552 url(../images2018/home/result_bg.png) center top repeat-x; background-size: auto 60px; padding: 60px 0 20px 0;}
	#resultWrap2018 .h2result { height: 40px; }
	#resultWrap2018 .h2result h2 { height: 40px; padding: 0 0 0 40px; background: url(../images2018/home/result_icon.png) left center no-repeat; background-size: auto 40px; line-height: 40px;}
	#resultWrap2018 ul.resultList { width: 100%; margin: 0 auto 20px auto;}
	#resultWrap2018 ul.resultList li { width: 32%; margin: 5px 0.5%; }
	#resultWrap2018 ul.resultList li figure figcaption p, #resultWrap2018 ul.resultList li figure figcaption p span { font-size: 13px;}
}
@media screen and (max-width: 479px){
	#resultWrap2018 .h2result h2 { font-size: 20px;}
	#resultWrap2018 ul.resultList li { width: 48%; margin: 5px 1%; }
}


/* policy */

#policyWrap2018 { width:100%; background: url(../images2018/home/policy_tx.png);}
#policyWrap2018 .policyOuter { width: 1150px; margin: 0 auto; padding: 158px 0 40px 0; background: url(../images2018/home/policy_bg.jpg) center top no-repeat;}
#policyWrap2018 .policyInner { width: 934px; margin: 0 auto;}
#policyWrap2018 .h2policy { margin-bottom: 40px;}

#policyWrap2018 ul.policyList1 { width: 100%; height: 400px; display: table; table-layout: fixed; margin-bottom: 40px; text-align: center;}
#policyWrap2018 ul.policyList1 li { display: table-cell; vertical-align: bottom;}
#policyWrap2018 ul.policyList1 li:first-child { padding: 0; text-align: left; vertical-align: top;}
#policyWrap2018 ul.policyList1 li:last-child { padding: 0; text-align: right; vertical-align: top;}

#policyWrap2018 ul.policyList2 { width: 100%; display: table; table-layout: fixed; margin-bottom: 40px; text-align: center;}
#policyWrap2018 ul.policyList2 li {  display: table-cell;}
#policyWrap2018 ul.policyList2 li:first-child { padding: 0; text-align: left;}
#policyWrap2018 ul.policyList2 li:last-child { padding: 0; text-align: right;}

@media screen and (max-width: 640px){
	#policyWrap2018 .policyOuter { width: 100%; padding: 40px 10px 40px 10px; background-size: contain; }
	#policyWrap2018 .policyInner { width: 100%;}
	#policyWrap2018 .h2policy { width: 55%; margin-bottom: 40px;}
	#policyWrap2018 ul.policyList1 { height: auto; margin-bottom: 10px;}
	#policyWrap2018 ul.policyList1 li { vertical-align: top;}
	#policyWrap2018 ul.policyList2 { margin-bottom: 10px;}
}
@media screen and (max-width: 479px){

}


/* news */

#newsWrap2018 { width:100%; background: url(../images2018/home/news_bg.png);}
#newsWrap2018 .inner2018 { padding: 72px 0 40px 0;}
#newsWrap2018 .h2news { position: absolute; top: -50px; left: 50%; width: 580px; height: 112px; padding-top: 44px; margin-left: -290px; background: url(../images2018/home/news_title.png) center top no-repeat; background-size: contain; text-align: center;}
#newsWrap2018 .h2news h2 { color: #fff; font-size: 33px; font-weight: bold;}
#newsWrap2018 ul.newsList { width: 100%; margin-bottom: 20px;}
#newsWrap2018 ul.newsList li { width: 448px; margin: 0 26px 20px 26px; background: #fff; float: left;}
#newsWrap2018 ul.newsList li figure { width: 100%; height: 130px; margin: 0;}
#newsWrap2018 ul.newsList li figure .imgBox { width: 172px; height: 130px; float: left; text-align: center;}
#newsWrap2018 ul.newsList li figure figcaption { position: relative; width: auto; height: 130px; margin-left: 172px; padding: 10px;}
#newsWrap2018 ul.newsList li figure figcaption .data { font-size: 12px;}
#newsWrap2018 ul.newsList li figure figcaption .tag, #newsWrap2018 ul.newsList li figure figcaption .tag a { color: #ff4e0f; font-size: 12px;}
#newsWrap2018 ul.newsList li figure figcaption .title { font-size: 14px;}
#newsWrap2018 ul.newsList li figure figcaption .more { position: absolute; right: 0px; bottom: 0px;}
#newsWrap2018 ul.newsList li figure figcaption .more a { display: block; height: 20px; padding: 2px 8px; background: #1CC19C;color: #fff; text-align: center; line-height: 20px;}
#newsWrap2018 .newsMore { margin-bottom: 20px; text-align: center;}
#newsWrap2018 .newsMore a { display: inline-block; padding: 18px 64px; background: #1CC19C; color: #fff; font-size: 18px; font-weight: bold;}

@media screen and (max-width: 640px){
	#newsWrap2018 .inner2018 { padding: 50px 10px 40px 10px;}
	#newsWrap2018 .h2news { position: absolute; top: -50px; left: 50%; width: 440px; height: 85px; padding-top: 32px; margin-left: -220px;}
	#newsWrap2018 .h2news h2 { font-size: 28px;}
	#newsWrap2018 ul.newsList { margin-bottom: 0px;}
	#newsWrap2018 ul.newsList li { width: 100%; margin: 0 0 10px 0;}
}
@media screen and (max-width: 479px){
	#newsWrap2018 .inner2018 { padding: 46px 10px 20px 10px;}	#newsWrap2018 .h2news { position: absolute; top: -30px; left: 50%; width: 340px; height: 66px; padding-top: 26px; margin-left: -170px;}
	#newsWrap2018 .h2news h2 { font-size: 20px;}
	#newsWrap2018 .newsMore a { width: 100%; padding: 10px 0;}
}


/* check */

#checkWrap2018 { width:100%; padding-bottom: 80px; background: url(../images2018/home/news_bg.png);}
#checkWrap2018 .h2check { position: relative; width:100%; height: 30px; margin-bottom: 20px; text-align: left; z-index: 1000;}
#checkWrap2018 .h2check:before { position: absolute; left: 0px; top: 17px; width: 74px; height: 0; border-bottom: 1px #464646 solid; content: '';}
#checkWrap2018 .h2check:after { position: absolute; right: 0px; top: 17px; width: 764px; height: 0; border-bottom: 1px #464646 solid; content: '';}
#checkWrap2018 .h2check h2 { padding-left: 98px;}
#checkWrap2018 ul.checkList { width: 100%;}
#checkWrap2018 ul.checkList li { width: 229px; margin-right: 28px; float: left;}
#checkWrap2018 ul.checkList li:last-child { margin-right: 0;}

@media screen and (max-width: 640px){
	#checkWrap2018 { padding-bottom: 20px;}
	#checkWrap2018 .h2check { margin-bottom: 10px;}
	#checkWrap2018 .h2check:before { width: 40px;}
	#checkWrap2018 .h2check:after { display: none;}
	#checkWrap2018 .h2check h2 { padding-left: 50px;}
	#checkWrap2018 ul.checkList li { margin: 0 10px 10px 0;}
}
@media screen and (max-width: 479px){
	#checkWrap2018 ul.checkList li, #checkWrap2018 ul.checkList li:last-child  { width: 48%; margin: 0 1% 10px 1%;}
}



/* CSS memo
 
Font Awesome
https://fontawesome.com/icons?d=gallery&m=free

角丸
border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; 

テキストシャドウ
text-shadow:1px 1px 3px #000;
 
ボックスシャドウ
-moz-box-shadow: 1px 1px 3px #000; -webkit-box-shadow: 1px 1px 3px #000; box-shadow: 1px 1px 3px #000;
 
ボックスシャドウ内側
-moz-box-shadow:inset 1px 1px 3px #000; -webkit-box-shadow:inset 1px 1px 3px #000; box-shadow:inset 1px 1px 3px #000;

トランジション
-webkit-transition: 1.5s; -moz-transition: 1.5s; -o-transition: 1.5s; transition: 1.5s;
 
要素全部を透明
filter: alpha(opacity=25); -moz-opacity:0.25; opacity:0.25;
 
背景のみ透明
background-color:rgba(255,255,255,0.2);
 
:first-child
:last-child
:nth-child(odd)　･･･　奇数番目の要素に適用
:nth-child(even)　･･･　偶数番目の要素に適用
:nth-child(n)　･･･　n番目の要素に適用
:nth-child(2n+1)　･･･　奇数番目の要素に適用
:nth-child(2n)　･･･　偶数番目の要素に適用
:nth-child(3n)　･･･　3,6,9,12…番目の要素に適用
:nth-child(3n+1)　･･･　1,4,7,10…番目の要素に適用 

明朝体
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

テキスト省略
.container { overflow: hidden; width: 100%;}
.container  p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}

コンタクトフォーム
.contactTable {}
.contactTable input[type="text"] { width:250px;}
.contactTable input.eisu { ime-mode:inactive;}
.contactTable textarea { width:100%;}
.formNotice { display:none; color:#f33;}

可変Youtube埋め込み
.youtube { position: relative; width: 100%; padding-top: 56.25%;}
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important;}

要素を横スクロール
.scroll { width: 100%; padding-bottom: 10px; overflow-y: hidden; overflow-x: auto; -ms-overflow-style: -ms-autohiding-scrollbar; -webkit-overflow-scrolling: touch;}

CSS memo */