@charset "utf-8";
/*
img[src*="analytics.global-websystem.net"] {
    position: absolute;
    left: -100px;
    bottom: -100px;
}*/

.wc_anctxt img{
  display: none !important;
}
.wc_anctxt {
  display: inline-block !important;
}

.wcax img{
    display: none !important
}


/* common
-----------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, font, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table.table, caption, tbody, tfoot, thead {
border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}
ol, ul {list-style: none;}
table.table {border-collapse: separate;border-spacing: 0;}
caption {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}

html {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}


body {
position: relative;
color:#333;
font-family: 'Noto Sans JP', "メイリオ", sans-serif;
font-size: 100%;
font-size: 16px;
font-weight: 300;
letter-spacing: 1px;
}
.clearfix:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}
.clearfix {
display: inline-block;
overflow:hidden;
}
img {
vertical-align: bottom;
}


/* リンク設定
------------------------------------------------------------*/
a{color:#000;text-decoration:none;}
a:hover{color:#333;text-decoration: underline;}
a:active, a:focus {outline:0;}



/* 全体
------------------------------------------------------------*/
.inner {
width:100%;
margin:0 auto;
clear: both;
}
@media only screen and (min-width: 1040px){
.inner {
width: 1200px;
}
}
@media only screen and (max-width: 1040px){
.inner {
width: 94%;
}
}


/* contents
*************/
#contents {
position: relative;
width: 100%;
height: auto;
clear: both;
}
#contents .contents {
width: 100%;
margin: 0 auto 0 auto;
}
#contents .inner {
width: 1050px!important;
margin: 0 auto;
}
@media only screen and (max-width: 1490px){
#contents {
padding: 0 0 0px 0!important;
}
#contents .contents {
width: 100%;
}
#contents .inner {
width: 94%!important;
}
}
@media only screen and (max-width:1040px){
#contents {
padding: 0 0 0px 0;
}
#contents .contents {
width: 100%;
}
#contents .inner {
width: 94%!important;
}
}


/* 画像自動縮小
*************/
#header img,
#footer img,
#mainvisual img,
#top img,
#top1 img,
#topbn img,
#bn_contact img,
#contact2 img,
.logo img,
.box_line img,
.images img,
.stepr img,
.stepl img,
.boxbeaf img,
.ribbon11-wrapper img,
.wrap1 img,
.wrap2 img,
.wrap3 img,
.wrap4 img,
.wrap5 img,
.wrap6 img,
.wrap7 img,
.wrap8 img,
.wrap9 img,
.col1 img,
.col2 img,
.col3 img,
.col4 img,
.col5 img,
.listcol2 img,
.listcol3 img,
.listcol4 img {
max-width:100%;
height:auto;
}

/* フォント
*************/
/* fontsize */
.fontsize9 {
font-size: 9px;
line-height: 1.5em;
}
.fontsize11 {
font-size: 11px;
line-height: 1.5em;
}
.fontsize12 {
font-size: 12px;
line-height: 1.5em;
}
.fontsize13 {
font-size: 13px;
line-height: 1.5em;
}
.fontsize14 {
font-size: 14px;
}
.fontsize15 {
font-size: 15px;
line-height: 1.5em;
}
.fontsize16 {
font-size: 16px;
line-height: 1.5em;
}
.fontsize17 {
font-size: 17px;
line-height: 1.5em;
}
.fontsize18 {
font-size: 18px;
line-height: 1.5em;
}
.fontsize20 {
font-size: 20px;
line-height: 1.5em;
}
.fontsize22 {
font-size: 22px;
line-height: 1.5em;
}
.fontsize24 {
font-size: 24px;
line-height: 1.5em;
}
.fontsize26 {
font-size: 26px;
line-height: 1.5em;
}
.fontsize28 {
font-size: 28px;
line-height: 1.5em;
}
.fontsize30 {
font-size: 30px;
line-height: 1.5em;
}
.fontsize40 {
font-size: 40px;
line-height: 1.5em;
}
.lightheight1 {
line-height: 1.5em;
}
.lightheight2 {
line-height: 2em;
}
.lightheight3 {
line-height: 1.2em;
}



/* fontcolor */
.fontred {
color: #d62326;
}
.fontpink{
color: #e5006e;
}
.fontblue {
color: #1f9cbb;
}
.fontorange {
color: #f6ac2a;
}
.fontgreen {
color: #51cc91;
}

.strong {
font-weight:900;
}

/* fontfamily */
.family1 {
font-family: 'YuMinB';
}
.family2 {
font-family: 'YuGothB';
}
.family3 {
font-family: 'Dinpro';
}
.family4 {
font-family: 'Ryumin-B';
}

@import url(‘https://fonts.googleapis.com/css?family=Noto+Sans+JP’);
.noto100 {font-weight:100;}
.noto300 {font-weight:300;}
.noto350 {font-weight:350;}
.noto400 {font-weight:400;}
.noto500 {font-weight:500;}
.noto700 {font-weight:700;}
.noto900 {font-weight:900;}


/* レイアウト
*************/
.left {
text-align: left;
}
.left2 {
float: left;
}
.right {
text-align: right;
}
.right2 {
float: right;
}
.center {
text-align: center;
}
.alignleft{
float:left;
clear:left;
margin:0px 20px 20px 0px;
}
.aligncenter{
display: block;
margin-left: auto;
margin-right: auto;
padding: 0px 0px 10px 0px;
}
.alignright{
float:right;
clear:right;
margin:0px 0 20px 20px;
}



/* margin */
.mt10 {margin-top : 10px !important;}
.mt20 {margin-top : 20px !important;}
.mt30 {margin-top : 30px !important;}
.mt40 {margin-top : 40px !important;}
.mt50 {margin-top : 50px !important;}
.mt60 {margin-top : 60px !important;}
.mt70 {margin-top : 70px !important;}
.mt80 {margin-top : 80px !important;}
.mb10 {margin-bottom : 10px !important;}
.mb20 {margin-bottom : 20px !important;}
.mb30 {margin-bottom : 30px !important;}
.mb40 {margin-bottom : 40px !important;}
.mb50 {margin-bottom : 50px !important;}
.mb60 {margin-bottom : 60px !important;}
.mb70 {margin-bottom : 70px !important;}
.mb80 {margin-bottom : 80px !important;}
.mb90 {margin-bottom : 90px !important;}
.mb100 {margin-bottom : 100px !important;}
.mb8 {margin-bottom : 8% !important;}
.mr10 {margin-right: 10px !important;}
.mt-80 {margin-top: -80px!important;}


/* section
*************/
* html section.content article{height:1%;}

section.content {
width: 100%;
padding: 0 0 0 0;
margin: 0 0 100px 0;
line-height: 1.8em;
overflow: hidden;
text-align: left;
clear: both;
}
section.content2 {
width: 103%;
padding: 0 0 0 0;
margin: 0 0 100px 0;
overflow: hidden;
clear: both;
}
section.content3 {
width: 100%;
padding: 0 0 0 0;
margin: 0 0 0 0;
line-height: 1.8em;
text-align: left;
clear: both;
}
section.content4 {
width: 103%;
padding: 0 0 0 0;
margin: 0 0 0 0;
clear: both;
}
section.content5 {
width: 100%;
padding: 0 0 0 0;
margin: -7% 0 0 0;
line-height: 1.8em;
text-align: center;
clear: both;
}
section.content6 {
width: 100%;
padding: 0 0 0 0;
margin: -10% 0 10% 0;
text-align: center;
clear: both;
}
section.content7 {
width: 100%;
padding: 0 0 0 0;
margin: 0 0 50px 0;
text-align: left;
clear: both;
}
section.content8 {
width: 103%;
padding: 0 0 0 0;
margin: 0 0 50px 0;
text-align: left;
clear: both;
}
section.content9 {
width: 100%;
padding: 0 0 0 0;
margin: 0 0 10px 0;
text-align: left;
clear: both;
}


@media only screen and (max-width: 1040px){
section.content,
section.content2,
section.content3,
section.content4,
section.content5,
section.content6,
section.content7,
section.content8 {
width: 100%;
}
section.content img{
max-width:100%;
height:auto;
}
}

* html section.content{height:1%;}
div.section.content p{margin-bottom:5px;}


/* headertop
*************/
h1 {
display: none;
}

/* header
*************/
#header {
position: fixed;
width: 100%;
letter-spacing: 0;
margin: 0 auto;
z-index: 999;
}
#header ul.hme {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}

@media only screen and (min-width: 1040px){
}
@media only screen and (max-width: 1040px){
#header .logo {
width: 200px;
}
#header .bn_nurse {
display: none;
}
}

/* header link
*************/
#header a {
color: #383838;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
text-decoration: none;
}
#header a:hover {color:#777; text-decoration: none;}



/* transition */
#header,
#header .logo,
#header .bn_nurse {
-webkit-transition: all .4s ease 0s,background .6s ease .2s;
transition: all .4s ease 0s,background .6s ease .2s;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
/* Fixed */
#header.fixed,
#header.fixed .logo,
#header.fixed .bn_nurse {
-webkit-transition: all .4s ease 0s,background .6s ease .2s;
transition: all .4s ease 0s,background .6s ease .2s;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
#header.fixed {
/*background: rgba(255,255,255,.6);*/
}
#header.fixed .logo {
width: 200px;
}
#header.fixed .bn_nurse {
width: 172px;
}
@media only screen and (min-width: 1040px){
}
@media only screen and (max-width: 1040px){
}


/* --------------------------------------------------
HdrNavi
-------------------------------------------------- */
/* HdrNavi
*************/
nav#HdrNavi {
position: fixed;
width: 270px;
margin: 100px auto 50px auto;
z-index: 99;
}
nav#HdrNavi.Fixed {
max-width:initial;
max-width:auto;
width:100%;
top:0;
left:0;
z-index:100;
}
nav#HdrNavi ul {
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
flex-direction: column;
}
nav#HdrNavi > ul > li {
position: relative;
text-align:left;
font-size: 20px;
line-height: 1.3em;
}
nav#HdrNavi li a {
padding: 10px 0px;
display:block;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
}
nav#HdrNavi > ul > li.bn1 {
position: relative;
text-align:center;
margin: 40px auto 0 auto;
}
nav#HdrNavi > ul > li.bn2 {
position: relative;
text-align:left;
margin: 15px auto 0 auto;
}
nav#HdrNavi li.bn2 a {
padding: 0px;
display:block;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
}
nav#HdrNavi li a:hover{
text-decoration: none;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
display:block;
}

nav#HdrNavi > ul > li.bn3 {
position: relative;
text-align:left;
margin: 15px auto 0 auto;

}
nav#HdrNavi li.bn3 a {
padding: 18px 5px;
text-align: center;
display:block;
background-image: url(../img/bn_side1bg.png);
background-repeat: no-repeat;
width: 270px;
height: 58px;
font-size: 85%;
}





nav#HdrNavi ul.SubMenu {
position:absolute;
width: 270px;
text-align:left;
top: 0px;
left: 190px;
display:none;
z-index:20;
}
nav#HdrNavi ul.SubMenu a {
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
}
nav#HdrNavi > ul > li:hover ul.SubMenu{
display:block;
}
nav#HdrNavi ul.SubMenu li{
text-align: left; /* テキスト位置 */
font-size: 18px;
line-height: 1.3em;
}
nav#HdrNavi ul.SubMenu li a{
padding: 10px 10px;
display:block;
text-decoration: none;
color:#fff;
background: #B3B3B3;
font-size: 15px;
}
nav#HdrNavi ul.SubMenu li a:hover{
padding: 10px 10px;
color:#383838;
background: #f7e009;

}

@media only screen and (min-width: 1040px){
}
@media only screen and (max-width: 1040px){
}




/* 固定資料請求ボタン
*************/
.headerGlobalBtn > li > a{
background-repeat: no-repeat;
background-position: 0 0;
display: block;
width: 60px;
height: 500px;
margin: 0;
padding: 0;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
z-index: 99;
}
.headerGlobalBtn{
width: auto;
position: fixed;
top: 20%;
right: 0;
z-index: 200;
}
.headerGlobalBtn > li{
display: block;
margin: 0 0 10px 0;
padding: 0;
}
.headerGlobalBtn > .headerGbtn1 > a {
width: 60px;
height: 169px;
background-size: auto;
  -webkit-transition: margin 1s ease;
     -moz-transition: margin 1s ease;
       -o-transition: margin 1s ease;
      -ms-transition: margin 1s ease;
          transition: margin 1s ease;
}
.headerGlobalBtn > .headerGbtn1 > a {
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
background-image: url(../img/bn_side_m1.png);
}
.headerGlobalBtn > .headerGbtn1 > a:hover {
opacity: 0.6;
}
.headerGlobalBtn > .headerGbtn2 > a {
width: 60px;
height: 271px;
background-size: auto;
  -webkit-transition: margin 1s ease;
     -moz-transition: margin 1s ease;
       -o-transition: margin 1s ease;
      -ms-transition: margin 1s ease;
          transition: margin 1s ease;
}
.headerGlobalBtn > .headerGbtn2 > a {
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
background-image: url(../img/bn_side_m2.png);
}
.headerGlobalBtn > .headerGbtn2 > a:hover {
opacity: 0.6;
}
@media only screen and (max-width:1040px) {
.headerGlobalBtn{
top: 120px;
}
}
@media only screen and (max-width:1040px) {
.headerGlobalBtn{
display: none;
}
}


/* footer
*************/
#footer {
position: relative;
width: 100%;
letter-spacing: 0;
z-index: 0;
}
#footer .inner {
position: relative;
margin: 0 auto;
}


/* copyright */
.copyright {
padding: 20px 0;
color: #767676;
text-align: center;
}
@media only screen and (max-width: 767px){
.copyright {
font-size: 2vw;
}
}


/* main
------------------------------------------------------------*/
ul.mainwrap {
width: 100%;
display: -webkit-flex;
display: flex;
}
ul.mainwrap li.nav {
width: 320px;
padding: 0 0 0 25px;
z-index: 99;
}
ul.mainwrap li.main {
width: calc(100% - 320px);
}

@media only screen and (min-width: 1040px){
}
@media only screen and (max-width: 1040px){
ul.mainwrap li.nav {
display: none;
}
ul.mainwrap li.main {
width: 100%;
}
}


/* mainvisual
*************/
#mainvisual {
position: relative;
width: 100%;
padding: 15% 10%;
margin: 0 auto;
}
#mainvisual .mtxt {
margin: 5% auto 0 auto;
font-size: 26px;
letter-spacing: 10px;
}

/* top
*************/
#top {
position: relative;
width: 100%;
height: auto;
z-index: 0;
clear: both;
}
#top .inner {
width: 100%;
}

/* transition */
#top {
padding: 0 0 0 0;
-webkit-transition: all .4s ease 0s,background .6s ease .2s;
transition: all .4s ease 0s,background .6s ease .2s;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
/* Fixed */
#top.fixed {
padding: 0 0 0 0;
-webkit-transition: all .4s ease 0s,background .6s ease .2s;
transition: all .4s ease 0s,background .6s ease .2s;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}

@media only screen and (min-width: 1040px){
#top .inner {
width: 1200px;
}
}
@media only screen and (max-width: 1040px){
#top {
padding: 0 0 0 0;
}
#top .inner {
width: 94%;
}
}

/* top1 */
#top1 {
position: relative;
width: 100%;
min-height: 1400px;
padding: 0 0 0 0;
background: url(../topimg/bg_top1.jpg) top center no-repeat;
background-size: cover;
}
#top1 .wrap_t1 {
width: 60%;
position: absolute;
padding: 8% 5%;
background: #fff;
top: 50%;left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
#top1 h2.t1 {
position: relative;
display: inline-block;
margin-bottom: 3em;
font-size: 30px;
letter-spacing: 4px;
}
#top1 h2.t1:before {
content: '';
position: absolute;
bottom: -15px;
display: inline-block;
width: 140px;
height: 1px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: black;
}
#top1 h3.t1 {
margin-bottom: 1em;
font-size: 18px;
font-weight: 400;
}
#top1 p.t1txt {
font-size: 18px;
line-height: 2.5em;
}

#top1 .bn_t1 {
width: 80%;
position: absolute;
left: 50%;
bottom: 4%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
}
#top1 .t1_2 {
margin: 0 auto 10px auto;
font-size: 20px;
text-align: center;
}
#top1 ul.wrap_t1_2 {
width: 100%;
margin: 0 auto 2% auto;
}
#top1 ul.wrap_t1_2 li {
width: 30%;
margin: 0 3% 0 0;
display: inline-block;
}
#top1 ul.wrap_t1_2 li:last-child {
width: 30%;
margin: 0 0 0 0;
}

#top1 ul.wrap_t1_2 li .bn3{
width: 100%;
height: 50px;
text-align: center;
background-image: url(../img/bn_side1bg.png);
background-repeat: no-repeat;
background-size: cover;
padding-top: 15px;
vertical-align: top;

}    
#top1 ul.wrap_t1_2 li .bn3 a{
padding-left: 18px;
padding-right: 18px;
font-size: 100%;
vertical-align: top;
text-decoration: none;
color: #000000;
}
#top1 ul.wrap_t1_2 li .bn3 a::hover{
color: #4E4E4E;

}


.wcarea_400211825401 .fadein1,
.wcarea_400211825401 .fadein1_1,
.wcarea_400211825401 .fadein1_2 {
    transform: none !important;
    display: block !important;
    opacity: 1 !important;
}


.bn_more .bn3 {
margin: 15px auto !important;
width: 270px;
height: 70px;
background-image: url(../img/bg_button.png);
background-size: cover;
background-repeat: no-repeat;
padding-top: 24px;
font-size: 100%;
text-decoration: none;
color: #000000;
text-align: center;
}

.bn_more .bn3 a{
letter-spacing: 0.2em;
padding-left: 18px;
padding-right: 18px;
font-size: 100%;
vertical-align: top;
text-decoration: none;
color: #000000;
}
.bn_more .bn3 a::hover{
color: #4E4E4E;

}


@media screen and (max-width:1380px){
   #top1 ul.wrap_t1_2 li .bn3 a{
padding-left: 15px;
padding-right: 15px;
font-size: 85%;

} 
}


@media only screen and (max-width: 1040px){
#top1 {
min-height: 1200px;
}
#top1 p.t1txt {
font-size: 16px;
line-height: 1.5em;
}
#top1 .wrap_t1 {
width: 94%;
position: absolute;
padding: 5% 5%;
background: #fff;
top: 10%;left: 50%;
-webkit-transform: translate(-50%, -10%);
transform: translate(-50%, -10%);
}
#top1 ul.wrap_t1_2 {
margin: 0 auto 3% auto;
}
#top1 ul.wrap_t1_2 li {
width: 100%;
margin: 0 0 5% 0;
}
#top1 ul.wrap_t1_2 li:last-child {
width: 100%;
margin: 0 0 0 0;
}
}


/* top2 */
#top2 {
position: relative;
width: 100%;
padding: 7% 0;
margin: 0 auto;
}
#top2 h2.t2 {
position: relative;
display: inline-block;
margin-bottom: 2em;
font-size: 30px;
letter-spacing: 4px;
}
#top2 h2.t2:before {
content: '';
position: absolute;
bottom: -15px;
display: inline-block;
width: 140px;
height: 1px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: black;
}
#top2 .bn_more {
}

@media only screen and (min-width: 767px){
}
@media only screen and (max-width: 767px){
#top2 h2.t2 {
margin-bottom: 1em;
}
}


/* news */
#news {
width: 50%;
margin: 0 auto 50px auto;
}
#news .news {
overflow: auto;
}
#news dl {
width: 100%;
padding: 10px 0px;
display: -webkit-flex;
display: flex;
align-items: flex-start;
font-size: 18px;
}
#news dl dt {
width: 20%;
text-align: left;
}
#news dl dd {
width: 80%;
text-align: left;
}

@media only screen and (max-width: 1400px){
#news {
width: 80%;
}
}
@media only screen and (max-width: 1040px){
#news {
width: 80%;
}
#news dl {
font-size: 17px;
}
}
@media only screen and (max-width: 767px){
#news dl {
-webkit-flex-direction: column;
flex-direction: column;
}
#news dl dt {
width: 100%;
}
#news dl dd {
width: 100%;
}
}


/* top3 */
#top3 {
position: relative;
width: 100%;
margin: 0 auto;
}
#top3 .bn_more {
margin: 20px auto 40px auto;
text-align: center;
}
#top3 h2.t3 {
padding: 25px;
font-size: 30px;
background: #efecd0;
}
#top3 ul.wrap_t3 {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
flex-wrap : wrap;
}
#top3 ul.wrap_t3::after {
content:"";
display: block;
width: calc(100% / 3);
}
#top3 ul.wrap_t3 li {
position: relative;
width: calc(100% / 3);
}
#top3 ul.wrap_t3 li .box_t3,
#top3 ul.wrap_t3_2 li .box_t3 {
width: 70%;
height: 20vh;
padding: 2%;
background:rgba(255,255,255,0.3);
position: absolute;
top: 50%;left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
pointer-events: none;
z-index: 9;
text-shadow: 1px 1px 5px #000;
}


::-webkit-full-page-media, :future, :root #top3 ul.wrap_t3_2 li .box_t3{
    max-height: 150px;
}

#top3 ul.wrap_t3 li .box_t3 h3.t3,
#top3 ul.wrap_t3_2 li .box_t3 h3.t3 {
width: 100%;
color: #fff;
font-size: 1.4vw;
font-weight: 400;
position: absolute;
top: 50%;left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
#top3 ul.wrap_t3 li img {
width: 100%;
height: auto;
}

#top3 ul.wrap_t3_2 {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
flex-wrap : wrap;
}
#top3 ul.wrap_t3_2::after {
content:"";
display: block;
width: calc(100% / 4);
}
#top3 ul.wrap_t3_2 li {
position: relative;
width: calc(100% / 4);
}

@media only screen and (max-width: 1040px){
#top3 ul.wrap_t3 li .box_t3 {
height: 15vh;
}
#top3 ul.wrap_t3 li .box_t3 h3.t3 {
font-size: 1.8vw;
}
}
@media only screen and (max-width: 767px){
#top3 ul.wrap_t3 {
-webkit-flex-direction: column;
flex-direction: column;
}
#top3 ul.wrap_t3::after {
width: 100%;
}
#top3 ul.wrap_t3 li {
position: relative;
width: 100%;
}
#top3 ul.wrap_t3 li .box_t3 {
height: 200px;
}
#top3 ul.wrap_t3 li .box_t3 h3.t3 {
font-size: 20px;
}
#top3 h2.t3 {
font-size: 24px;
}

#top3 ul.wrap_t3_2::after {
width: 100%;
}
#top3 ul.wrap_t3_2 li {
width: 100%;
}

#top3 ul.wrap_t3_2 li .box_t3 h3.t3 {
font-size: 20px;
}

}


/* contact */
#contact {
position: relative;
width: 100%;
padding: 3% 0;
margin: 0 auto 100px auto;
background: url(../topimg/bg_top4.jpg) left bottom no-repeat;
background-size: cover;
text-align: center;
color: #fff;
border: 3px solid #000;
clear: both;
}
#contact .logo {
margin: 0 0 10px 0;
}
#contact .contxt1 {
margin: 0 0 20px 0;
font-size: 20px;
font-weight: 400;
}
#contact .contel1 {
padding: 0 0 0 5px;
color: #fff;
font-size: 20px;
font-weight: 400;
}
#contact .contel2 {
color: #fff;
font-size: 40px;
font-weight: 400;
}
#contact .contel2 a {
text-decoration: none;
}
#contact .add {
margin: 0 0 20px 0;
font-size: 16px;
font-weight: 400;
text-align: center;
}
#contact .bn_contact {
position: relative;
width: 50%;
margin: 0 auto 0 auto;
font-size: 16px;
line-height: 1.3em;
font-weight: bold;
}
#contact .bn_contact a {
padding: 20px 10px;
text-align: center;
text-decoration: none;
color: #fff;
border: 3px solid #951717;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
box-sizing: border-box;
display: block;
}
#contact .bn_contact a:hover {
border: 3px solid #951717;
color: #fff;
background: #951717;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
}
@media only screen and (max-width: 767px){
#contact {
padding: 3%;
}
#contact .contxt1 {
margin: 0 0 10px 0;
font-size: 14px;
}
#contact .add {
font-size: 12px;
line-height: 1.3em;
}
#contact .bn_contact {
width: 100%;
font-size: 14px;
}
#contact .bn_contact a {
padding: 10px 10px;
}
}


/* 吹き出し */
.balloon2 {
position: relative;
display: inline-block;
margin: 1.5em 0;
padding: 7px 10px;
min-width: 120px;
max-width: 100%;
font-size: 15px;
background: #FFF;
border: solid 3px #555;
box-sizing: border-box;
}

.balloon2:before {
content: "";
position: absolute;
bottom: -24px;
left: 50%;
margin-left: -15px;
border: 12px solid transparent;
border-top: 12px solid #FFF;
z-index: 2;
}

.balloon2:after {
content: "";
position: absolute;
bottom: -30px;
left: 50%;
margin-left: -17px;
border: 14px solid transparent;
border-top: 14px solid #555;
z-index: 1;
}


/* table
*************/
table.table {
border-collapse:collapse;
width:100%;
margin:0px auto 0px auto;
clear: both;
}
table.table th {
padding: 20px 20px 20px 0;
border-top:1px solid #000;
border-bottom:1px solid #000;
vertical-align: middle;
font-weight: 400;
}
table.table td {
padding: 20px 0;
border-top:1px solid #999;
border-bottom:1px solid #999;
vertical-align: middle;
}
table.table th + th {
padding: 20px 20px 20px 0;
border-bottom:1px solid #000;
vertical-align: middle;
font-weight: 400;
}
table.table td + td {
padding: 20px 0;
border-bottom:1px solid #999;
vertical-align: middle;
}
table.table .w {
width: 20%;
}


@media only screen and (max-width: 767px){
/* table
*************/
table.table {
width:100%;
}
table.table th,
table.table td {
width: 100%;
padding: 10px 0;
display: block;
border: none;
}
table.table th {
border-bottom:1px solid #000;
text-align: center;
}
table.table td {
overflow: hidden;
border-bottom:1px solid #c9c9c9;
}
table.table th + th {
padding: 10px 0;
}
table.table td + td {
padding: 10px 0;
}
table.table .w {
width: 100%;
}
table.table .w2 {
width: 100%;
}
table.table .ct {
text-align: center;
}
}

/* table2
*************/
table.table2 {
border-collapse:collapse;
width: 100%;
margin:0px auto 0px auto;
clear: both;
}
table.table2 th {
padding: 20px;
border-top:1px solid #000;
border-bottom:1px solid #000;
border-right: 1px dashed #000;
text-align: center;
vertical-align: middle;
font-weight: 400;
}
table.table2 th:last-child {
border-right: 1px solid #000;
}
table.table2 th:first-child {
border-left: 1px solid #000;
}
table.table2 td {
padding: 20px;
border-top:1px solid #c9c9c9;
border-bottom:1px solid #c9c9c9;
border-right: 1px dashed #c9c9c9;
vertical-align: middle;
}
table.table2 td:last-child {
border-right: 1px solid #c9c9c9;
}
table.table2 td:first-child {
border-left: 1px solid #c9c9c9;
}

@media only screen and (max-width: 767px){
table.table2 th {
padding: 10px;
}
table.table2 td {
padding: 10px;
}
}


/* table3
*************/
table.table3 {
border-collapse:collapse;
width:100%;
margin:0px auto 0px auto;
line-height: 1.3em;
border-right:1px solid #666;
border-left:1px solid #666;
clear: both;
}
table.table3 th {
padding: 10px;
border-top:1px solid #000;
border-bottom:1px solid #000;
border-right: 1px dashed #000;
text-align: center;
vertical-align: middle;
background: #ffe153;
font-weight: 400;
}
table.table3 th:last-child {
border-right: 1px solid #000;
}
table.table3 th:first-child {
border-left: 1px solid #000;
}
table.table3 td {
padding: 10px;
border-top:1px solid #666;
border-bottom:1px solid #666;
border-right: 1px dashed #666;
vertical-align: middle;
background: #fff;
}
table.table3 .w {
width: 30%;
}
table.table3 .t3_color1 {
background: #eee;
font-weight: 400;
}



/* table4
*************/
table.table4 {
border-collapse:collapse;
width:100%;
margin:0px auto 0px auto;
border-top:1px solid #999;
clear: both;
}
table.table4 th {
padding: 20px 20px;
vertical-align: middle;
background: #f6f6f6;
border-bottom:1px solid #999;
border-right:1px solid #999;
border-left:1px solid #999;
font-weight: 400;
}
table.table4 td {
padding: 20px 20px;
border-top:1px solid #999;
border-bottom:1px solid #999;
border-right:1px solid #999;
border-left:1px solid #999;
vertical-align: middle;
}
table.table4 th + th {
padding: 20px 20px;
vertical-align: middle;
border-bottom:1px solid #999;
border-right:1px solid #999;
border-left:1px solid #999;
font-weight: 400;
}
table.table4 td + td {
padding: 20px 20px;
border-bottom:1px solid #999;
border-right:1px solid #999;
border-left:1px solid #999;
vertical-align: middle;
}
table.table4 .w {
width: 20%;
}

@media only screen and (max-width: 767px){
/* table
*************/
table.table4 {
width:100%;
}
table.table4 th,
table.table4 td {
width: 100%;
padding: 10px 10px;
display: block;
border: none;
}
table.table4 th {
text-align: center;
border-left:1px solid #999;
border-right:1px solid #999;
border-bottom:1px solid #999;
background: #f1f1f1;
}
table.table4 td {
overflow: hidden;
border-bottom:1px solid #999;
border-left:1px solid #999;
border-right:1px solid #999;
}
table.table4 th + th {
padding: 10px 10px;
border-left:1px solid #999;
border-right:1px solid #999;
}
table.table4 td + td {
padding: 10px 10px;
border-left:1px solid #999;
border-right:1px solid #999;
}
table.table4 .w {
width: 100%;
}
}


/* form
*************/
.input {
width: 100%;
}
.hisu {
padding: 0 2% 0 2%;
margin: 0px 0px 0px 10px;
color: #ffffff;
font-size: 11px;
background: #e60012;
}
.submit {
margin: 30px auto 0 auto;
text-align: center;
}
.submit input{
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
}
.submit input:hover{
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
text-decoration: none;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
}


@media screen and (max-width :767px){
    .submit input {
        display: block !important;
        margin-bottom: 8px !important;
        margin-left: auto !important;
        margin-right: auto !important
    }
    
}

.c-form-1 input[type="text"], .c-form-1 input[type="email"], .c-form-1 textarea {
border-radius: 3px;
border: solid 1px #dddddd;
background-color: #f7f7f7;
width: 100%;
padding: .8em;
}
.c-form-1 textarea {
min-height: 10em;
width: 100%;
}

.c-form-2 input[type="text"], .c-form-2 input[type="email"], .c-form-2 textarea {
border-radius: 3px;
border: solid 1px #dddddd;
background-color: #f7f7f7;
padding: .8em;
width: 20%;
}
.c-form-2 textarea {
min-height: 10em;
width: 20%;
}



/*Radio Check*/
label.radio, label.radio_text, label.checkbox, label.checkbox_text {
position      : relative;
cursor        : pointer;
display       : inline-block;
overflow      : hidden;
box-sizing    : border-box;
}
label.radio {
width         : 18px;
height        : 18px;
border        : 1px solid #666666;
border-radius : 100%;
}
label.radio_text {
min-height   : calc(18px + 5px);
margin-right : calc(18px + 5px);
padding-left : calc(18px + 5px);
line-height  : calc(18px + 5px);
}
label.checkbox {
width      : 20px;
height     : 20px;
border     : 1px solid #B3B3B3;
background : #fff;
}
label.checkbox_text {
padding-left : calc(20px + 5px);
line-height  : 20px;
}
/** before after **/
label.radio:before, label.radio_text:before, label.checkbox_text:before,
label.checkbox:after, label.radio_text:after, label.checkbox_text:after{
content  : '';
position : absolute;
box-sizing : border-box;
}
label.radio:before, label.radio_text:before{
border-radius    : 100%;
}
label.radio:before, label.checkbox:after{
top              : 0px;
bottom           : 0px;
left             : 0px;
right            : 0px;
margin           : auto;
}
label.checkbox:after, label.checkbox_text:after{
transform         : rotate(45deg);
-webkit-transform : rotate(45deg);
-moz-transform    : rotate(45deg);
border-right      : 3px solid #444;/* 色変更 */
border-bottom     : 3px solid #444;/* 色変更 */
top               : calc(50% - (((17px / 12 ) * 5) / 2));
display           : block;
margin-top        : calc(((17px / 12 ) * 5) * -1);
width             : calc(((17px / 12 ) * 5));
height            : 17px;
z-index           : 1;
}
label.radio_text:before, label.radio_text:after{
top              : 0px;
bottom           : 0px;
margin-top       : auto;
margin-bottom    : auto;
}
label.radio:before {
display          : block;
width            : 10px;
height           : 10px;
z-index          : 1;
background-color : #89d2de; 
}
label.radio_text:before {
width         : 18px;
height        : 18px;
border        : 1px solid #666666;
left          : 0px;
z-index       : 3;
}
label.checkbox_text:before {
width    : 20px;
height   : 20px;
left     : 0px;
top      : 0;
border   : 1px solid #B3B3B3;
z-index  : 3;
box-sizing: border-box;
}
label.radio_text:after {
width            : 10px;
height           : 10px;
border-radius    : 100%;
left             : calc(((18px/2) - (10px) / 2));
background-color : #444;/* 色変更 */
z-index          : 1;
}
label.checkbox_text:after {
left : calc((20px / 2) - (((17px / 12 ) * 5) / 2));
}
/** input **/
label.radio input[type="radio"], label.radio_text input[type="radio"], label.checkbox input[type="checkbox"], label.checkbox_text input[type="checkbox"]{
-moz-appearance: none;
-webkit-appearance: none;
position   : absolute;
z-index    : 2;
margin     : 0px;
width      : 20px;
height     : 20px;
box-sizing    : border-box;
outline       : none;
}
label.radio input[type="radio"], label.radio_text input[type="radio"]{
left       : calc(18px * -1);
width      : 18px;
height     : 18px;
top           : 0px;
bottom        : 0px;
margin-top    : auto;
margin-bottom : auto;
border-radius : 100%;
}
label.checkbox input[type="checkbox"], label.checkbox_text input[type="checkbox"]{
left       : calc(20px * -1);
padding    : 0;
}
label.radio input[type="radio"] {
display    : block;
box-shadow : 18px 0px #FFF;
}
label.radio_text input[type="radio"] {
box-shadow : 18px 0px #FFF;
}
label.checkbox input[type="checkbox"] {
box-shadow : 20px 0px #FFF;
}
label.checkbox_text input[type="checkbox"] {
display    : block;
box-shadow : 20px 0px #FFF;
}
/** checked forcus */
label.checkbox_text input[type="checkbox"]:checked,
label.checkbox input[type="checkbox"]:checked,
label.radio_text input[type="radio"]:checked,
label.radio input[type="radio"]:checked{
box-shadow : none;
}
label.checkbox_text input[type="checkbox"]:checked:focus,
label.checkbox input[type="checkbox"]:checked:focus{
opacity: 0.1;
}
label.radio_text input[type="radio"]:focus,
label.radio input[type="radio"]:focus{
opacity: 0.2;
}

label.checkbox_text input[type="checkbox"]:checked:focus {
box-shadow : 20px 0px #666;
}
label.checkbox_text input[type="checkbox"]:focus {
box-shadow : 20px 0px #EEE;
}
label.checkbox input[type="checkbox"]:checked:focus {
box-shadow : 20px 0px #666;
}
label.checkbox input[type="checkbox"]:focus {
box-shadow : 20px 0px #EEE;
}
label.radio_text input[type="radio"]:focus {
box-shadow : 18px 0px #FFF;
}
label.radio input[type="radio"]:focus {
box-shadow : 18px 0px #FFF;
}


/* form txt */
input[type=text] {
font-size: 100%;
font-weight: 300;
font-family: 'Noto Sans JP', "メイリオ", sans-serif;
}
textarea {
font-size: 100%;
font-weight: 300;
font-family: 'Noto Sans JP', "メイリオ", sans-serif;
}


/**/
.selectlist {
overflow: hidden;
text-align: left;
}
.selectlist select {
width: 100%;
padding-right: 1em;
cursor: pointer;
text-indent: 0.01px;
text-overflow: ellipsis;
border: none;
outline: none;
background: transparent;
background-image: none;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.selectlist select::-ms-expand {
display: none;
}
.selectlist.cp01 {
position: relative;
border: 1px solid #bbbbbb;
border-radius: 3px;
background: #ffffff;
}
.selectlist.cp01::before {
position: absolute;
top: 1.2em;
right: 0.9em;
width: 0;
height: 0;
padding: 0;
content: '';
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid #666666;
pointer-events: none;
}
.selectlist.cp01 select {
padding: 1em 38px 1em 1em;
color: #666666;
}

/* googlemap
*************/
.ggmap {
position: relative;
padding-bottom: 50%;
padding-top: 20px;
margin: 0;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.ggmap2 {
position: relative;
padding-bottom: 20%;
padding-top: 20px;
margin: 0;
height: 0;
overflow: hidden;
}
.ggmap2 iframe,
.ggmap2 object,
.ggmap2 embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

@media only screen and (max-width: 767px){
.ggmap2 {
position: relative;
padding-bottom: 40%;
padding-top: 20px;
}
}

/* googleカレンダー
*************/
.googlecal {
position: relative;
padding-bottom: 100%; /* 縦横比 */
height: 0;
}
.googlecal iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}
/* 画面幅が768px以上の場合の縦横比の指定 */
@media only screen and (min-width: 768px) {
.googlecal { padding-bottom: 75%; }
}

/* youtube
*************/
.youtube {
position: relative;
width: 100%;
padding-top: 56.25%;
}
.youtube iframe {
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 100% !important;
}

/* facebook
*************/
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
width: 100% !important;
}


/* title
*************/
.pageTitle {
position: relative;
width: 100%;
margin: 0 auto 10vh auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
box-shadow: 0 0 3px 3px rgba(83,83,83,.1);
}
.pageTitle_ttl {
position: relative;
width: 500px;
background: url(../img/bg_title_m.jpg) center center;
background-size: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
.pageTitle_ttl .Title_box {
width: 70%;
padding: 5px;
position: absolute;
top: 50%;left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background: #ffffff;
}
.Title_box2 {
padding: 10px;
}
.pageTitle_ttl h2 {
color: #2f2f2f;
font-size: 34px;
line-height: 1.3em;
letter-spacing: 0;
font-weight: bold;
font-family: 'smartphone';
}
.pageTitle_ttl h3 {
color: #666;
font-size: 14px;
font-family: 'Dinpro';
}
.pageTitle_bg {
width: calc(100% - 500px);
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
@media only screen and (max-width: 1040px){
.pageTitle_ttl h2 {
font-size: 3vw;
}
.pageTitle_ttl h3 {
font-size: 1.5vw;
}
}

@media only screen and (max-width: 768px){
.pageTitle {
-webkit-flex-direction: column-reverse;
flex-direction: column-reverse;
}
.pageTitle_ttl {
width: 100%;
padding: 10px 0;
background-size: cover;
}
.pageTitle_ttl .Title_box:before {
left: 0px;
top: 20px;
}
.pageTitle_ttl .Title_box:after {
right: 0px;
bottom: 10px;
}
.pageTitle_ttl .Title_box {
position: relative;
width: 60%;
padding: 5px;
margin: 0 auto;
top: 0%;left: 0%;
-webkit-transform: translate(-0%, -0%);
transform: translate(-0%, -0%);
}
.Title_box2 {
padding: 5px;
}
.pageTitle_bg {
width: 100%;
}
.pageTitle_ttl h2 {
font-size: 22px;
}
.pageTitle_ttl h3 {
font-size: 14px;
}
}

/* 見出し
*************/

.h3 {
position: relative;
display: inline-block;
padding: 0 70px;
margin: 0 auto 70px auto;
}
.h3 h3 {
font-size: 30px;
font-weight: 400;
}
.h3:before, .h3:after {
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 45px;
height: 1px;
background-color: black;
}
.h3:before {
left:0;
}
.h3:after {
right: 0;
}
.h3 h3 .en {
margin: 0 auto;
font-size: 13px;
text-align: center;
}


.h4{
background-image: url(../img/h4bg.png);
background-repeat: no-repeat;
background-position: center right;
background-color: #efecd0; /* 背景色 */
color: #000; /* 文字色 */
overflow: hidden;
padding: 15px;  /* 余白 */
margin: 0 0 20px 0;
position: relative;
font-size: 20px;
font-weight: 400;
text-align: left;
line-height: 1.3em;

}
.h4 h4{
  z-index: 900 !important;  
}
/*
.h4:before{
background-color: #ccc; 
content: '';
display: block;
opacity: 0.8; 
transform: rotate(-50deg);
position: absolute;
bottom: -10px;
right: -330px;
width: 500px;
height: 500px;
z-index: 600;
}
.h4:after{
background-color: #f6e54d; 
content: '';
display: block;
opacity: 0.8; 
transform: rotate(-70deg);
position: absolute;
bottom: -100px;
right: -500px;
width: 500px;
height: 500px;
z-index: 700;
}*/

.h4 .days{
position: absolute;
right: 0;
bottom: 0;
font-size: 90%;
z-index: 800;
}




@media screen and (max-width:767px){
    .h4:before{
bottom: -10px;
right: -400px;
width: 500px;
height: 500px;
}
.h4:after{
bottom: -100px;
right: -420px;
width: 400px;
height: 400px;
}
}

.h5 {
position: relative;
padding: 10px 0 5px 30px;
margin: 0 0 20px 0px;
font-weight: 400;
line-height: 1.2em;
text-align: left;
border-bottom: 1px solid #999;
clear: both;
}
.h5:before {
content: '';
display: block;
position: absolute;
top: 5px;
left: 0px;
width: 30px;
height: 30px;
background: url(../img/ico_pin.png) 0 0 no-repeat;
}

.h5_takeda01 {
position: relative;
padding: 10px 0 5px 30px;
margin: 70px 0 20px 0px;
font-weight: 400;
line-height: 1.2em;
text-align: left;
border-bottom: 1px solid #999;
clear: both;
}
.h5_takeda01:before {
content: '';
display: block;
position: absolute;
top: 5px;
left: 0px;
width: 30px;
height: 30px;
background: url(../img/ico_pin.png) 0 0 no-repeat;
}



.h5_2 h5 {
position: relative;
padding: 0 0 0 27px;
margin: 0 auto 10px auto;
font-size: 16px;
font-weight: 400;
text-align: left;
}
.h5_2 h5::before {
content: '';
display: block;
position: absolute;
top: 3px;
left: 3px;
width: 20px;
height: 20px;
background: url(../img/ico_mi.png) 0 0 no-repeat;
}


@media only screen and (min-width: 767px){
}
@media only screen and (max-width: 767px){
.h3 {
font-size: 22px;
}
.h4 {
font-size: 18px;
}
.h5 {
font-size: 16px;
}
}



/* カラム
*************/
#contents .col1 {
text-align: center;
}
#contents .col2 {
position: relative;
margin: 0 3% 5% 0;
float: left;
width: 47%;
text-align: left;
}
#contents .col3 {
position: relative;
margin: 0 3% 5% auto;
width: 30%;
float: left;
text-align: left;
}
#contents .col4 {
position: relative;
margin: 0 3% 5% 0;
width: 22%;
text-align: left;
float: left;
}
#contents .col5 {
margin: 0 3% 5% 0;
width: 17%;
text-align: left;
float: left;
}
#contents .col1 p,
#contents .col2 p,
#contents .col3 p,
#contents .col4 p,
#contents .col5 p {
padding: 1% 0 1% 0;
line-height: 1.5em;
}
#contents p {
text-align: left;
}
#contents p.center {
text-align: center;
}


/* 装飾デザイン
*************/
/* box_line */
.box_line {
position: relative;
padding: 40px 2em 20px;
width: 100%; /* ボックス幅 */
background-color: #f9f7e9; /* ボックス背景色 */
border: 1px solid #b5b18a; /* 枠線 */
box-shadow: 1px 1px 2px #ccc; /* 影 */
}
.box_line::before, 
.box_line::after {
position: absolute;
content: '';
top: 10px;
width: 18px;
height : 18px;
background-color: #fff; /*穴背景色*/
box-shadow: -1px -1px 8px #cccccc inset;
border: 1px solid #ccc; /*穴*/
border-radius: 50%;
}
.box_line::before { left: 80px;}
.box_line::after { right: 80px;}


/* box_line2 */
.box_line2 {
padding: 1em;
width: 100%;
background-color: #f4f4f4; /* 背景色 */
}

/* box_line3 */
.box_line3{
width: 100%;
padding: 40px;	/* 内側の余白 */
position: relative;
z-index: 0;
}
.box_line3:before{
background: repeating-linear-gradient(-45deg, #f5d5da, #f5d5da 5px, #fcf0f1 0, #fcf0f1 10px); /* ストライプの色 */
content: '';
position: absolute;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
z-index: -2;
}
.box_line3:after{
background: #fff; /* 背景色 */
content: '';
position: absolute;
top: 10px;	/* ストライプ部分の太さ・上 */
bottom: 10px;	/* ストライプ部分の太さ・下 */
left: 10px;	/* ストライプ部分の太さ・左 */
right: 10px;	/* ストライプ部分の太さ・右 */
z-index: -1;
}


/* ボタン */
.buttonbox {
margin: 20px auto 0px auto;
text-align: center;
clear: both;
}
.buttonbox2 {
margin: 0px auto 80px auto;
text-align: center;
clear: both;
}
.buttonbox3 {
width: 80%;
margin: 40px auto 0px auto;
text-align: center;
clear: both;
}
.buttonbox4 {
width: 50%;
margin: 40px auto 0px auto;
text-align: center;
clear: both;
}


@media only screen and (min-width: 767px) {
.buttonbox3 {
width: 400px;
}
.buttonbox4 {
width: 200px;
}
}
@media only screen and (max-width: 767px) {
.buttonbox {
width: 100%;
margin: 5% auto 0px auto;
}
.buttonbox2 {
width: 80%;
margin: 5% auto 0px auto;
}
}

.buttonboxr {
margin: 20px auto 0px auto;
text-align: right;
clear: both;
}

/* button01 */
.button01 {
width: 100%;
max-width: 380px;
margin: 0 auto;
}
.button01 a {
position: relative;
padding: 15px 10px;
text-align:center;
font-size: 18px;
line-height: 1.3em;
text-decoration:none;
display: block;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
border: 1px solid #6e6e6e;
z-index: 100;
}
.button01 a:hover {
text-decoration: none;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
opacity: 0.5;
}
@media only screen and (max-width: 1400px) {
.button01 a {
font-size: 1.1vw;
}
}
@media only screen and (max-width: 1040px) {
.button01 a {
font-size: 18px;
}
}

/* button01 */
.button01_2 {
position: relative;
display: inline-block;
width: 100%;
margin: auto auto 0 auto;
}
.button01_2 a {
padding: 20px;
text-align:center;
color: #000;
font-size: 14px;
font-weight: 400;
line-height: 1.3em;
text-decoration:none;
display: block;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
background-color: #f7e009;
z-index: 100;
}
.button01_2::after {
position: absolute;
top: 50%;
right: 5%;
content: '';
margin-top: -5px;
transition: all .3s;

width: 8px;
height: 8px;
border-top: 2px solid #000;
border-right: 2px solid #000;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.button01_2 a:hover {
text-decoration: none;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
color: #000;
background-color: #fff388;
}
.button01_2:hover::after {
border-top: 2px solid #000;
border-right: 2px solid #000;
}
@media only screen and (max-width: 767px) {
.button01_2 a {
padding: 15px;
font-size: 16px;
}
}


/* button02 */
.button02 {
position: relative;
display: inline-block;
width: 100%;
margin: auto auto 0 auto;
}
.button02 a {
padding: 20px;
text-align:center;
color: #000;
font-size: 14px;
font-weight: 400;
line-height: 1.3em;
text-decoration:none;
display: block;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
background-color: #fff;
border: 1px solid #000;
z-index: 100;
}
.button02::after {
position: absolute;
top: 50%;
right: 5%;
content: '';
margin-top: -5px;
transition: all .3s;

width: 8px;
height: 8px;
border-top: 2px solid #000;
border-right: 2px solid #000;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.button02 a:hover {
text-decoration: none;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
color: #000;
background-color: #eee;
border: 1px solid #000;
}
.button02:hover::after {
border-top: 2px solid #000;
border-right: 2px solid #000;
}
@media only screen and (max-width: 767px) {
.button02 a {
padding: 15px;
font-size: 16px;
}
}


/* button03 */
.button03 {
position: relative;
display: inline-block;
width: 100%;
margin: auto auto 0 auto;
}
.button03 a {
padding: 20px;
text-align:center;
color: #000;
font-size: 16px;
font-weight: 400;
line-height: 1em;
text-decoration:none;
display: block;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
background-color: #eee;
border: 1px solid #000;
z-index: 100;
}
.button03::after {
position: absolute;
top: 50%;
right: 7%;
content: '';
margin-top: -5px;
transition: all .3s;

width: 8px;
height: 8px;
border-top: 2px solid #000;
border-right: 2px solid #000;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.button03 a:hover {
text-decoration: none;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
color: #fff;
background-color: #000;
border: 1px solid #000;
}
.button03:hover::after {
border-top: 2px solid #fff;
border-right: 2px solid #fff;
}
@media only screen and (max-width: 767px) {
.button03 a {
padding: 15px;
font-size: 16px;
}
}


/* 色ボタンレイアウト */
.menucol1 {
width: 50%;
margin: 0 auto;
text-align: center;
}
.menucol2 {
margin: 0 3% 2% 0;
width: 47%;
text-align: left;
float: left;
}
.menucol3 {
margin: 0 3% 2% 0;
width: 30.3%;
text-align: left;
float: left;
}
.menucol4 {
margin: 0 3% 2% 0;
width: 22%;
text-align: left;
float: left;
}
@media only screen and (max-width: 767px){
.menucol1 {
width: 100%;
}
.menucol2 {
width: 100%;
}
.menucol3 {
width: 100%;
}
.menucol4 {
width: 100%;
}
}
/* フレキシブルボックス
*************/

/* 中央揃え　画像上テキスト下 */
.wrapbox {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
align-items: center; /* 縦方向中央揃え */
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
-webkit-justify-content: space-between;
justify-content: space-between;
}
/* 中央揃え　画像上テキスト下　レスポンシブ逆 */
.wrapbox2 {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
align-items: center; /* 縦方向中央揃え */
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
}
/* 上揃え　画像上テキスト下 */
.wrapbox3 {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-align-items: flex-start; /* 縦方向中央揃え（Safari用） */
align-items: flex-start; /* 縦方向中央揃え */
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
-webkit-justify-content: space-between;
justify-content: space-between;
}
/* 上揃え　画像上テキスト下　レスポンシブ逆 */
.wrapbox4 {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-align-items: flex-start; /* 縦方向中央揃え（Safari用） */
align-items: flex-start; /* 縦方向中央揃え */
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
-webkit-justify-content: space-between;
justify-content: space-between;
}
/* 中央揃え　画像上テキスト下　レスポンシブなし */
.wrapbox5 {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
align-items: center; /* 縦方向中央揃え */
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
-webkit-justify-content: space-between;
justify-content: space-between;
}
/* 中央揃え　画像上テキスト下 */
.wrapbox6 {
width: 100%;
display: -webkit-flex;
display: flex;
align-items: center; /* 縦方向中央揃え */
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
-webkit-justify-content: space-between;
justify-content: space-between;
}
/* 折り返しあり */
.wrapbox8 {
width: 100%;
display: -webkit-flex;
display : flex;
flex-wrap : wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}
ul.flex {
display: -webkit-flex;
display : flex;
}

.wrap1 {
width: 10%;
}
.wrap2 {
position: relative;
width: 20%;
}
.wrap3 {
width: 30%;
}
.wrap4 {
width: 40%;
}
.wrap5 {
position: relative;
width: 50%;
}
.wrap6 {
width: 60%;
}
.wrap7 {
width: 70%;
}
.wrap8 {
width: 80%;
}
.wrap9 {
width: 90%;
}

/* 画像メニュー */
.wrap_pho5 {
position: relative;
width: 47%;
margin: 0 0 50px 0;
}
.wrap_pho5 .menu {
position: absolute;
width: 100%;
padding: 10px;
left: 0;
bottom: 0;
font-size: 20px;
font-weight: 400;
text-align: center;
background:rgba(240,168,167,0.6);
z-index: 9;
}
.wrap_pho5 .menu a {
color: #383838;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
}
.wrap_pho5 .menu a:hover {
color: #fff;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all  0.4s ease;
}

@media only screen and (max-width: 767px) {
.wrap_pho5 {
margin: 0 0 20px 0;
}
.wrap_pho5 .menu {
padding: 5px 10px;
font-size: 16px;
}
}


/* 線 */
.line1 {
padding: 10px 0 10px 0;
border-bottom: 3px solid #ccc;
}

/* 矢印 */
.wrapar1 {
width: 64px;
height: 64px;
margin: 0 auto;
background: url(../img/ar03.png) center center no-repeat;
}

/* バツ */
.wrapbatu {
width: 48px;
height: 224px;
margin: 0 auto;
background: url(../img/img_batu.png) center center no-repeat;
}

/* 吹き出し背景 */
.wrap2 .fu {
width: 100%;
font-size: 20px;
font-weight: 400;
position: absolute;
top: 50%;left: 50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);
z-index: 0;
}


/* 隙間 */
.wrap_spr1 {
margin-right: 1%;
}
.wrap_spr3 {
margin-right: 3%;
}
.wrap_spr3_2 {
margin-right: 3%;
}
.wrap_spl3 {
margin-left: 3%;
}
.wrap_spb3 {
margin-bottom: 3%;
}

.wrap_pad2 {
padding: 2%;
}
.wrap_pad3 {
padding: 3%;
}

@media only screen and (max-width: 767px) {
.wrapbox {
-webkit-flex-direction: column;
flex-direction: column;
}
.wrapbox2 {
-webkit-flex-direction: column;
flex-direction: column;
-webkit-flex-direction: column-reverse;
flex-direction: column-reverse;
}
.wrapbox3 {
-webkit-flex-direction: column;
flex-direction: column;
}
.wrapbox4 {
-webkit-flex-direction: column;
flex-direction: column;
-webkit-flex-direction: column-reverse;
flex-direction: column-reverse;
}
.wrapbox6 {
-webkit-flex-direction: column;
flex-direction: column;
}
.wrapbox7 {
-webkit-flex-direction: column;
flex-direction: column;
}
.wrapbox7 li.wbox7 {
width: 100%;
margin-bottom: 50px;
}

.wrap1,
.wrap2,
.wrap3,
.wrap4,
.wrap5,
.wrap6,
.wrap7,
.wrap8,
.wrap9 {
width: 100%;
margin: 0 auto;
text-align: center;
}
.wrapar1 {
height: 64px;
background: url(../img/ar04.png) center center no-repeat;
}

/* 隙間 */
.wrap_spr1 {
margin: 0 0 3% 0;
}
.wrap_spr3 {
margin: 0 0 3% 0;
}
.wrap_spl3 {
margin: 0 0 3% 0;
}


/* 矢印 */
.wrapar1 {
width: 64px;
height: 64px;
margin: 20px auto;
background: url(../img/ar04.png) center center no-repeat;
}
/* バツ */
.wrapbatu {
width: 48px;
height: 100px;
margin: 0 auto;
background: url(../img/img_batu.png) center center no-repeat;
}
}


/* 画像+テキストレイアウト
*************/
.mi1 {
position: relative;
padding: 0 0 0 27px;
margin: 0 auto 10px auto;
font-size: 16px;
font-weight: 400;
}
.mi1::before {
content: '';
display: block;
position: absolute;
top: 3px;
left: 3px;
width: 20px;
height: 20px;
background: url(../img/ico_mi.png) 0 0 no-repeat;
}

/* business */
.block1_1 {
}

/* company */
ol.block2_1 {
counter-reset:number; /*数字をリセット*/
list-style-type: none!important; /*数字を一旦消す*/
padding:0;
font-weight: 400;
}
ol.block2_1 li {
position: relative;
padding: 1em;
line-height: 1.5em;
background: #eee;
border-left : solid 35px #f39800;
margin-bottom: 10px;
}
ol.block2_1 li:before{
/* 以下数字をつける */
position: absolute;
counter-increment: number;
content: counter(number);
/*数字のデザイン変える*/
display:inline-block;
color: white;
font-weight:bold;
font-size: 15px;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: -35px;
width: 35px;
height: 1em;
line-height: 1;
text-align: center;
}

.block2_2 {
padding: 7px 20px;
margin: 0 auto 10px auto;
font-size: 17px;
font-weight: 400;
background: #fff48e;
border-bottom: 1px solid #000;
}
.block2_2 .b2_2no {
margin: 0 5px 0 0;
font-size: 20px;
font-weight: 700;
}

/* department */
.block3_1 {
padding: 5px;
margin: 0 auto 10px auto;
font-weight: 400;
text-align: right;
border: 1px solid #ccc;
}


/* 下からふわっと表示 */
.fadein1 {
opacity : 0;
transform: translateY(20px);
transition: all 1s;
}
/* 下からふわっと表示2 */
.fadein1_1 {
opacity : 0;
transform: translateY(40px);
transition: all 2s;
}
/* 下からふわっと表示3 */
.fadein1_2 {
opacity : 0;
transform: translateY(40px);
transition: all 3s;
}
/* 下からふわっと表示4 */
.fadein1_3 {
opacity : 0;
transform: translateY(40px);
transition: all 4s;
}
/* 上からふわっと表示 */
.fadein2 {
opacity : 0;
transform: translateY(-20px);
transition: all 1s;
}
/* 左からふわっと表示 */
.fadein3 {
opacity : 0;
transform: translateX(-20px);
transition: all 1s;
}
/* 右からふわっと表示 */
.fadein4 {
opacity : 0;
transform: translateX(20px);
transition: all 1s;
}


/* 電話番号 */
#contents .tel {
font-size: 40px;
line-height: 1.3em;
font-family: 'AvenirNext';
}
#contents .tel a {
color: #000000;
text-decoration: none;
}

@media only screen and (max-width: 1040px){
#contents .tel {
font-size: 25px;
}
}

/* スマホ用メニュー非表示
------------------------------------------------------------*/
@media only screen and (min-width: 1040px){
.side-menu-btn {
display: none;!important
}
.side-menu {
display: none;!important
}
}

/* グローバルメニュー非表示
------------------------------------------------------------*/
@media only screen and (max-width: 1040px){
ul.mainwrap li.nav {
display: none;!important
}
nav#footnav  {
display: none;!important
}
}


/* PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1040px){
*, *:before, *:after {
-webkit-box-sizing: border-box!important;
-moz-box-sizing: border-box!important;
-o-box-sizing: border-box!important;
-ms-box-sizing: border-box!important;
box-sizing: border-box!important;
}
}



/* 1040以下
------------------------------------------------------------*/
@media only screen and (max-width: 767px){
html {
overflow-x: hidden;
}

*, *:before, *:after {
-webkit-box-sizing: border-box!important;
-moz-box-sizing: border-box!important;
-o-box-sizing: border-box!important;
-ms-box-sizing: border-box!important;
box-sizing: border-box!important;
}


/* 全体
*************/
.alignleft,
.alignright {
max-width: 600px;
margin:0 auto 20px auto;
clear: both;
float: none;
text-align: center;
display: block;
}

/*contents
*************/
#contents .col1,
#contents .col2,
#contents .col3,
#contents .col4 {
width: 98%;
margin-right: auto;
margin-left: auto;
text-align: center;
clear: both;
float: none;
}

#contents .col5 {
width: 98%;
text-align: center;
margin-right: auto;
margin-left: auto;
clear: both;
float: none;
}

.w6l,
.w4r,
.w4l,
.w6r,
.w3l,
.w3r,
.w7l,
.w7r {
width: 98%;
margin-right: auto;
margin-left: auto;
clear: both;
float: none;
}

/* scroll
*************/
.scroll{
width: 100%;
overflow: auto;
}
.scroll table.table2 {
width: 100%;
white-space: nowrap;
}
.scroll table.table2 tbody{
width: 100%;
}
.scroll::-webkit-scrollbar{
height: 5px;
}
.scroll::-webkit-scrollbar-track{
background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb{
background: #BCBCBC;
}
.scroll table.table2 {
width:1050px;
}


.scroll table.table4 {
width: 100%;
white-space: nowrap;
}
.scroll table.table4 tbody{
width: 100%;
}
.scroll::-webkit-scrollbar{
height: 5px;
}
.scroll::-webkit-scrollbar-track{
background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb{
background: #BCBCBC;
}
.scroll table.table4 {
width:1050px;
}

}

/*エリア編集画面調整*/
.wcarea_400211825401 .col3 {
    position: static !important;
    width: 336px !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.wcarea_400211825401 .col2 {
    position: static !important;
    width: 505px !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.wcarea_400211825401 .col4 {
    position: static !important;
    width: 246px !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.wcarea_400211825401 .col5 {
    position: static !important;
       width: 194px !important;
    display: inline-block !important;
    vertical-align: top !important;
}
