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


/*
* "Noto Sans JP" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Noto+Sans+JP
*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/NS-400.woff2") format("woff2"), url("fonts/NS-400.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/NS-700.woff2") format("woff2"), url("fonts/NS-700.woff") format("woff");
  font-display: swap;
}




/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/


h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
small,
dl,
dt,
dd,
ol,
ul,
li {
  margin: 0;
  font-size: 100%;
}

ul {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

img {
  vertical-align: top;
}

li {
  list-style-type: none;
  vertical-align: baseline;
}

input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/*--------------------------------------
　Base
---------------------------------------*/
*{
box-sizing: border-box;
}
img{
-webkit-backface-visibility: hidden;
}


body {
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-size:15px;
font-size:1.5em;
line-height:2.2;
font-weight: normal;
color: #333333;
}

img { 
  max-width: 100%; 
  height:auto;
}

a {
color: #333333;
text-decoration: none;
}

a:hover {
  text-decoration: none;
}

p a{
text-decoration: underline;
}


.fl {
  float: left;
}

.fr {
  float: right;
}

.strong {
  font-weight: bold;
}

.f110 {
  font-size: 110%;
}

.f120 {
  font-size: 120%;
}

.f130 {
  font-size: 130%;
}

.f150 {
  font-size: 150%;
}

.f200 {
  font-size: 200%;
}

.f300 {
  font-size: 300%;
}


/* Micro clearfix */

/* For modern browsers */
.cf:before,.cf:after { content:""; display:table; }
.cf:after { clear:both; }
/* For IE 6/7 (trigger hasLayout) */
.cf { zoom:1; }


.flImg{
float:left;
}
.frImg{
float:right;
}


h1,h2{
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
padding: 0;
line-height: 1.3;
font-feature-settings: "palt" 1;
letter-spacing: .1em;
}
h3,h4,h5,h6{
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
padding: 0;
line-height: 1.3;
font-feature-settings: "palt" 1;
letter-spacing: 1px;
}


.sttl{
position: relative;
margin: 0 0 12px;
font-size:20px;
font-size:2.0rem;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
line-height: 1.5;
font-feature-settings: "palt" 1;
letter-spacing: 1px;
}
.catch{
position: relative;
margin: 0 0 12px;
font-size:20px;
font-size:2.0rem;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
line-height: 1.6;
font-feature-settings: "palt" 1;
letter-spacing: 1px;
color: #20a5da;
}


.fontS{
font-size: 62.5%;
/*margin-left: -1rem;*/
}
.fontBl{
color: #20a5da;
}
.fontWt{
color: #ffffff;
}
.fontBold{
font-weight: 700;
}

html {
font-size: 62.5%;
}






/*------------
600px--common
------------*/

.sp,
.sp_br{
display:none!important;
}
.sp2{
display:none;
}


body{
position: relative;
width: 100%;
min-width:1280px;
}
body::before{
}
.forTab{
overflow: hidden;
}


a{
transition: all .2s ease-in-out;
}
a:hover,
a:hover img{
opacity: 0.7;
}


.mainWrap h1, .mainWrap h2, .mainWrap h3, .mainWrap h4, .mainWrap h5, .mainWrap h6{
}
.mainWrap h1 a, .mainWrap h2 a, .mainWrap h3 a, .mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
}


.areaInner{
width: 1100px;
margin: 0 auto;
}






/*--------------------------------------
contentsWrap
---------------------------------------*/
#contentsWrap{
position: relative;
z-index: 0;
overflow-x: hidden;
width: calc(100% - 200px);
margin-left: 200px;
}


/*--------------------------------------
side
---------------------------------------*/
.sideNav{
/*display: none;*/
position: fixed;
z-index: 10;
top: 0;
height: 100%;
width: 200px;
overflow: auto;
background: #fff;
border-right: 1px solid #ccc;
padding: 45px 0 30px;
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
}
.sideNav::-webkit-scrollbar{
display: none;/* Chrome, Safari 対応 */
}


.sideNav .logo{
width: 130px;
margin: 0 auto 40px;
}
.sideNav .bans a{
display: block;
margin: 0 0 15px;
}
.sideNav #gNav_pc{
background: url(./img/dotline3.png) 0 0 repeat-x;
background-size: auto 1px;
padding: 1px 0 0;
}
.sideNav .sttl{
margin: 0;
padding: 0 0 1px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
}
.sideNav .sttl a{
position: relative;
display: block;
padding: 20px 40px 20px 20px;
background: url("./img/arrow_bk.svg") calc(100% - 12px) 50% no-repeat;
background-size: 7px auto;
font-size:14px;
font-size:1.4rem;
letter-spacing: 0;
font-weight: 400;
}
.sideNav .sttl > a{
z-index: 1;
/*background-color: #fff;*/
}

#gNav_pc .tglMenu2{
}
#gNav_pc .accChild2{
display: none;
position: fixed;
z-index: 1;
width: 300px;
overflow: auto;
top: 0;
left: 200px;
background: #f6f9d0;
height: 100vh;
/*transition: all 300ms 0s ease;*/
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
}
#gNav_pc .accChild2::-webkit-scrollbar{
display: none;/* Chrome, Safari 対応 */
}

#gNav_pc .tglMenu2:hover .accChild2{
display: block;
animation-name: fadeInAnime;
animation-fill-mode:backwards;
animation-duration:.5s;
animation-iteration-count:1;
animation-timing-function:ease;
animation-delay: 0s;
animation-direction:normal;
}

#gNav_pc .tglMenu2:hover > a{
background-color: #eef585;
opacity: 1;
}


@keyframes fadeInAnime {
0% {
opacity: 0;
left: 180px;
}
100% {
opacity: 1;
left: 200px;
}
}

#gNav_pc .tglMenu2 a:hover{
opacity: 1;
background-color: #eef585;
}



.sideNav .botLink a{
display: block;
padding: 20px 40px 20px 20px;
background: url("./img/arrow_bk.svg") calc(100% - 12px) 50% no-repeat;
background-size: 7px auto;
font-size:13px;
font-size:1.3rem;
text-align: right;
}




/*--------------------------------------
　Header_PC
---------------------------------------*/
#header{
position: relative;
z-index: 12;
width: 100%;
min-width: 1100px;
padding: 0px 30px;
}

#header .siteName{
text-align: right;
font-size:11px;
font-size:1.1rem;
}
#header .siteName a{
}

/*--------------------------------------
　Pankuzu_PC
---------------------------------------*/
#pankuzuWrap{
position: relative;
width: 100%;
}

#pankuzu{
width: 1000px;
margin: 0 auto;
padding: 0;
font-size:13px;
font-size:1.3rem;
color: #666;
}
#pankuzu a{
color: #666;
}





/*--------------------------------------
　Header2_PC
---------------------------------------*/
#header2 {
display: none;
}


/*--------------------------------------
　Global Nav
---------------------------------------*/
#sp_nav{
display: none;
}







/*--------------------------------------
　Main Contents
---------------------------------------*/

#contents {
position: relative;
z-index: 10;
width: 100%;
padding: 0 0 100px;
}



.mainWrap {
position: relative;
margin: 10px 50px 0;
min-height: 500px;
}

.smap{
margin: 0 0 80px;
}

.index{
width: 100%;
}
.index a,
.mainWrap a{
display: block;
}
.index p a,.mainWrap p a,
.index li a,.mainWrap li a,
.index td a,.mainWrap td a{
display: inline;
}






/*--------------------------------------
　Side_PC
---------------------------------------*/


/*--------------------------------------
　Footer_PC
---------------------------------------*/

#page-top {
width: 70px;
position: fixed;
bottom: 40px;
right: 40px;
border-radius:50%;
z-index: 10000;
}
#page-top img{
width: 70px;
}


footer{
position: relative;
z-index: 101;
margin: 0 0 0;
/*overflow-x: hidden;*/
width: 100%;
background: #f6f6f6;
}

footer .footInner{
width: 1000px;
margin: 0 auto;
padding: 50px 0 0;
text-align: center;
}

footer .logo{
position: relative;
z-index: 100;
width: 112px;
margin: 0 auto 40px;
}

footer a{
}


footer .footBox{
position: relative;
z-index: 9;
margin: 0 0 30px;
text-align: left;
 }
.footBox .sttl{
margin: 0 0 12px;
padding: 0 0 10px;
border-bottom: 1px solid #cccccc;
}
.footBox .sttl a{
position: relative;
display: block;
padding: 4px 10px 4px;
font-size:18px;
font-size:1.8rem;
font-weight: 700;
text-decoration: none;
line-height: 1.3;
}

footer .smap .sttl a{
font-size:16px;
font-size:1.6rem;
}

.footBox > ul{
padding: 0 10px;
}
.footBox li{
display: inline-block;
color: #1b46a5;
}

.footBox li ul{
}

.footBox li a{
font-size:15px;
font-size:1.5rem;
}
.footBox li:after{
content: "　/　";
}
.footBox li:last-child:after{
content: "";
}


.footBox li.subCat{
}
.footBox li.subCat:after{
content: "";
}
.footBox li.subCat > a{
}
.footBox li.subCat > a:after{
}
.footBox ul.subList{
display: inline-block;
margin: 0 20px 0 0;
}
.footBox ul.subList > li:first-child::before{
content: "";
margin: 0 0 0 15px;
}
.footBox ul.subList li:after{
content: " / ";
color: #fff;
}
.footBox ul.subList li:last-child::after{
content: "";
}



footer .noticeArea{
padding: 40px 60px 4px;
}
footer .noticeArea p{
margin: 0 0 10px;
text-align: center;
font-size:12px;
font-size:1.2rem;
line-height: 1.6;
color: #666666;
}
footer .noticeArea .botPrg{
padding: 16px 0 0;
}

footer .botArea{
width: 1100px;
margin: 0 auto;
box-sizing: border-box;
padding: 0 30px;
color: #666666;
}
footer .botArea .botInner{
}
footer .botArea .copy{
padding: 14px 0;
font-size:12px;
font-size:1.2rem;
text-align: center;
color: #666666;
letter-spacing: 0;
}
footer .botArea a{
text-decoration: none;
color: #666666;
}







/* ================== */
/*  PC共通パーツ　*/
/* ================== */

#contents h1{
position: relative;
margin: 0 -100% 30px;
padding: 70px calc(100% + 20px) 74px;
background: url(./img/h1_bg.jpg) 50% 0 repeat;
background-size: 60% auto;
font-size:40px;
font-size:4.0rem;
line-height: 1.4;
text-align: center;
}
#contents h1 a{
position: relative;
padding: 0 20px;
background: url(./img/arrow_bk.svg) 100% calc(50% + 3px) no-repeat;
background-size: 16px auto;
text-decoration: none;
}
#contents h1::before{
}
#contents h1::after{
}


.mainWrap h2{
position: relative;
margin: 50px 0 30px;
padding: 20px 30px 22px;
background: #333333;
font-size:28px;
font-size:2.8rem;
color: #fff;
}

.mainWrap h2 a{
position: relative;
padding: 0 20px 0 0;
background: url(./img/arrow_wt.svg) 100% calc(50% + 1px) no-repeat;
background-size: 12px auto;
color: #fff;
}
.mainWrap h2::before {
}
.mainWrap h2::after{
}




.mainWrap h3 {
position: relative;
margin: 40px 0 30px;
padding: 16px 30px 16px;
font-size:22px;
font-size:2.2rem;
}
.mainWrap h3 a{
position: relative;
display: inline-block;
padding: 0 20px 0 0;
background: url(./img/arrow_bk.svg) 100% calc(50% + 1px) no-repeat;
background-size: 12px auto;
text-decoration: none;
}
.mainWrap h3::before{
content: "";
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 68px;
height: 68px;
background: url(./img/dot_deco_s.png) 0 0 no-repeat;
}
.mainWrap h3:after{
}


 
.mainWrap h4, .mainWrap h5, .mainWrap h6{
position: relative;
margin: 20px 0 10px;
padding: 18px 16px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
font-size:20px;
font-size:2.0rem;
}
.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
padding: 0 16px 0 0;
background: url(./img/arrow_bk.svg) 100% 50% no-repeat;
background-size: 10px auto;
text-decoration: none;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before {
}
.mainWrap h4:before, .mainWrap h5:before, .mainWrap h6:before{
}


.mainWrap .point{
position: relative;
margin: 40px 0 10px;
padding: 18px 16px 18px 86px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
font-size:20px;
font-size:2.0rem;
font-weight: 700;
font-feature-settings: "palt" 1;
letter-spacing: 1px;
line-height: 1.3;
}
.mainWrap .point::before{
content: "";
position: absolute;
top: -10px;
left: 0;
width: 75px;
height: 100px;
}
.mainWrap .point1::before{
background: url(./img/point1.png) 0 0 no-repeat;
background-size: 75px auto;
}
.mainWrap .point2::before{
background: url(./img/point2.png) 0 0 no-repeat;
background-size: 75px auto;
}
.mainWrap .point3::before{
background: url(./img/point3.png) 0 0 no-repeat;
background-size: 75px auto;
}
.mainWrap .point4::before{
background: url(./img/point4.png) 0 0 no-repeat;
background-size: 75px auto;
}






.mainWrap ul{
margin: 10px 0 30px;
padding:10px 10px 0;
}
.mainWrap ul li{
position: relative;
padding:0 0 1px 22px;
}
.mainWrap ul li::before{
position: absolute;
content: "";
background: #84a346;
border-radius:50%;
width: 12px;
height: 12px;
top: calc(50% - 6px);
left: 4px;
}

.mainWrap ol {
margin: 10px 0 30px;
padding:10px 10px 0;
}
.mainWrap ol li{
padding:0 0 1px 22px;
list-style: none;
position: relative;
counter-increment: number;
}

.mainWrap ol li::before{
position: absolute;
top: 9px;
left: 0;
width: 15px;
height: 12px;
padding: 1px 0 2px;
background: #84a346;
color: #fff;
text-align: center;
letter-spacing: -0.5px;
line-height: 1.3;
font-size:12px;
font-size:1.2rem;
font-family: Arial, Helvetica," sans-serif";
font-weight: bold;
}


.mainWrap ol li:nth-child(-n + 9):before {
  content: counter(number);
}
.mainWrap ol li:nth-child(n + 10):before {
  content: counter(number);
}



.mainWrap p {
margin: 20px 0;
padding: 0 0;
word-break: break-all;
line-height: 2.1;
}



/*  btns*/
.btn-internal,
.btn-web,
.btn-tel{
position: relative;
z-index: 1;
text-align: center;
margin: 0 auto;
padding: 10px 0!important;
}
.btn-internal a,
.btn-web a,
.btn-tel a{
font-feature-settings: "palt" 1;
font-weight: 700;
letter-spacing: 1px;
}


.btn-internal a{
position: relative;
display: inline-block!important;
width: 440px;
padding: 18px 30px 20px;
background: #20a5da;
border-radius: 5px;
box-shadow: 6px 6px 0 0 #ededed;
text-align: center;
text-decoration: none;
line-height: 1.5;
font-size:16px;
font-size:1.6rem;
color: #fff;
}
.btn-internal a::before{
content: "";
position: absolute;
top: 0;
right: 16px;
width: 22px;
height: 100%;
background: url(./img/arrow_wt.svg) 100% 48% no-repeat;
background-size: 8px auto;
}
.btn-internal a::after{
}
.btn-internal a:hover{
opacity: 1;
transform: translate3d(0, 6px, 0);
box-shadow: 0 0 0 0 #666666;
}
.btn-internal a:hover::after{
}


.btn-web{
/*background: #ccc;*/
}
.btn-web a{
position: relative;
display: inline-block!important;
width: 440px;
padding: 18px 70px 20px;
background: #ff9a16;
border-radius: 5px;
box-shadow: 6px 6px 0 0 #ededed;
text-align: center;
text-decoration: none;
line-height: 1.5;
font-size:16px;
font-size:1.6rem;
color: #fff;
}

.btn-web a::before{
content: "";
position: absolute;
top: 0;
right: 16px;
width: 22px;
height: 100%;
background: url(./img/arrow_wt.svg) 100% 48% no-repeat;
background-size: 8px auto;
}
.btn-web a::after{
content: "";
position: absolute;
bottom: 0;
left: 10px;
width: 54px;
height: 71px;
background: url(./img/btn_web.png) 0 0 no-repeat;
background-size: 54px auto;
}
.btn-web a:hover{
opacity: 1;
transform: translate3d(0, 6px, 0);
box-shadow: 0 0 0 0 #666666;
}
.btn-web a:hover::after{
}



.btn-tel{
display: none;
}
.btn-tel a{
position: relative;
display: inline-block!important;
width: 440px;
padding: 18px 30px 20px;
background: #bacc06;
border-radius: 5px;
box-shadow: 6px 6px 0 0 #ededed;
text-align: center;
text-decoration: none;
line-height: 1.5;
font-size:16px;
font-size:1.6rem;
color: #fff;
}
.btn-tel a::before{
content: "";
top: 0;
left: 20px;
position: absolute;
width: 28px;
height: 100%;
background: url(./img/ico_tel.svg) 7% 50% no-repeat;
background-size: 24px auto;
}
.btn-tel a::after{
}
.btn-tel a:hover{
opacity: 1;
transform: translate3d(0, 4px, 0);
box-shadow: 0 0 0 0 #666666;
}
.btn-tel a:hover::after{
}



.btn-link{
margin: 20px 0;
text-align: right;
}
.btn-link a{
position: relative;
display: inline-block;
padding: 4px 22px 5px 0;
background: url(./img/arrow_bk.svg) 100% calc(50% + 1px) no-repeat;
background-size: 8px auto;
line-height: 1.5;
text-decoration: underline;
font-size:15px;
font-size:1.5rem;
text-align: right;
}

.btn-link a:hover{
text-decoration: none;
}


/* ================== */
/*  テーブル　　　　　*/
/* ================== */
table {
width: 98%;
margin:60px auto;
}
table th {
width: 22%;
padding: 20px 16px;
background: #ededed;
border: 1px solid #ddd;
line-height: 1.3;
text-align:center;
font-weight: 700;
word-break: break-all;
letter-spacing: 0;
}
table td {
background: #fff;
border: 1px solid #ddd;
padding: 20px 16px;
line-height: 1.4;
word-break: break-all;
}








/* ================== */
/*  PCカスタマイズ共通　*/
/* ================== */
.caption,
.source{
margin: 8px 0 0;
padding: 0 0 4px;
font-size:10px;
font-size:1.0rem;
line-height: 1.3;
color: #999;
overflow: auto;
white-space: nowrap;
letter-spacing: 0;
scrollbar-width: thin;/* for_FireFox */
}
.caption::-webkit-scrollbar{
height: 3px;
}
.caption::-webkit-scrollbar-track{
border-radius: 3px;
background: #eee;
}
.caption::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #aaa;
}
.caption a {
display: inline;
text-decoration: none;
color: #999;
}


.txt_marker{
padding: 0 5px;
background: #f6fbb5;
font-weight: 700;
}
.txt_marker2{
font-weight: 700;
color: #20a5da;
}



/* float-wrap */

.mainWrap .float-wrap{
margin: 50px 0;
padding: 0 20px;
}
.mainWrap .float-wrap .catch{
margin: 0 0 12px;
}


.mainWrap .float-wrap .flame{
position: relative;
}


.mainWrap .float-wrap img{
/*width: 100%;*/
width: auto;
}
.mainWrap .float-wrap p{
margin: 0;
padding: 0;
}

.mainWrap .float-wrap .fl{
width: 320px;
padding: 0 30px 20px 0;
text-align: center;
}
.mainWrap .float-wrap .fr{
width: 320px;
padding: 0 0 20px 30px;
text-align: center;
}

.mainWrap .float-wrap .ct{
/*width: 320px;*/
width: auto;
margin: 0 auto;
padding: 0 0 20px;
text-align: center;
}






/* ================== */
/*  追加パーツ*/
/* ================== */



/* box3wrap_PC */
.box3wrap .box3{
display: flex;
flex-wrap: wrap;
}
.box3wrap .box3 .liBox{
width: calc((100% - 40px) / 3);
margin: 0 20px 20px 0;
}
.box3wrap .box3 .liBox:nth-child(3n){
margin: 0 0 20px 0;
}
.box3wrap .liBox{
position: relative;
padding: 15px 30px 20px;
border: 5px solid #ededed;
}
.box3wrap .liBox::before{
content: "";
position: absolute;
top: -5px;
left: calc(50% - 55px);
width: 110px;
height: 16px;
border-radius:0 0 4px 4px;
background: #e8f528;
}

.box3wrap .liBox .sttl{
margin: 0 0 16px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
text-align: center;
}
.box3wrap .liBox .sttl a{
display: flex;
align-items: center;
justify-content: center;
padding: 16px 24px;
background: url(./img/arrow_bk.svg) 100% 50% no-repeat;
background-size: 8px auto;
}
.box3wrap .liBox p{
margin: 10px 0 16px;
}
.box3wrap .liBox dl{
display: table;
width: 100%;
background: url(./img/dotline3.png) 0 0 repeat-x;
background-size: auto 1px;
padding: 10px 0;
}
.box3wrap .liBox dt{
display: table-cell;
vertical-align: middle;
width: 6.7rem;
background: #f6f6f6;
padding: 6px 5px 8px;
font-size:14px;
font-size:1.4rem;
font-weight: 700;
text-align: center;
line-height: 1.3;
}
.box3wrap .liBox dd{
display: table-cell;
vertical-align: middle;
padding: 0 0 0 10px;
font-size:13px;
font-size:1.3rem;
line-height: 1.5;
}




/* links_PC */
.links{position: relative;margin: 100px 0 0;padding: 15px 40px 40px;background: #f6f6f6;
border-radius:5px;}
.links .sttl{
margin: 0 0 16px;
font-size:28px;
font-size:2.8rem;
text-align: center;
}
.links .wrapBox{
position: relative;
background: #fff;
padding: 24px 40px 30px;
}
.links .wrapBox::before{
}
.links .wrapBox::after{
}
.links .wrapBox ul{
margin: 0 0;
padding: 0 0 0;
}
.links li{
margin: 4px 0;
text-align: left;
}
.links li a{

}


/* mokuji_PC */
.mokuji{
position: relative;
margin: 100px 0;
padding: 15px 40px 40px;
background: #f6f6f6;

}
.mokuji .sttl{
z-index: 1;
margin: 0 0 10px;
padding: 15px 0 0;
font-size:28px;
font-size:2.8rem;
}
.mokuji::before {
content: "";
position: absolute;
top: 20px;
left: 20px;
width: 68px;
height: 68px;
background: url(./img/dot_deco_s.png) 0 0 no-repeat;
}
.mokuji #toc{
position: relative;
background: #fff;
padding: 24px 40px 30px;
}
.mokuji ul{
margin:0;
padding:0;
}
.mokuji ul ul{
padding: 0 0 0 2em;
}
.mokuji ul li{
margin: 0;
padding: 8px 0 8px 22px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
text-align: left;
}
.mokuji ul li:last-child{
background: none;
}
.mokuji li a{
padding: 0;
width: 0;
background: none;
font-size:16px;
font-size:1.6rem;
font-weight: 700;
}
.mokuji li a:last-child{
/*padding: 4px 22px 5px 0;
background: url(./img/arrow.svg) 100% 55% no-repeat;
background-size: 16px auto;*/
}





/* matome_PC */
.matome{
position: relative;
background: #eef585;
padding: 40px 50px;
margin-top: 6rem;
}
.matome .wrapBox{
position: relative;
background: #ffff;
padding: 50px 50px 30px;
}
.matome .wrapBox::before{
content: "";
position: absolute;
bottom: -10px;
right: -18px;
width: 158px;
height: 102px;
background: url(./img/matome_ill.png) 0 0 no-repeat;
background-size: 158px auto;
}
.matome .sttl{
position: absolute;
z-index: 1;
top: -48px;
left: calc(50% - 50px);
width: 100px;
height: 114px;
background: url(./img/fuki1.png) 0 0 no-repeat;
background-size: 100px auto;
padding: 30px 0 0;
font-size:24px;
font-size:2.4rem;
color: #fff;
text-align: center;
}
.matome .catch{
font-size:24px;
font-size:2.4rem;
line-height: 1.4;
}





/* pickup_PC */
.pickup{
position: relative;
margin: 100px -100% 100px;
padding: 70px 100% 74px;
background: url(./img/gray_bg.jpg) 50% 0 repeat-y;
background-size: 80% auto;
}
.pickup::before{
content: "";
position: absolute;
bottom: -50px;
left: 0;
width: 100%;
height: 100px;
background: url(./img/down_arrow.svg) 50% 0 no-repeat;
background-size: 104px auto;
}
.pickup .inner{
position: relative;
padding: 35px 40px 40px 120px;
background: url(./img/dot_deco_m.png) 20px 30px no-repeat rgba(255,255,255,.8);
}
.pickup .inner::before{
content: "";
position: absolute;
top: -20px;
right: 30px;
width: 114px;
height: 100px;
background: url(./img/check.svg) 0 0 no-repeat;
background-size: 114px auto;
}
.pickup .fontEng{
position: absolute;
top: 0;
left: -10px;
transform: rotate(90deg);
transform-origin: bottom left;
font-size:50px;
font-size:5.0rem;
font-weight: 700;
color:rgba(51,51,51,.8);
}
.pickup .ttlAera{
position: relative;
background: #20a5da;
margin: 0 0 36px 70px;
}
.pickup .ttlAera::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 20px;
background: #333;
}
.pickup .ttlAera .sttl{
width: 520px;
float: left;
padding: 34px 0 5px 30px;
font-size:30px;
font-size:3.0rem;
color: #fff;
}
.pickup .ttlAera .hsp{
position: relative;
background: #fff;
width: 220px;
float: right;
margin: 10px 10px 0 0;
padding: 12px 10px 10px;
border-radius:3px;
font-size:13px;
font-size:1.3rem;
}
.pickup .ttlAera .hsp::before{
content: "";
position: absolute;
top: -20px;
left: 0;
width: 100%;
height: 33px;
background: url(./img/hsp.png) 50% 0 no-repeat;
background-size: 41px auto;
}

.pickup .imgArea{
margin: 0 0 50px;
}
.pickup .imgArea .float-img{
width: 360px;
}
.pickup .imgArea .txtArea{
width: 450px;
float: right;
}

.decoTtl{
position: relative;
margin: 0;
min-height: 70px;
padding: 16px 0 0 30px;
font-size:22px;
font-size:2.2rem;
}
.decoTtl span,
.decoTtl a{
position: relative;
z-index: 1;
}
.decoTtl::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 68px;
height: 68px;
background: url(./img/dot_deco_s.png) 0 0 no-repeat;
}

.pickup .txtArea .liBox{
position: relative;
padding: 10px 0 10px 30px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
line-height: 1.6;
font-weight: 700;
}
.pickup .txtArea .liBox .fontBl{
font-size:18px;
font-size:1.8rem;
}
.pickup .txtArea .liBox::before{
content: "";
position: absolute;
top: 8px;
left: 0;
width: 21px;
height: 30px;
background: url(./img/denkyu.png) 0 0 no-repeat;
background-size: 21px auto;
}

.pickup .boxArea .box{
border: 5px solid #ededed;
width: 360px;
float: left;
padding: 10px;
}
.pickup .boxArea .box:nth-child(2){
width: 440px;
float: right;
}
.pickup .boxArea ul{
margin: 0 0 10px;
}



/* botCommon_PC */
.botCommon{
position: relative;
}
.indexSect {
position: relative;
padding: 120px 0 120px;
}
#sect04{
padding: 100px 0 100px;
}
#sect04 .areaInner{
}
#sect04 .ttlArea{
position: relative;
background: url(./img/dot_deco_m.png) 0 0 no-repeat;
padding: 24px 340px 30px 90px;
}
#sect04 .ttlArea::before{
content: "";
position: absolute;
bottom: -40px;
right: 70px;
width: 236px;
height: 232px;
background: url(./img/sect04_ill.png) 0 0 no-repeat;
}

#sect04 .fontEng{
position: absolute;
top: 0;
left: -10px;
transform: rotate(90deg);
transform-origin: bottom left;
font-size:50px;
font-size:5.0rem;
font-weight: 700;
color:rgba(51,51,51,.8);
}
#sect04 .ttlArea .fuki{
position: absolute;
top: 50px;
right: 0;
width: 120px;
height: 120px;
padding: 36px 0 0;
background: url(./img/fuki2.png) 0 0 no-repeat;
background-size: 120px auto;
font-size:16px;
font-size:1.6rem;
font-weight: 700;
text-align: center;
line-height: 1.6;
letter-spacing: 1px;
}
#sect04 .ttlArea .fuki::before{
content: "";
position: absolute;
top: -20px;
left: 0;
width: 100%;
height: 48px;
background: url(./img/denkyu.png) 50% 0 no-repeat;
background-size: 34px auto;
}

#sect04 .sectTtl{
position: relative;
font-weight: 700;
line-height: 1.4;
font-feature-settings: "palt" 1;
letter-spacing: 1px;
}
#sect04 .sectTtl .fontBl{
display: block;
position: relative;
margin: 0 0 10px;
font-size:28px;
font-size:2.8rem;
}
#sect04 .sectTtl .bkBox{
display: block;
background: #333;
margin: 0 0 16px;
padding: 18px 15px 20px;
font-size:34px;
font-size:3.4rem;
color: #fff;
}

#sect04 .ulBoxWrap{
position: relative;
background: url(./img/sect04_bg.jpg) 0 0 no-repeat;
background-size: cover;
padding: 70px 0;
}
#sect04 .ulBox .areaInner{
display: flex;
flex-wrap: wrap;
padding: 50px 50px 45px;
background: rgba(255,255,255,.8);
	 justify-content: center;
}

#sect04 .liBox{
background: #fff;
width: calc((100% - 40px) / 3);
margin: 0 20px 30px 0;
}
#sect04 .liBox:nth-child(3n){
margin: 0 0 30px;
}
#sect04 .liBox .catch{
background: #333333;
padding: 0 0 15px;
color: #fff;
text-align: center;
line-height: 1.4;
}
#sect04 .liBox .fuki{
position: relative;
top:-10px;
margin: 0;
padding: 10px;
background: #20a5da;
font-size:15px;
font-size:1.5rem;
}
#sect04 .liBox .fuki::before{
content: "";
position: absolute;
bottom: -10px;
left: 0;
width: 100%;
height: 13px;
background: url(./img/tri1.svg) 50% 0 no-repeat;
}
#sect04 .liBox .boxInner{
padding: 0 20px 20px;
}
#sect04 .liBox .boxTtl{
padding: 10px 0;
font-size:22px;
font-size:2.2rem;
text-align: center;
}
#sect04 .liBox .miniTtl{
margin: 20px 0 0;
font-size:16px;
font-size:1.6rem;
text-align: center;
}
#sect04 .liBox2{
position: relative;
padding: 10px 0 10px 30px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
line-height: 1.6;
font-size:14px;
font-size:1.4rem;
}
#sect04 .liBox2::before{
content: "";
position: absolute;
top: 8px;
left: 0;
width: 21px;
height: 30px;
background: url(./img/denkyu.png) 0 0 no-repeat;
background-size: 21px auto;
}
#sect04 .lineup{
display: flex;
flex-wrap: wrap;
margin: 16px 0 10px;
}
#sect04 .lineup div{
display: flex;
align-items: center;
justify-content: center;
width: calc((100% - 20px) / 3);
margin: 0 10px 10px 0;
padding: 4px 5px;
background: #d5e14c;
font-size:14px;
font-size:1.2rem;
line-height: 1.2em;
text-align: center;
font-weight: 400;
}
#sect04 .lineup div:nth-child(3n){
margin: 0 0 10px;
}
#sect04 .lineup div.off{
background: #ededed;
color: #cccccc;
}
#sect04 .btn-web a {
width: 90%;
padding: 8px 30px 10px 70px;
font-size: 15px;
font-size: 1.5rem;
}
#sect04 .btn-internal a {
width: 90%;
font-size: 15px;
font-size: 1.5rem;
}
#sect04 .botArea{
color: #666666;
}
#sect04 .botArea p{
font-size: 14px;
font-size: 1.4rem;
}


/* End_PC */





@media screen and (max-width: 480px) {


/*------------
common--480px
------------*/

html{
}


.mainWrap h1, .mainWrap h2, .mainWrap h3, .mainWrap h4, .mainWrap h5, .mainWrap h6{
}
.mainWrap .catch, .mainWrap .sttl{
font-size: 1.8rem;
}

#contents{
position: relative;
z-index: 0;
padding: 0 0 30px;
}

body{
min-width: 320px;
text-align:left;
font-size:1.5em;
line-height:2.0;
word-break: break-all;
overflow-x: hidden;
}


.sp,
.sp_br{
display:block!important;
}
.sp2{
display:block;
}

.pc,
.pc_br{
display:none!important;
}

img:not([width]) {
width:100%;
height:auto;
max-width: 100%;
}

a{
text-decoration: none;
}
a:hover,
a:hover img{
opacity: 1;
}
.areaInner{
width: auto;
margin: 0;
}

.fontEng{
}



/* notice 30px_4% */



/*--------------------------------------
contentsWrap
---------------------------------------*/
#contentsWrap{
width: 100%;
margin-left: 0;
}




/*--------------------------------------
　Header_SP
---------------------------------------*/
#header {
min-width: 320px;
padding: 0;
}

#header .siteName{
padding: 10px;
text-align: center;
font-size:1.1rem;
line-height: 1.5;
}
#header .siteName a{
}
#header .logo{
width: 100px;
margin: 5px auto 20px;
}


/*--------------------------------------
　Header2_SP
---------------------------------------*/
#header2 {
display: block;
}


/*--------------------------------------
　Global Nav
---------------------------------------*/
#sp_nav{
display: block;
}




/* ================== */
/*  pankuzu_SP　*/
/* ================== */

#pankuzuWrap{
overflow: auto;
white-space: nowrap;
margin: -10px 0 20px;
padding: 0 4% 6px;
position: static;
box-sizing: border-box;
width: auto;
}

#pankuzuWrap::-webkit-scrollbar{
height: 3px;
}
#pankuzuWrap::-webkit-scrollbar-track{
border-radius: 3px;
background: #ddd;
}
#pankuzuWrap::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #bbb;
}

#pankuzu{
box-sizing: border-box;
width: 100%;
padding: 0.1em 0;
font-size:1.1rem;
line-height: 1.3;
}




/*--------------------------------------
　Global Nav_SP
---------------------------------------*/

/* ハンバーガーメニュー */
#gNav #showRight{
width: 41px;
position: fixed;
top:10px;
right: 10px;
z-index: 10000;
}
#gNav button.active{
background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
background-size: 41px auto;
}
#gNav button.active img{
opacity: 0;
}


#gNav .bans{
padding: 20px 0 0;
text-align: center;
}
#gNav .bans a{
width: 42%;
display: inline-block;
vertical-align: bottom;
margin: 15px 3%;
padding: 0;
border: none;
}

/* General styles for all menus */
.cbp-spmenu {
padding: 30px 0 0;
background: #84a346;
position: fixed;
/*overflow: auto;*/
}


.cbp-spmenu #mainMenu{
overflow-y: scroll;   
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
position: relative;
z-index: 1;
overflow: auto;
margin: 0 0;
padding: 30px 0 0;
height: 100%;
}

.cbp-spmenu #mainMenu::-webkit-scrollbar{
display: none;/* Chrome, Safari 対応 */
}


.cbp-spmenu a {
display: block;
padding: 10px 20px 10px 14px;
color: #fff;
text-decoration: none;
line-height: 1.3;
font-size:1.4rem;
}
.cbp-spmenu li a {
padding: 10px 20px 10px 1.5em;
}
.cbp-spmenu .sttl{
margin: 0;
font-size:1.6rem;
}

.cbp-spmenu .sttl a {
background: url(./img/arrow_wt.svg) 97% 50% no-repeat;
background-size: 6px auto;
}
.cbp-spmenu .sttl.tglMenu a {
background: url(./img/arrow_down_wt.svg) 97.5% 50% no-repeat;
background-size: 11px auto;
}
.cbp-spmenu .sttl.open a {
background: url(./img/arrow_up_wt.svg) 97.5% 50% no-repeat;
background-size: 11px auto;
}
.cbp-spmenu .home a {
background: url(./img/arrow_wt.svg) 97% 50% no-repeat;
background-size: 6px auto;
}

.cbp-spmenu li a {
background: url(./img/arrow_wt.svg) 97% 50% no-repeat #bacc06;
background-size: 6px auto;
padding: 14px 14px 14px 2em;
}

.cbp-spmenu a:hover {
opacity: 1;
}
.cbp-spmenu a:active {
}

/* Orientation-dependent styles for the content of the menu */
.cbp-spmenu-vertical {
/*width: calc(100% - 100px);*/
width: 100%;
height: 100%;
top: 0;
z-index: -1;
}
.cbp-spmenu-vertical a {
border-bottom: 1px solid #dedede;
}

/* Vertical menu that slides from the left or right */
.cbp-spmenu-right {
opacity: 0;
right: -100%;
/*right: -280px;*/
/*right: 0;*/
}
.cbp-spmenu-right.cbp-spmenu-open {
opacity: 1;
right: 0;
z-index: 1000;
}


/* Transitions */
.cbp-spmenu,
.cbp-spmenu-push {
transition: all 0.3s ease;
}

#gNav .accChild {
display: none;
}

body.body-fix{
overflow: hidden;
}



/*--------------------------------------
Main Contents_SP
---------------------------------------*/

#contents {
/*overflow-x: hidden;*/
z-index: 0;
width: 100%;
}

.mainWrap {
position: relative;
/*z-index: 0;*/
float: none;
width: auto;
margin: 0;
}

.index {
overflow-x: hidden;
}





/* ================== */
/*  footer_SP　*/
/* ================== */


#page-top{
position: fixed;
bottom: 70px;
right: 10px;
width: 55px;
height: 55px;
z-index:999;
}
#page-top img{
width: 100%;
}




footer {
width: 100%;
padding: 0 0 0;
z-index: 1;
/*overflow-x: hidden;*/
}

footer .footInner{
width: auto;
margin: 0;
padding: 0 0 20px;
}

footer .logo{
width: 75px;
margin: 0 auto 20px;
padding: 20px 0 0;
}

footer a{
line-height: 1.4;
font-size: 1.3rem;
}


footer .footBox{
margin: 0 0 0;
z-index: 0;
}
.footBox:first-of-type{
border-top: 1px solid #cccccc;
}
.footBox a{
text-decoration: none;
}
.footBox a:hover{
opacity: 1;
}


.footBox .sttl{
margin: 0 ;
padding: 0;
border: none;
background: none;
font-weight: 700;
}
.footBox .sttl a{
display: block;
padding: 1.2em 7% 1.3em 4%;
font-size: 1.5rem;
background: url(./img/arrow_down.svg) 97.5% 50% no-repeat;
background-size: 11px auto;
border-bottom: 1px solid #cccccc;
text-align: left;
font-weight: 700;
}



.footBox > ul{
padding: 0;
}
.footBox li{
display: block;
}


.footBox li:after{
content: "";
}

.footBox li a{
display: block;
padding: 1.0em 7% 1.0em 10.5%;
background: url(./img/arrow_bk.svg) 97% 50% no-repeat;
background-size: 6px auto;
border-bottom: 1px solid #cccccc;
text-align: left;
font-size:1.4rem;
}
.footBox li li a{
padding: 1.0em 7% 1.0em 16.5%;
}
 
 
.footBox li a.ssttl{
display: block;
padding: 1.0em 7% 1.0em 4.5%;
background: url(./img/arrow_bk.svg) 97% 50% no-repeat;
background-size: 6px auto;
border-bottom: 1px solid #cccccc;
}

.footBox li.sp a{
padding: 1.1em 7% 1.1em 4.5%;
}

/* サイトマップ */
footer .smap .sttl a{
background: url(./img/arrow_bk.svg) 97% 50% no-repeat;
background-size: 6px auto;
font-size:1.4rem;
}


.footBox.accordion .accChild{
display: none;
/*background: #d2ebee;*/
}
.footBox.accordion .accChild a{
background: url(./img/arrow_bk.svg) 97% 50% no-repeat;
background-size: 6px auto;
border-bottom: 1px solid #cccccc;
}
.footBox.accordion .open a{
background: url(./img/arrow_up.svg) 97.5% 50% no-repeat;
background-size: 11px auto;
}
.footBox.accordion .open a.ssttl{
background: url(./img/arrow_down.svg) 97.5% 50% no-repeat;
background-size: 11px auto;
}

.footBox ul.subList{
display: block;
margin: 0 0 0;
}

.footBox ul.subList > li:first-child::before{
content: "";
margin: 0;
}

.footBox ul.subList li:after{
content: "";
}







footer .noticeArea{
margin: 0 4%;
padding: 1.1em 0 0;
}
footer .noticeArea p{
font-size:1.1rem;
text-align: left;
}
footer .noticeArea p.botPrg{
padding: 6px 0 0;
text-align: center;
}

footer .botArea{
width: auto;
margin: 0 3%;
padding: 0 1% 10px;
text-align: center;
}
footer .botArea .copy{
padding: 0 5% 10px;
font-size:1.1rem;
text-align: center;
line-height: 1.6;
}
footer .botArea a{
display: block;
text-decoration: none;
font-size:1.1rem;
}











/* ================== */
/*  SP共通パーツ　*/
/* ================== */

#contents h1{
margin: 0 0 30px;
padding: 20px 4%;
background: url(./img/h1_bg.jpg) 50% 0 repeat-y;
background-size: 100% auto;
font-size:2.4rem;
line-height: 1.5;
}
#contents h1::before{
}
#contents h1 a{
position: relative;
padding: 0 4%;
background: url(./img/arrow_bk.svg) 100% calc(50% + 3px) no-repeat;
background-size: 10px auto;
text-decoration: none;
}


.mainWrap h2 {
margin: 30px 4%;
padding: 20px 4% 20px;
font-size:2.1rem;
}
.mainWrap h2::before {
top: -22px;
left: 0;
width: 100%;
height: 23px;
background: url("./img/h2_deco_sp.png") 50% 0 no-repeat;
background-size: 345px auto;
}
.mainWrap h2 a{
position: relative;
padding: 0 4% 0 0;
background: url(./img/arrow_wt.svg) 100% calc(50% + 3px) no-repeat;
background-size: 10px auto;
text-decoration: none;
}


.mainWrap h3 {
margin: 30px 4%;
padding: 12px 4% 14px 6%;
font-size:1.9rem;
}
.mainWrap h3::before{
top: 0;
left: 0;
width: 50px;
height: 50px;
background: url(./img/dot_deco_s_sp.png) 0 0 no-repeat;
background-size: 50px auto;
}
.mainWrap h3 a{
position: relative;
padding: 0 5% 0 0;
background: url(./img/arrow_bk.svg) 100% calc(50% + 2px) no-repeat;
background-size: 8px auto;
text-decoration: none;
}


.mainWrap h4, .mainWrap h5, .mainWrap h6{
margin: 20px 4%;
padding: 14px 2% 18px 2%;
font-size:1.7rem;
}
.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
padding: 0 5% 0 0;
background: url(./img/arrow_bk.svg) 100% calc(50% + 2px) no-repeat;
background-size: 8px auto;
text-decoration: none;
}




.mainWrap .point{
position: relative;
margin: 40px 4% 10px;
padding: 22px 2% 22px 23%;
font-size:1.7rem;
}
.mainWrap .point::before{
content: "";
position: absolute;
top: -10px;
left: 0;
width: 75px;
height: 100px;
}
.mainWrap .point1::before{
background: url(./img/point1.png) 0 0 no-repeat;
background-size: 75px auto;
}
.mainWrap .point2::before{
background: url(./img/point2.png) 0 0 no-repeat;
background-size: 75px auto;
}
.mainWrap .point3::before{
background: url(./img/point3.png) 0 0 no-repeat;
background-size: 75px auto;
}
.mainWrap .point4::before{
background: url(./img/point4.png) 0 0 no-repeat;
background-size: 75px auto;
}







.mainWrap ul{
margin: 1.0em 4% 2.0em;
padding:0.5em 1% 0;
}
.mainWrap ul li{
padding:0 0 0.2em 6%;
}
.mainWrap ul li::before{
width: 1.1rem;
height: 1.1rem;
top: 10px;
left: 2px;
}


.mainWrap ol {
margin: 1.0em 4% 2.0em;
padding:0.5em 1% 0;
}
.mainWrap ol li{
padding:0 0 0.2em 7%;
}

.mainWrap ol li::before{
width: 1.5rem;
height: 1.7rem;
top: 7px;
left: 0;
box-sizing: border-box;
padding: 0.25em 0 0.3em;
letter-spacing: 0;
line-height: 1.0;
font-size:1.2rem;
}



.mainWrap p {
margin: 1.2em 0;
padding: 0 5%;
}
.mainWrap a{
}








/* ================== */
/*  SPカスタマイズ共通　*/
/* ================== */
.caption,
.source{
margin: 0.6em 0 0;
font-size:1.0rem;
line-height: 1.3;
word-break: break-all;
color: #999;
padding: 0 5%;
}



.mainWrap p span{
margin: 0 1%;
padding: 0.1% 1% 0.3%;
font-weight: 700;
font-size:105%;
}


/*  float-wrap */

.mainWrap .float-wrap .flame{
position: relative;
}
.mainWrap .float-wrap{
margin: 2.5em 6%;
padding: 0 1%;
}
.mainWrap .float-wrap .catch{
margin: 0.2em 0 0.4em;
line-height: 1.7;
}
.mainWrap .float-wrap p{
margin: 0;
padding: 0;
}
.mainWrap .float-wrap .fl,
.mainWrap .float-wrap .fr,
.mainWrap .float-wrap .ct{
float: none;
padding: 0 0 0.5em;
width: 100%;
width: auto;
}
.mainWrap .float-wrap .fl.t_small{
width: 40%;
float: left;
padding: 0 5% 0 0;
}
.mainWrap .float-wrap .fr.t_small{
width: 40%;
float: right;
padding: 0 0 0 5%;
}



/*  btns*/
.btn-internal,
.btn-web,
.btn-tel,
.btn-link{
width: 85%;
margin: 1.5em auto!important;
padding: 0!important;
}
.btn-internal a{
position: relative;
display: block!important;
width: auto;
padding: 1.0em 12%;
font-size: 1.5rem;
text-decoration: none;
}
.btn-internal a::before{
}
.btn-internal a::after{
width: 0;
height: 0;
background: none;
}
.btn-internal a:hover{
color: #1b46a5;
}
.btn-internal a:hover::before{
background: url(./img/arrow_bl.svg) 100% 50% no-repeat;
background-size: 8px auto;
}
.btn-internal a:hover::after{
transform: translateX(0);
}



.btn-web a{position: relative;display: block!important;width: auto;padding: 1.0em 10% 1.0em 21%;font-size: 1.5rem;text-decoration: none;}
.btn-web a::before {
}
.btn-web a:hover{
}
.btn-web a:hover::after{
transform: translateX(0);
}


.btn-tel{
display: block;
}
.btn-tel a{
position: relative;
display: block!important;
width: auto;
padding: 1.0em 14%;
font-size: 1.5rem;
text-decoration: none;
}
.btn-tel a::before {
}
.btn-tel a::after {
}
.btn-tel a:hover{
transform: translate3d(0, 0, 0);
box-shadow: 0 6px 0 0 #264fa3;
}

.btn-link{
text-align: center;
}
.btn-link a{
position: relative;
display: block!important;
width: auto;
background: url(./img/arrow_bk.svg) 96% 50% no-repeat #f6f6f6;
background-size: 8px auto;
padding: 1.0em 12%;
border-radius:5px;
box-shadow: 6px 6px 0 0 #ededed;
text-align: center;
line-height: 1.5;
font-size:1.5rem;
text-decoration: none;
}
.btn-link a::before {
}



/* ================== */
/*  テーブル　　　　　*/
/* ================== */

table{
width: 88%;
margin:40px auto;
border-bottom: 1px solid #ddd;
}
table th {
width: 100%;
display: block;
padding: 1.2em 2.5%;
border-bottom: none;
line-height: 1.3;
text-align: center;
}
table td {
width: 100%;
display: block;
padding: 1.0em 2.5%;
border-bottom: none;
line-height: 1.4;
text-align: center;
}





/* ================== */
/*  追加パーツ*/
/* ================== */



/* box3wrap_SP */
.box3wrap .box3{
display: block;
margin: 50px 4%;
}
.box3wrap .box3 .liBox{
width: 100%;
margin: 0 0 20px;
}
.box3wrap .box3 .liBox:nth-child(3n){
margin: 0 0 20px;
}
.box3wrap .liBox{
padding: 10px 4% 15px;
border: 4px solid #ededed;
}
.box3wrap .liBox::before{
top: -5px;
left: calc(50% - 42px);
width: 84px;
height: 12px;
border-radius:0 0 4px 4px;
background: #e8f528;
}

.box3wrap .liBox .sttl{
margin: 0 0 12px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
}
.box3wrap .liBox .sttl a{
display: block;
padding: 16px 4%;
background: url(./img/arrow_bk.svg) 97% 50% no-repeat;
background-size: 8px auto;
}
.box3wrap .liBox p{
margin: 10px 0 16px;
padding: 0;
}
.box3wrap .liBox dl{
padding: 10px 0;
}
.box3wrap .liBox dt{
width: 7rem;
padding: 6px 2% 8px;
font-size:1.4rem;
}
.box3wrap .liBox dd{
padding: 0 0 0 10px;
font-size:1.3rem;
}



/* links_SP */
.links{position: relative;margin: 8rem 4% 0;padding: 15px 5% 5px;background: #f6f6f6;
border-radius:5px;}
.links .sttl{
margin: 0 0 15px;
font-size:2.0rem;
text-align: center;
}
.links .wrapBox{
position: relative;
background: none;
padding:0;
}
.links .wrapBox::before{
}
.links .wrapBox::after{
}
.links .wrapBox ul{
margin: 0 0;
padding: 0 0 0;
}
.links ul li{
width: 100%;
margin: 5px auto 15px!important;
text-align: left;
}
.links li a{
text-align: left;
background-color: #fff;
}
.links li a::before {
position: absolute;
content: "";
background: #84a346;
border-radius: 50%;
width: 1.1rem;
height: 1.1rem;
top: 22px;
left: 22px;
}



/* mokuji_PC */
.mokuji{
position: relative;
margin: 100px 4%;
padding: 5px 4% 5px;
background: #f6f6f6;
border-radius:5px;
}
.mokuji .sttl{
z-index: 1;
margin: 0 0 0;
padding: 12px 4% 0 6%;
font-size:2.0rem;
}
.mokuji::before {
content: "";
position: absolute;
top: 10px;
left: 10px;
width: 50px;
height: 50px;
background: url(./img/dot_deco_s_sp.png) 0 0 no-repeat;
background-size: 50px auto;
}

.mokuji #toc{
position: relative;
background: none;
padding: 0;
}
.mokuji ul{
margin:0;
padding:0;
}
.mokuji ul li{
width: 100%;
margin: 5px auto 15px!important;
text-align: left;
}
.mokuji li a{
}
.mokuji li a:last-child{
width: 100%;
text-align: left;
background: url(./img/arrow_bk.svg) 96% 50% no-repeat #fff;
background-size: 8px auto;
padding: 1em 12% 1em 5%;
}




/* matome_SP */
.matome{
position: relative;
background: #eef585;
padding: 40px 5%;
}
.matome .wrapBox{
position: relative;
background: #ffff;
padding: 35px 5% 45px;
}
.matome .wrapBox::before{
content: "";
position: absolute;
bottom: -36px;
right: 0;
width: 120px;
height: 100px;
background: url(./img/matome_ill.png) 0 100% no-repeat;
background-size: 120px auto;
}
.matome .sttl{
top: -24px;
left: calc(50% - 37px);
width: 74px;
height: 100px;
background: url(./img/fuki1.png) 0 0 no-repeat;
background-size: 74px auto;
padding: 24px 0 0;
font-size:1.8rem;
}
.matome .catch{
font-size:1.8rem;
}
.matome p{
padding: 0;
}
.matome .btn-internal{
width: 100%;
}


/* pickup_SP */
.pickup{
position: relative;
margin: 50px 0;
padding: 45px 5% 30px;
background: url(./img/gray_bg.jpg) 50% 0 repeat-y;
background-size: 100% auto;
}
.pickup::before{
content: "";
position: absolute;
bottom: -10px;
left: 0;
width: 100%;
height: 100px;
background: url(./img/down_arrow.svg) 50% 100% no-repeat;
background-size: 47px auto;
}
.pickup .inner{
position: relative;
padding: 35px 5% 10px;
background: url(./img/dot_deco_m_sp.png) 10px 10px no-repeat rgba(255,255,255,.8);
background-size: 68px auto;
}
.pickup .inner::before{
top: 20px;
right: 5%;
width: 85px;
height: 100px;
background: url(./img/check.svg) 0 0 no-repeat;
background-size: 85px auto;
}
.pickup .fontEng{
top: 5px;
left: 20px;
transform: rotate(0);
font-size:3.0rem;
}
.pickup .ttlAera{
background: #20a5da;
margin: 0 0 36px;
}
.pickup .ttlAera::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 30px;
background: #333;
}
.pickup .ttlAera .sttl{
width: auto;
float: none;
padding: 25px 0 5px;
font-size:2.0rem;
color: #fff;
text-align: center;
}
.pickup .ttlAera .hsp{
top: 10px;
background: #fff;
width: auto;
float: none;
margin: 30px 10px 0;
padding: 12px 10px 10px;
border-radius:3px;
font-size:1.3rem;
}
.pickup .ttlAera .hsp::before{
content: "";
position: absolute;
top: -20px;
left: 0;
width: 100%;
height: 33px;
background: url(./img/hsp.png) 50% 0 no-repeat;
background-size: 41px auto;
}

.pickup .imgArea{
margin: 0 0 25px;
}
.pickup .imgArea .float-img{
width: auto;
float: none;
}
.pickup .imgArea .txtArea{
width: auto;
float: none;
}

.decoTtl{
position: relative;
margin: 0 0 3rem;
min-height: 50px;
padding: 12px 4% 0 6%;
font-size:1.9rem;
}
.decoTtl span{
position: relative;
z-index: 1;
}
.decoTtl::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 50px;
height: 50px;
background: url(./img/dot_deco_s_sp.png) 0 0 no-repeat;
background-size: 50px auto;
}

.pickup .txtArea .liBox{
position: relative;
padding: 10px 0 10px 30px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
line-height: 1.6;
font-weight: 700;
}
.pickup .txtArea .liBox .fontBl{
font-size:1.8rem;
}
.pickup .txtArea .liBox::before{
content: "";
position: absolute;
top: 8px;
left: 0;
width: 21px;
height: 30px;
background: url(./img/denkyu.png) 0 0 no-repeat;
background-size: 21px auto;
}
.pickup .txtArea .decoTtl{
margin: 30px 0 0;
}

.pickup .boxArea .box{
margin: 0 0 20px;
border: 4px solid #ededed;
width: auto;
float: none;
padding: 10px;
}
.pickup .boxArea .box:nth-child(2){
width: auto;
float: none;
}
.pickup .boxArea ul{
margin: 0 0 10px;
}



/* botCommon_SP */
.botCommon{
position: relative;
}
.indexSect {
position: relative;
padding: 50px 0 50px;
}
#sect04{
}
#sect04 .areaInner{
}
#sect04 .ttlArea{
position: relative;
background: url(./img/dot_deco_m_sp.png) 5% 0 no-repeat;
background-size: 68px auto;
padding: 80px 5% 30px;
}
#sect04 .ttlArea::before{
content: "";
position: absolute;
top: 80px;
right: 60px;
width: 118px;
height: 200px;
background: url(./img/sect04_ill.png) 0 0 no-repeat;
background-size: 118px auto;
}

#sect04 .fontEng{
position: absolute;
top: 0;
left: 6%;
transform: rotate(0);
font-size:3.0rem;
}
#sect04 .ttlArea .fuki{
position: absolute;
top: 40px;
right: 0;
width: 79px;
height: 100px;
padding: 16px 0 0;
background: url(./img/fuki2.png) 0 0 no-repeat;
background-size: 79px auto;
font-size:1.3rem;
letter-spacing: 1px;
line-height: 1.3;
}
#sect04 .ttlArea .fuki::before{
content: "";
position: absolute;
top: -15px;
left: 0;
width: 100%;
height: 48px;
background: url(./img/denkyu.png) 50% 0 no-repeat;
background-size: 21px auto;
}

#sect04 .sectTtl{
position: relative;
font-weight: 700;
}
#sect04 .sectTtl .fontBl{
position: relative;
margin: 0 50% 10px 0;
font-size:2.0rem;
}
#sect04 .sectTtl .bkBox{
margin: 0 0 16px;
padding: 16px 5% 18px;
font-size:2.5rem;
text-align: center;
}

#sect04 .ulBoxWrap{
position: relative;
background: url(./img/sect04_bg.jpg) 0 0 repeat-y;
background-size: 100% auto;
padding: 45px 0;
}
#sect04 .ulBox .areaInner{
display: block;
padding: 0 5%;
background: none;

}

#sect04 .liBox{
background: #fff;
width:auto;
margin: 0 0 30px;
padding: 0;
}
#sect04 .liBox:nth-child(3n){
width:auto;
margin: 0 0 30px;
}
#sect04 .liBox .catch{
background: #333333;
padding: 0 0 15px;
color: #fff;
text-align: center;
line-height: 1.4;
}
#sect04 .liBox .fuki{
position: relative;
top:-10px;
margin: 0;
padding: 10px;
background: #26c1ff;
font-size:1.5rem;
}
#sect04 .liBox .fuki::before{
content: "";
position: absolute;
right: 0;
bottom: -10px;
left: 0;
width: 0px;
height: 0px;
margin: auto;
border-style: solid;
border-color: #26c1ff transparent transparent transparent;
border-width: 10px 10px 0 10px;
}
#sect04 .liBox .boxInner{
padding: 0 20px 20px;
}
#sect04 .liBox .boxTtl{
padding: 5px 0;
font-size:2.0rem;
text-align: center;
}
#sect04 .liBox .miniTtl{
margin: 20px 0 0;
font-size:1.8rem;
text-align: center;
}
#sect04 .liBox2{
position: relative;
padding: 10px 0 10px 30px;
background: url(./img/dotline3.png) 0 100% repeat-x;
background-size: auto 1px;
line-height: 1.6;
font-size:1.4rem;
}
#sect04 .liBox2::before{
content: "";
position: absolute;
top: 8px;
left: 0;
width: 21px;
height: 30px;
background: url(./img/denkyu.png) 0 0 no-repeat;
background-size: 21px auto;
}
#sect04 .lineup{
display: flex;
flex-wrap: wrap;
margin: 16px 0 10px;
}
#sect04 .lineup div{
display: flex;
align-items: center;
justify-content: center;
width: calc((100% - 20px) / 3);
margin: 0 10px 10px 0;
padding: 6px 5px;
background: #d5e14c;
font-size:1.3rem;
}
#sect04 .lineup div:nth-child(3n){
margin: 0 0 10px;
}
#sect04 .lineup div.off{
background: #ededed;
color: #cccccc;
}
#sect04 .btn-web,
#sect04 .btn-internal{
width: 100%;
}
#sect04 .btn-web a {
width: auto;
padding: 8px 70px 10px;
font-size: 1.5rem;
}
#sect04 .btn-internal a {
width: auto;
font-size: 1.5rem;
}
#sect04 .botArea{
background: rgba(255,255,255,.8);
padding: 15px 5% 20px;
color: #666666;
}
#sect04 .botArea p{
font-size: 1.4rem;
}












}
/* End_SP */







/* msie11_+pdtop4 */

@media all and (-ms-high-contrast:none){

*::-ms-backdrop, .mainWrap h1, .mainWrap h2, .mainWrap h3, .mainWrap h4, .mainWrap h5, .mainWrap h6{
}




*::-ms-backdrop, #g-nav .areaInner .navBox .sttl a, .mainWrap .btn-internal a, .mainWrap p[style="text-align: right;"] a.internal, .mainWrap .btn-web a{
}



}


