@charset "utf-8";

/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
*{ margin:0; padding:0; box-sizing:border-box; }
select option{ padding:0 5px; }
body{ font-size:16px; font-family: 'Noto Serif JP', sans-serif; line-height:1.9; text-align:center; min-width:1200px; _display: inline;_zoom:1; }
h1 , h2 , h3 , h4 , h5 , h6 , address{ font-style:normal; font-weight:normal; font-size:100%; }
ul{ list-style-type:none; }
img{ border:0; vertical-align:bottom; }

table{ border-spacing:0; border:0; }
table th{ text-align:left; vertical-align:middle; font-weight:normal; }
table td{ word-break:break-all; }

.floatR{ float:right; }
.floatL{ float:left; }

.alignL{ text-align:left; }
.alignR{ text-align:right; }
.alignC{ text-align:center; }

.rel{ position:relative; }
.abs{ position:absolute; }


/* clearfix **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.cf:after{ content:" "; display:block; clear:both; }


/* link **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/*a:link , a:visited{ text-decoration:none; color:#333; }
a:hover{ text-decoration:none; }*/


/* font decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* size */
.fontSS{ font-size:12px; }
.fontS{ font-size:14px; }
.fontM{ font-size:16px; }
.fontL{ font-size:20px; }
.fontLL{ font-size:24px; }
.fontLLL{ font-size:28px; }

/* color */
.txt-red{ color:#d2032b; font-weight:bold; }
.txt-blue{ color:#53bfca; font-weight:bold; }
.txt-yellow{ color:#f0d407; font-weight:bold; }
.txt-orange{ color:#e4b600; font-weight:bold; }
.txt-green{ color:#0ea89c; font-weight:bold; }
.txt-white{ color:#fff; }

/*indent */
.idt , ul.assist li , .system li{ padding-left:1.0em; text-indent:-1.0em; }
.idt-half{ padding-left:0.5em; text-indent:-0.5em; }

/*other */
.str{ font-weight:bold; }
.str-reset{ font-weight:normal; }

.underline{ text-decoration:underline; }
.underline-double{ border-bottom:double medium; }

.waveline{ background:url(../images/wave_line.png) repeat-x left bottom; padding-bottom:7px; }
.waveline-red{ background:url(../images/wave_line_red.png) repeat-x left bottom; padding-bottom:7px; }
.waveline-blue{ background:url(../images/wave_line_blue.png) repeat-x left bottom; padding-bottom:7px; }

.marker{background-color:#fff600; }


/* space **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* padding */
.spt0{ padding-top:0px !important; }
.spt5{ padding-top:5px !important; }
.spt10{ padding-top:10px !important; }
.spt15{ padding-top:15px !important; }
.spt20{ padding-top:20px !important; }
.spt25{ padding-top:25px !important; }
.spt30{ padding-top:30px !important; }
.spt35{ padding-top:35px !important; }

.spb0{ padding-bottom:0px !important; }
.spb5{ padding-bottom:5px !important; }
.spb10{ padding-bottom:10px !important; }
.spb15{ padding-bottom:15px !important; }
.spb20{ padding-bottom:20px !important; }
.spb25{ padding-bottom:25px !important; }
.spb30{ padding-bottom:30px !important; }
.spb35{ padding-bottom:35px !important; }

/* margin */
.smt0{ margin-top:0px !important; }
.smt5{ margin-top:5px !important; }
.smt10{ margin-top:10px !important; }
.smt15{ margin-top:15px !important; }
.smt20{ margin-top:20px !important; }
.smt25{ margin-top:25px !important; }
.smt30{ margin-top:30px !important; }
.smt35{ margin-top:35px !important; }
.smt40{ margin-top:40px !important; }
.smt45{ margin-top:45px !important; }
.smt50{ margin-top:50px !important; }
.smt-20{ margin-top:-20px !important; }
.smt-50{ margin-top:-50px !important; }

.smb0{ margin-bottom:0px !important; }
.smb5{ margin-bottom:5px !important; }
.smb10{ margin-bottom:10px !important; }
.smb15{ margin-bottom:15px !important; }
.smb20{ margin-bottom:20px !important; }
.smb25{ margin-bottom:25px !important; }
.smb30{ margin-bottom:30px !important; }
.smb35{ margin-bottom:35px !important; }
.smb40{ margin-bottom:40px !important; }
.smb45{ margin-bottom:45px !important; }
.smb50{ margin-bottom:50px !important; }
.smb-30{ margin-bottom:-30px !important; }

.sml0{ margin-left:0px !important; }
.sml20{ margin-left:20px !important; }
.sml30{ margin-left:30px !important; }
.sml50{ margin-left:50px !important; }

.smr0{ margin-right:0px !important; }
.smr20{ margin-right:20px !important; }
.smr30{ margin-right:30px !important; }
.smr50{ margin-right:50px !important; }

/* paragraph */
p{ padding:10px 0 }
p.lh-reset{ line-height:1.0; }

/* original frame */
.box{ margin:0 50px; }


/* favorite decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
ul.assist{ font-size:12px; padding:15px 25px 12px; line-height:1.6; border:solid 1px #cdcdcd; }


/* responsive  **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.pc-item{ display:block; }
.sp-item{ display:none; }

[class^="pic"]{ float:right; margin:0 50px 20px 20px; }
.inner [class^="pic"]{ float:right; margin:0 0 20px 20px; }

.inner{ padding:20px; background-color:#fff; }
.inner p{ margin:0 0 30px; }
.inner p:last-child{ margin:0; }


body { font-family:'Kosugi Maru', sans-serif;}


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap{ width:1092px; margin:0 auto; text-align:left; position:relative; }
.lead_wrap {
    width: 1030px;
    margin: 0 auto;
}
.top .wrap{ width:1130px; margin:0 auto; text-align:left; position:relative; padding:50px 0 20px; }

.entry img{ box-shadow:0 1px 8px rgba(0,0,0,0.2); }

/* top **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.top
 { background: #fffef9 url(../images/top_bg.jpg) center top no-repeat; }
.top h1{padding: 0px 0 0px; text-align: center;
}


/* btn **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.btn{background: #445580;display: inline-block;padding:15px;text-decoration:none;color:#fff;}
.btn:hover{background: #000000;display: inline-block;padding:15px;text-decoration:none;}
.btn a{color: #333;}


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
h2{padding-bottom:15px;}
.contents{background: #e7e7e4;padding-bottom:1px;}

ruby[data-ruby]
{position: relative;}
ruby[data-ruby]::before
{
	content: attr(data-ruby);
	position: absolute;
	line-height: 90%;
	text-align: center;
	left: -3em;
	right: -3em;
	transform-origin: bottom center;
	/* ルビの文字サイズを親文字に対する比率で指定 */
	transform: scale(0.6);
	/* 100%を越える部分が親文字とルビとのスペースになる。単位は親文字に対する比率 */
	bottom: 92%;
}
ruby[data-ruby] rt
{display: none;}

/* section1 */
.section1{ padding:0px 0 10px;}
.section1 .kakomi{ background:#fff; padding:50px 60px 40px; margin: 25px 0;}
.section1 .kakomi h3{ margin:0 0 30px; }
.section1 .kakomi .tit{ display:inline-block;  margin:0 10px 10px 40px; vertical-align:middle; font-size:14px; line-height: 150%; color: #00a73b;}
.section1 .kakomi .tit img{margin: 5px 0 10px;}

.section1 .kakomi .img {
    display: inline-block;
    margin: 0 40px 10px 10px;
    vertical-align: middle;
    font-size: 14px;
    line-height: 150%;
}


.section1 .kakomi .txt2{ display:inline-block; vertical-align:middle; width:470px; padding-bottom:60px; }


/* section2 */
.section2{ margin:20px 0; }
.section2 h2{font-size:15pt; font-weight:600;}
.section2 { background:#ede7c2; padding:30px; }
.section2 .kakomi .tit{ display:inline-block; vertical-align:middle; margin:0 30px 10px 30px; font-size:14px; line-height: 150%; }
.section2 .kakomi .tit img{margin: 5px 0 10px;}
.section2 .kakomi .txt2{ display:inline-block; vertical-align:middle; width:540px; }

/* section3 */
.section3{ padding:0 0 30px; }


input[type=checkbox]:checked ~ div.changed {
    display:none;
}
input[type=checkbox]:checked ~ div.changed2 {
    display:block;
}


/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/*.footer{ font-size:14px; background:#1a676f; padding:20px 0 18px; color:#fff; }
.footer .wrap{ box-sizing:border-box; overflow:hidden; }
.footer .txt{ float:left; padding-right:40px; }
.footer .url{ float:left; color:#0d464c; background:#fff; border-radius:10px; padding:20px; }
.footer .logo{ float:right; margin-top:12px;}
.footer a{ color:#0d464c; }*/


/* ★★★ タブレット ★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 768px){
/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
body{ min-width:100%; font-size:15px; }


/* space **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* paragraph */
p{ margin:0 10px 30px; }

/* original frame */
.box{ margin:0; }

/* responsive **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.pc-item{ display:none; }
.sp-item{ display:block; }

[class^="pic"],.inner [class^="pic"]{ float:none; margin:0 auto 20px; }

.inner{ padding:20px; text-align:center; }
.inner p{ text-align:left; }

.w100 img{ width:100%; height:auto; }
.w90 img{ width:90%; height:auto; }
.w80 img{ width:80%; height:auto; }
.mw80 img{ max-width:80%; height:auto; }
.mw90 img{ max-width:90%; height:auto; }
.mw60 img{ max-width:60%; height:auto; }
.mw100 img{ max-width:100%; height:auto; }
p img{ max-width:520px; width:100%; height:auto; }


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap, .lead_wrap{ width:calc(100% - 20px); -webkit-width:calc(100% - 20px); margin:0 10px; }
/*↑width:calc(ウィンドウ幅 - 左右に空けたい余白の合計値);*/

/* top **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.top h1 img{ width:100%; }
.top{ background:none; height:auto; }
.top h1{padding: 0px 0 0px;}

/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/

/* section1 */
.section1{ padding:30px 0 0;}
.section1 .spbr_none{ display: none;}
.section1 .kakomi{ background:#fff; padding:20px; margin: 25px 0 0; }
.section1 .kakomi h3 img{ margin-top:0; }
.section1 .kakomi .tit { text-align:center; margin: 20px auto 0px; width:100%;}
.section1 .kakomi .tit img{ width:90%; padding:0 10px 10px; }
.section1 .kakomi .txt{ width:100%;  text-align:center; }
.section1 .kakomi .txt2{ width:100%;  text-align:center; padding-bottom:0px; }
.section1 .kakomi:nth-of-type(3){margin-bottom:20px;}

/* section2 */
.section2 p{margin-bottom: 0; padding-top: 10px;}
.section2 .kakomi h3 img{ margin-top:0; }
.section2 .kakomi .tit { text-align:center; margin: 0 auto 10px; width:100%;}
.section2 .kakomi .tit img{ width:90%; padding:0 10px 5px; }
.section2 .kakomi .txt{ width:100%;  text-align:center; }
.section2 .kakomi .txt2{ width:100%;  text-align:center; }
.section2 .kakomi:nth-of-type(3){margin-bottom:20px;}

/* section3 */
.section3{ padding:0 0 5px; }

}


@media only screen and (max-width: 540px){
/* top ********** スマホサイズまで待つと小さくなり過ぎるので 540px から2分割にしている
///////////////////////////////////////////////////////////////////////////////////////////////*/
}


/* ★★★ スマホ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 414px){ /* iPhone6Plus */
/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
body{ min-width:320px; }
/*↑最小幅指定*/


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/


}

