@charset "UTF-8";


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');



body {
padding:0;
margin: 0;
font-family:"Noto Sans JP","メイリオ","Meiryo", arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
font-size:2rem;
line-height: 1.7em;
}

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,blockquote,cite,q,address {
font-size: 100%;
font-weight: normal;
font-style: normal;
margin: 0px;
padding: 0px;
}

img {
height:auto;
margin: 0 auto;
display: block;
}
ul.slides li img {
display:block;
}
img.maru{
  border-radius: 20px;
}

/*------------------------------------------------------------
共通
------------------------------------------------------------*/
.contents-area {
font-size:1.5rem;
margin: 0 1.5rem;
}
.contact_form {
margin-bottom:2rem;
}

#container {max-width: 600px !important; margin: 0 auto;position: relative;background: #fff;}

@media screen and (min-width : 600px){
#container {max-width: 600px !important; margin: 0 auto;position: relative;background: #fff;
border-left: solid 1px #efe8dd;border-right: solid 1px #efe8dd;}
}


/*------------------------------------------------------------
ヘッダ
------------------------------------------------------------*/

#head ,#headbase{
max-width: 600px !important;
}
#head{
position:fixed;
width:100%;
top:0;
z-index: 200;
border-left: solid 1px #efe8dd;border-right: solid 1px #efe8dd;
background: #fff;
margin-left: -1px;
}
#headbase {
position: absolute;
z-index: 1;
background-color: rgba(0,0,0,0.4);
width:100%;
height:0;
border-left: solid 1px #efe8dd;border-right: solid 1px #efe8dd;
}
#sp-header{
width:100%;
font-size:1.6em;
top:0;
left:auto;
padding:0;
height:5rem;
position:relative;
border-bottom: 1px solid #eaeaea;
z-index: 200;
max-width: 600px !important;
}
#sp-header.fixed{
position:fixed;
}
#sp-header :after{
clear: both;
content: "";
}

#sp-header #logo {
float:left;
height: 4rem;
max-width:50%;
display: table;
margin: .6rem 0 .5rem 1rem;
}
#sp-header #logo a {
max-width:100%;
max-height:100%;
display: table-cell;
vertical-align: middle;
}
#sp-header #logo a img{
max-width:100%;
max-height:3.5rem;
display: block;
vertical-align: middle;
}

#sp-header ul#icon{
position:absolute;
top: 0; 
right: 0;
height:100%;
}
#sp-header ul#icon li{
float:left;
list-style:none;
border-top:1px solid #fff;
border-left:1px solid #fff;
height:100%;
box-sizing:border-box;
}
#sp-header ul#icon li a{
display:block;
height:100%;
}
#sp-header ul#icon li img{
height:100%;
}
#sp-header li#pdown {
cursor: pointer;
}
#sp-header li#pdown img.pdown{
display:block;
}
#sp-header li#pdown img.close{
display:none;
}

#gNav{
display:none;
position:fixed;
top:8.2rem;/*#head(h1+#sp-head)h1が2行のときは8.2rem*/
width:100%;
height:100%;
z-index:100;
overflow-y:scroll;
max-width: 600px !important;
}
#gNav.fixed{
top: 5rem;
}
#gNav :after{
clear: both;
content: "";
display:block;
}
#gNav li{
list-style:none;
display:block;
width:100%;
background-color:rgba(60,60,60,0.6);
text-align:left;
float:left;
border-bottom:solid 1px #CCC;
}
#gNav li a, #gNav li.trns a, #gNav.trns1 li a, #gNav.trns2 li a, #gNav li.half a, #gNav li.cent a{
display: block;
color: #FFF;
font-family: Century Gothic, sans-serif, "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
font-size: 2rem;
line-height: 4.8rem;
padding-left: 1.6rem;
letter-spacing: 0.1rem;
background-image: url(/files/user_img/1/img/sp/arrow4.png);
background-repeat: no-repeat;
background-position: left center;
background-size: 5px;
margin-left: 2rem;
text-shadow: #FFF 0 0 1px;
}
#gNav li.trns1{
border-right:none;
text-align:left;
width:100%;
}
#gNav li.trns2{
border-right:solid 1px #CCC;
width:49%;
width: -webkit-calc(50% - 1px);
width: calc(50% - 1px);
}
#gNav li.half{
border-right:solid 1px #CCC;
background-color:rgba(30,30,30,0.9);
text-align:center;
width:49%;
width: -webkit-calc(50% - 1px);
width: calc(50% - 1px);
}
#gNav li.cent{
width:100%;
background-color:rgba(60,60,60,0.9);
text-align:center;
}


/*------------------------------------------------------------
sns
------------------------------------------------------------*/
.sns {
text-align: center;
margin: 25px 0 20px;
}
.sns li {
width: 40px;
height: 40px;
margin: 0 8px 10px 8px;
display: inline-block;
}
.sns li a {
display:block;
width:100%;
height:100%;
border-radius:50%;
}
.sns li.mail a{background-color:#999;}
.sns li.facebook a{background-color:#3b5999;}
.sns li.twitter a{background-color:#1da1f2;}
.sns li.line a{background-color:#3aae36;}
.sns li.instagram a{background-color:#3f739b;}
.sns li.youtube a{background-color:#c2191e;}
.sns li.google a{background-color:#dc4a3d;}

.sns li a img {
width:90%;
height:90%;
padding:5%;
}

/*------------------------------------------------------------
フッター
------------------------------------------------------------*/
#footer-upper{margin-top:2rem;}

#sp-footer table {
width:100%;
border-spacing: 0;
border-collapse: collapse;
}
#sp-footer table td {
width:33.3%;
border:1px solid #d7d7d7;
}

#sp-footer table td a{
font-size:1.5rem;
line-height:4rem;
display:block;
text-align:center;
color: #666;
padding-right:1rem;
}
#sp-footer table td.home a:before {
content: "";
padding-right: 2.1rem;
background: url(/files/user_img/1/img/sp/icon_home.png) 0 50% no-repeat transparent;
background-size: 1.4rem;
}
#sp-footer table td.sitemap a:before {
content: "";
padding-right: 2.5rem;
background: url(/files/user_img/1/img/sp/icon_sitemap.png) 0 50% no-repeat transparent;
background-size: 1.5rem;
}
#sp-footer table td.page-top a:before {
content: "";
padding-right: 2rem;
background: url(/files/user_img/1/img/sp/icon_page_top.png) 0 50% no-repeat transparent;
background-size: 1rem;
}

#sp-footer .pc-view {
text-align: center;
padding: 1.5rem 0;
display: table;
width: 100%;
}
#sp-footer .pc-view a:before {
content: "";
padding-right: 2.7rem;
background: url(/files/user_img/1/img/sp/icon_pc_site.png) 0 50% no-repeat transparent;
background-size: 2rem;
}
#sp-footer .pc-view a {
font-size:1.5rem;
color: #666;
display: table-cell;
text-align: center;
}

#address{
text-align:center;
font-size:1rem;
padding: 1rem 0;
height: 5rem;
}
#address a{
color:#fff;
text-decoration:none;
font-size:1rem;
}

/*------------------------------------------------------------
お問い合わせ
------------------------------------------------------------*/
p.input_form {
text-align:center;
}
p.input_form input[type="submit"], p.input_form input[type="button"] {
display: inline-block;
}

/*------------------------------------------------------------
リンク
------------------------------------------------------------*/
a{
text-decoration:none;
color:#2399e4;
}

/*------------------------------------------------------------
見出し
------------------------------------------------------------*/
h1{ 
  text-align: center;
font-size:13px;
font-weight:normal;
line-height:1.4rem;
color: #636363;
padding: 5px;
background: #faf6f2;
}

h2{
  text-align: center;
font-size: 2.2rem;
padding: 0.6em 1.5rem 0.5em;
font-weight: normal;
color: #007c64 !important;
}
h2.img{
padding: 0;
background: none;
}

h3{
  text-align: center;
border-bottom:1px solid #ddd;
font-size:2rem;
padding:1rem 1.5rem;
}

/*------------------------------------------------------------
リスト
------------------------------------------------------------*/
.list{
font-size:1.5rem;
display:block;
clear:both;
width:100%;
margin:0 auto 1rem;
}
.list:after{
clear: both;
content: "";
display:block;
}
.list li{
list-style:none;
position:relative;
display:block;
border-bottom:solid 1px #e1e1e1;
clear:both;
margin: 0 .5rem;
padding: 0 1rem;
background-image: url(/files/user_img/1/img/sp/arrow3.png);
background-repeat: no-repeat;
background-position: 97% center;
}
.list li a{
display:block;
line-height:4rem;
}
/*------------------------------------------------------------
新着情報
------------------------------------------------------------*/
.news li {
cursor:pointer;
line-height:1rem!important;
}
.news li.no-link{
cursor:auto!important;
background-image: url(none)!important;
}
.news li.no-link p.title{
color:#000;
}
.news li:after{
clear: both;
content: "";
display:block;
}
.news li p.date{
display:block;
font-size:1.3rem;
line-height:1.6rem;
letter-spacing:0.1rem;
padding-top:1rem;
padding-right:0.5rem;
float:left;
}
.news li p.type{
display: block;
font-size: 1.2rem;
line-height: 1.2rem;
padding: .2rem 1rem .1rem;
letter-spacing: 0.1rem;
margin-top: 1rem;
text-align: center;
color: #fff;
background-color: #999;
float: left;
}
.news li .new{
display:block;
float:left;
margin-left:5px;
margin-top:1rem;
color:red;
line-height:1.6rem;
}
.news li p.title{
display:block;
font-size: 2rem;
line-height: 2.3rem;
width:90%;
width: -webkit-calc(100% - 2.5rem) ;
width: calc(100% - 2.5rem);
margin-top:0.2rem;
padding-bottom:0.8rem;
color: #2399e4;
float:left;
clear:both;
}
.news li a{
display:none;
position:absolute;
top:0;
left:0;
}

/* 一覧へのリンク */
p.link {
font-size:1.3rem;
text-align:right;
margin:.6rem 1.5rem 2rem 0;
}

#lower-contents ul.list {
margin-bottom:2rem;
}

/*------------------------------------------------------------
テーブル装飾 
------------------------------------------------------------*/
/* des */
table.des{
width:100%;
margin:1.5rem auto 3rem;
border-collapse:collapse;
border-spacing:0;
}
table.des th{
background:#F6F6F6;
border:1px solid #d0d0d0;
padding:1rem 0.5rem;
text-align:left;
}
table.des td{
border:1px solid #d0d0d0;
padding:1rem 0.5rem;
text-align:left;
}

table.des.cont{
margin:2rem auto 2rem;
border-top:1px solid #ccc!important;
}
table.des.cont th{
background-color:transparent!important;
border:0!important;
padding:2rem 1rem .5rem!important;
font-weight:bold;
color:#333!important;
}
table.des.cont td{
background-color:transparent!important;
border:0!important;
border-bottom:1px solid #ccc!important;
padding:.5rem 1rem 2rem!important;
}

/* contactBox */
.contactBox {
text-align:center;
margin:1rem 1.5rem 2rem 1.5rem;
}
.contactBox .title {
line-height: 1.7rem;
font-size: 1.7rem;
padding: .7rem 0 .4rem;
border-radius: 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0;
}
.contactBox .contents {
line-height:3.2rem;
font-size:3.2rem;
border-radius:0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
-moz-border-radius: 0 0 5px 5px;
}
.contactBox .contents .tel {
display: block;
margin-top: .5rem;
margin-bottom: .2rem;
}
.contactBox .contents .mail {
display: block;
width: 80%;
margin: 1rem auto 1.5rem;
font-size: 1.5rem;
color: #fff;
background-color: #7dbe96;
border-radius: 25px;
padding: 0.2em;
}
.contactBox .contents .name,.contactBox .contents .time{
margin:.5rem;
font-size:1.8rem;
line-height:1.5;
}

/* お問合せ */
.inquiry_detail h2 {
margin-top:1.5rem;
margin-bottom:1rem;
}

/*------------------------------------------------------------
テキストボックス
------------------------------------------------------------*/
/* 固定ページ */
.tbox a{margin-right:0!important;}

.tbox_left {/** 画像左配置 
float:left;
margin:.3rem 1.5rem .8rem 0!important;
width:50%;**/
}
.tbox_right {/** 画像右配置 
float:right;
margin:.3rem 0 .8rem 1.5rem!important;
width:50%;**/
}

.tbox_left img , .tbox_right img{
width:75%;
max-width: 400px !important;
margin: 20px auto;
border-radius: 20px;
}

.tbox_none{
float:none;
text-align:center;
margin:0 auto .7rem auto;
}

.tbox_side_out{
font-size:1.5rem;
margin:1rem 1.5rem;
}

/* 画像リスト */
.img_list {margin:1rem 1.5rem;font-size:1.5rem;}
.img_list img{ border:1px solid #ccc!important; }

.img_list .floatL{
float: left!important;
width: 31%!important;
margin-right: 3%!important;
margin-bottom:1rem;
}
.img_list .floatL-last{
float: left!important;
width: 31%!important;
margin-right: 0!important;
margin-bottom:1rem;
}

.img_border img{
padding:0!important;
border:1px solid #ccc!important;
}

.flex-control-nav{
display: none;
}

/* 追加型ページ */
ul.update-list li { min-height:3rem; }
ul.update-list li a { line-height:1rem; }
ul.update-list li .left-area {
float: left;
width: 30%;
height:100%;
display: block;
margin: 1rem 1rem 1rem 0;
}
ul.update-list li .right-area {
width:62%!important;
}

ul.update-list li.no-link { background-image:url(none); }

ul.update-list p.title {
font-size:1.8rem;
font-weight:bold;
line-height: 2rem;
padding-top: 1.5rem;
padding-bottom: 1.5rem;
}
ul.update-list p.digest {
font-size:1rem;
font-weight:normal;
line-height:1rem;
}

ul.update-list p.text {
float:left;
width:95%;
font-size:1.5rem;
line-height:2rem;
padding: 1rem 0;
color:#000;
}
ul.update-list p.text span {
font-size:1.8rem;
display:block;
color:#2399e4;
}

/* アンカーのずれ解消 */
.anchor {
margin-top:-5.5rem;
padding-top:5.5rem;
display: block;
/*display:table;*/
}
#empty{
margin-top:8.2rem;/*h1が2行のときは8.2rem*/
}

/* 個別設定 */
#topics_detail5 .sp_contents .tbox_box{
margin-bottom:3rem;
}
#topics_detail6 .sp_contents .topics_contents img{
max-width:100%;
max-height:100%;
width:auto;
height:auto;
}


.btn a{
width: 238px;
height: 50px;
margin: 10px auto;
font-size: 18px;
line-height: 48px;
font-weight: bold;
color: #fff;
text-align: center;
background:#7dbe96;
border-radius: 25px;
display: block;
}
.con01,.con02,.con03{margin-bottom:1rem;}
.con01 h4{
font-size: 2rem;
text-align: left;
}
.con01 ul{
margin: 30px auto 0;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.con01 ul li{
width:48%;
margin:0 4% 4% 0;
}
.con01 ul li:nth-child(2n){
margin-right:0;
}
.con01 li img{flex-shrink: 0;}

.con02 li{
width: 238px;
margin: 10px auto 35px;
}

.con03 ul{
margin: 20px auto;
padding: 0 25px;
}
.con03 li{
margin: 5px 0;
padding-bottom: 5px;
background: url(/files/user/img/img_con03_bg_list.png?v=1604990324) no-repeat center bottom;
}
.con03 li a{color: #000000;}
.con03 li a span{margin-left: 10px;}
.bnr{
margin: 3rem auto;
text-align: center;
}

#service .tbox_box{
margin-bottom:3rem;
}