@charset "UTF-8";
/*  common
================================================ */
/*  02_base
================================================ */
html { overflow: auto; }
body { min-width: 320px; font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; color: #333; font-size: 1.4rem; line-height: 1.8; letter-spacing: 0.06em; overflow: hidden; -webkit-text-size-adjust: 100%; }
@media all and (min-width: 600px) { body { min-width: 1200px; font-size: 1.6rem; } }
body.sg { height: auto; }
p, a, span { line-height: 1.8; letter-spacing: 0.06em; }
h1, h2, h3, h4, h5 { line-height: 1.5; letter-spacing: 0.12em; }
a { color: inherit; text-decoration: underline; }

@media all and (min-width: 600px) { a:hover { text-decoration: none; } }
.alpha { display: block; text-decoration: none; }

@media all and (min-width: 600px) { .alpha { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .alpha:hover { opacity: 0.7; } }
img { width: 100%; height: auto; }

/* pc <--> sp
-------------------------------------- */
#mediaQuery { display: none; font-family: "sp"; }
@media all and (min-width: 600px) { #mediaQuery { font-family: "pc"; } }
@media all and (max-width: 599px) { .viewPc { display: none !important; } }
@media all and (min-width: 600px) { .viewSp { display: none !important; } }

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

/* layout
-------------------------------------- */
#wrapper { position: relative; padding-top: 88px; }

@media all and (min-width: 600px) { #wrapper { padding-top: 0px} }

@media all and (max-width: 599px) { #wrapper { padding-bottom: 80px} }

#container { padding: 0px 0 50px; }

#container #sidebar { padding-top: 20px; }

@media all and (min-width: 600px) { #container { padding: 0; }
  #container.col2 { width: 1160px; margin: 0 auto; }
  #container.col2 #contents { float: left; width: 820px; padding: 0; }
  #container.col2 #sidebar { float: right; width: 250px; padding-top: 0; } }

/* fonts
================================================ */
.fontRoboto { font-family: "Roboto Condensed","Noto Sans JP", sans-serif; }

/* #breadcrumb
================================================ */
#breadcrumb { background-color: #f3f6f8; }

@media all and (max-width: 599px) { #breadcrumb { display: none; } }

@media all and (min-width: 600px) { #breadcrumb { padding-top: 162px; } }

#breadcrumb .list { width: 1160px; margin: 0 auto; padding: 11px 0 14px; }

#breadcrumb .list .item { display: inline-block; color: #0097e0; }

#breadcrumb .list .item a { text-decoration: none; font-size: 1.2rem; }

#breadcrumb .list .item.current { font-size: 1.2rem; color: #333; }

#breadcrumb .list .item + .item { padding-left: 0px; }

#breadcrumb .list .item + .item:before { content: ">"; margin-right: 3px; color: #333; }

/* #gFooter
================================================ */
#ftNav { margin-bottom: 30px; }

#ftNav .list .item { border-bottom: 1px solid #e1e1e1; }

#ftNav .list .item a { display: block; color: #0097e0; font-size: 1.2rem; padding: 13px 0 15px; text-decoration: none; font-weight: bold; background-image: url("../img/common/ico_arrow01.png"); background-repeat: no-repeat; background-position: right 5px center; background-size: 7px 10px; }

#ftNav .list .item span { display: block; color: #0097e0; font-size: 1.2rem; padding: 13px 0 15px; text-decoration: none; font-weight: bold; }

#ftNav .subList { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

#ftNav .subList.wide .item a { padding: 15px 0 10px; }

#ftNav .subList .item { width: 50%; border-bottom: 1px solid #e1e1e1; display: flex; align-items: center; }

#ftNav .subList .item.only { width: 100%; }

#ftNav .subList .item:nth-child(odd) a { margin-right: 15px; }

#ftNav .subList .item:nth-child(even) a { margin-left: 15px; }

#ftNav .subList .item a { display: block; font-size: 1.1rem; text-decoration: none; padding: 17px 0 17px; line-height: 1.36364; padding-left: 20px; background-image: url("../img/common/ico_arrow01.png"); background-position: left 5px center; background-repeat: no-repeat; background-size: 5px 7px; }

@media all and (min-width: 600px) { #ftNav { margin-bottom: 20px; display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: -12px; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  #ftNav .listWrap + .listWrap { position: relative; padding-left: 51px; }
  #ftNav .listWrap + .listWrap:before { content: ""; display: block; width: 1px; position: absolute; top: 11px; left: 0; height: 106%; background-color: #e1e1e1; }
  #ftNav .listWrap:first-child { width: 290px; }
  #ftNav .listWrap:nth-child(2) { width: 243px; }
  #ftNav .listWrap:last-child { width: 213px; margin-right: -6px; }
  #ftNav .list .item { border-bottom: none; }
  #ftNav .list .item a, #ftNav .list .item span { display: block; color: #0097e0; font-size: 1.4rem; padding: 5px 0 5px; background-image: none; }
  #ftNav .subList { display: block; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 10px; }
  #ftNav .subList .item { width: auto; border-bottom: none; }
  #ftNav .subList .item.only { width: 100%; }
  #ftNav .subList .item:nth-child(odd) a { margin-right: 0; }
  #ftNav .subList .item:nth-child(even) a { margin-left: 0; }
  #ftNav .subList .item a { display: block; font-size: 1.3rem; text-decoration: none; padding: 6px 0 7px; line-height: 1.36364; padding-left: 22px; background-image: url("../img/common/ico_arrow01.png"); background-position: left 11px center; background-repeat: no-repeat; background-size: 6px 8px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #ftNav .subList .item a:hover { color: #0097e0; } }

#gFooter .bnrs { margin-top: 20px; margin-bottom: 20px; }

#gFooter .bnrs .bnr { max-width: 245px; margin: 0 auto; }

#gFooter .bnrs .bnr + .bnr { margin-top: 15px; }

#gFooter .pdf { background-color: #f3f6f8; margin: 0 -15px; padding: 10px 15px; }

#gFooter .pdf .btnWrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

#gFooter .pdf .btnWrap .btn { width: calc(50% - 7.5px); }

#gFooter .pdf .leader { margin-top: 10px; display: -webkit-box; display: -ms-flexbox; display: flex; }

#gFooter .pdf .leader .btn { width: 142px; }

#gFooter .pdf .leader .txt { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; margin-top: -4px; line-height: 1.5; display: -webkit-box; display: -ms-flexbox; display: flex; font-size: 1rem; margin-left: 10px; }

#gFooter .links { margin-top: 9px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

#gFooter .links .item + .item { margin-left: 18px; }

#gFooter .links .item a { display: block; font-size: 1.1rem; text-decoration: none; padding: 8px 0 8px; line-height: 1.36364; padding-left: 15px; background-image: url("../img/common/ico_arrow01.png"); background-position: left 5px center; background-repeat: no-repeat; background-size: 5px 7px; }

#gFooter .links .item a:hover { color: #0097e0; }

#gFooter .cr { color: #8e9b9c; font-size: 1rem; text-align: center; padding-bottom: 13px; }

@media all and (min-width: 600px) { #gFooter { border-top: 1px solid #e1e1e1; padding: 81px 0 10px; }
  #gFooter .box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #gFooter .logo { width: 194px; }
  #gFooter .bnrs { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 61px; margin-bottom: 40px; }
  #gFooter .bnrs .bnr { width: 370px; max-width: none; }
  #gFooter .bnrs .bnr + .bnr { margin-top: 0; margin-left: 25px; }
  #gFooter .bnrs .bnr a { display: block; }
  #gFooter .pdf { /*margin: 0 calc((100vw - 1160px) * 0.5 * -1);*/ margin: 0 -300%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; /*padding: 0 calc((100vw - 1160px) * 0.5); padding-top: 20px; padding-bottom: 20px;*/ padding: 20px 300%; max-width: 1160px; }
  #gFooter .pdf .btnWrap { margin: 0; display: -webkit-box; display: -ms-flexbox; display: flex; }
  #gFooter .pdf .btnWrap .btn { width: 250px; }
  #gFooter .pdf .btnWrap .btn + .btn { margin-left: 20px; }
  #gFooter .pdf .leader { margin-top: 0px; display: -webkit-box; display: -ms-flexbox; display: flex; }
  #gFooter .pdf .leader .btn { width: 159px; }
  #gFooter .pdf .leader .txt { min-width: 298px; margin-top: 10px; letter-spacing: 0.08em; font-size: 1.2rem; margin-left: 20px; }
  #gFooter .bottom { margin-top: 24px; }
  #gFooter .bottom .links { margin-top: 0; }
  #gFooter .bottom .links .item + .item { margin-left: 28px; }
  #gFooter .bottom .links .item a { padding: 0; font-size: 1.3rem; background-size: 6px 8px; background-position: left center; padding-left: 13px; }
  #gFooter .bottom .cr small { font-size: 1.2rem; letter-spacing: 0.06em; } }

/* #pagetop
================================================ */
#logoWrap .inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; border-top: 1px solid #e1e1e1; border-bottom: 1px solid #e1e1e1; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#logoWrap .inner .logo { margin-top: 9px; margin-bottom: 13px; width: 130px; }

#logoWrap .inner #pagetop { margin-top: 10px; margin-bottom: 10px; width: 50px; height: 44px; position: relative; box-sizing: border-box; border-left: 1px solid #e1e1e1; background-image: url("../img/common/ico_arrow02.png"); background-repeat: no-repeat; background-size: 12px 25px; background-position: center center; }

@media all and (min-width: 600px) { #logoWrap { position: relative; }
  #logoWrap .inner { border: none; }
  #logoWrap .inner #pagetop { width: auto; height: auto; position: absolute; right: 30px; top: 0px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #logoWrap .inner #pagetop:hover { background-color: #0097e0; background-image: url("../img/common/ico_arrow08.png"); }
  #logoWrap .inner #pagetop a { display: block; width: 58px; height: 58px; border: 1px solid #0097e0; }
  #logoWrap .inner #pagetop img { right: 50%; -webkit-transform: translate(50%, -50%); -ms-transform: translate(50%, -50%); transform: translate(50%, -50%); } }

/* #gHeader
================================================ */
#topTxt { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; background-color: #f3f6f8; padding: 0 15px; margin: 0 -15px; font-size: 1rem; letter-spacing: 0.06em; padding-top: 3px; padding-bottom: 3px; color: #0097e0; line-height: 1; }

@media all and (min-width: 600px) { #topTxt { background-color: #f3f6f8; }
  #topTxt .inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #topTxt .topTxt { font-size: 1.2rem; line-height: 1.2;}
  #topTxt .subList { position: relative; top: 2px; }
  #topTxt .subList .item { display: inline-block; margin-bottom: 5px; }
  #topTxt .subList .item a { display: block; color: #6c757b; font-size: 1.2rem; line-height: 1; letter-spacing: 0.06em; margin-right: 15px; text-decoration: none; padding-left: 15px; background-image: url("../img/common/ico_arrow01.png"); background-repeat: no-repeat; background-size: 5px 7px; background-position: left 5px center; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #topTxt .subList .item a[target="_blank"] { background-image: url("../img/common/ico_arrow01.png"), url("../img/common/ico_blank01.png"); background-repeat: no-repeat; background-size: 5px 7px, 9px 9px; padding-right: 13px; background-position: left 5px center, right, center; }
  #topTxt .subList .item a:hover { color: #0097e0; } }

#gHeader { position: absolute; top: 27px; left: 0; width: 100%; min-width: 320px; z-index: 2000; }

@media all and (min-width: 600px) { #gHeader { position: absolute; width: 100%; min-width: 1200px; background-color: #fff; } }

/* #hdInfo
-------------------------------------- */
#hdInfo { position: relative; z-index: 1; height: 60px; background: #fff; }
#hdInfo .logo { float: left; width: 130px; padding: 13px 10px 0 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
#hdInfo .txt { padding-top: 10px; display: inline-block; width: 138px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
#hdInfo .btnGnav { position: absolute; z-index: 3; top: 7px; right: 7px; width: 46px; height: 46px; background: #0097e0; cursor: pointer; }
#hdInfo .btnGnav .line { position: absolute; left: 11px; width: 24px; height: 2px; content: ""; background: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
#hdInfo .btnGnav .line:nth-child(1) { top: 9px; }
#hdInfo .btnGnav .line:nth-child(2) { top: 16px; }
#hdInfo .btnGnav .line:nth-child(3) { top: 23px; }
#hdInfo .btnGnav.is_open { background-color: #fff; }
#hdInfo .btnGnav.is_open .line { background: #0097e0; }
#hdInfo .btnGnav.is_open .line:nth-child(1) { top: 18px; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
#hdInfo .btnGnav.is_open .line:nth-child(2) { opacity: 0; }
#hdInfo .btnGnav.is_open .line:nth-child(3) { top: 18px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
#hdInfo .btnGnav .chara { position: absolute; left: 0; bottom: 6px; font-weight: bold; width: 100%; color: #fff; font-size: 1rem; letter-spacing: 0.02em; line-height: 1.2; text-align: center; }

@media all and (min-width: 600px) { #hdInfo { height: 80px; min-width: 1160px; margin: 0 auto; padding: 0; }
  #hdInfo .logo { width: 230px; float: none; padding: 4px 0 0 0; }
  #hdInfo .txt { width: 215px; display: block; padding-top: 0px; font-size: 1.6rem; line-height: 1.5; margin-left: 15px; height: 14px; }
  #hdInfo .txt a{line-height: 1;}
  #hdInfo .box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  #hdInfo .btnWrap { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 12px; }
  #hdInfo .btns { z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; height: 60px; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #hdInfo .btns + .btns { margin-left: 10px; }
  #hdInfo .btns .btn { width: auto; height: 100%; }
  #hdInfo .btns .btn + .btn { margin-left: 10px; }
  #hdInfo .btns .btn a { height: 100%; display: block; /*font-weight: bold;*/ text-decoration: none; width: 100%; border-radius: 5px; box-sizing: border-box; }
  #hdInfo .btns .btn a span { /*font-weight: bold;*/ }
  /* #hdInfo .btns .btn01 a { border: 1px solid #0097e0; color: #0097e0; background-size: 10px; background-position: right 4px bottom 4px; padding: 10px 17px 10px 17px; background-image: url("../img/common/ico_blank02.png"); background-repeat: no-repeat; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; } */
  #hdInfo .btns .btn01 a { width: 220px; border-radius: 0; background-size: 220px; background-position: center; background-image: url("../img/common/header/bnr_head02_pc.png"); background-repeat: no-repeat; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #hdInfo .btns .btn01 a span { text-align: center; display: block; letter-spacing: 0.06em; }
  /* #hdInfo .btns .btn01 a:hover { color: #ffff; background-color: #0097e0; background-image: url("../img/common/ico_blank03.png"); } */
  #hdInfo .btns .btn01 a:hover { opacity: .7;}
  #hdInfo .btns .btn01 .small { font-size: 1.2rem; line-height: 1.4; }
  #hdInfo .btns .btn01 .big { margin-top: 1px; font-size: 1.4rem; line-height: 1.5; }
  #hdInfo .btns .btn02 { position: relative; }
  #hdInfo .btns .btn02:after { width: 8px; height: 12px; right: 10px; top: 25px; content: ''; display: block; position: absolute; background: url("../img/common/ico_arrow03.png"); background-repeat: no-repeat; background-position: center; background-size: 8px;}
  #hdInfo .btns .btn02 a { width: 220px; display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; -webkit-box-align: center; -ms-flex-align: center; align-items: center; letter-spacing: 0.06em; padding: 0 22px 0 10px; color: #fff; /*font-weight: bold;*/ -webkit-transition: all 0.3s ease; transition: all 0.3s ease; font-size:1.4rem }
  #hdInfo .btns .btn02 a img { width: 40px; margin-right: 10px; }
  #hdInfo .btns .btn02 a:hover:after { opacity: 0; }
  #hdInfo .btns .btn02 a:before, #hdInfo .btns .btn02 a:after { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; content: ""; display: block; position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; border-radius: 5px; }
  #hdInfo .btns .btn02 a:after { background: -webkit-gradient(linear, left top, right top, from(#fd9014), to(#fbad06)); background: linear-gradient(to right, #fd9014 0%, #fbad06 100%); background-repeat: no-repeat; background-size: 220px; background-position: center; }
  #hdInfo .btns .btn02 a:before { background: -webkit-gradient(linear, right top, left top, from(#fd9014), to(#fbad06)); background: linear-gradient(to left, #fd9014 0%, #fbad06 100%); background-repeat: no-repeat; background-size: 220px; background-position: center; }
  #hdInfo .btns .btn03 { margin-left: 20px !important; }
  #hdInfo .btns .btn03 a { pointer-events: none; color: #333; background-color: #fff; padding: 0; padding-bottom: 3px; }
  #hdInfo .btns .btn03 span { display: block; text-align: center; /*font-weight: bold; */}
  #hdInfo .btns .btn03 .small { font-size: 1.1rem; /*font-weight: bold;*/ background-color: #0097e0; display: block; color: #fff; }
  #hdInfo .btns .btn03 .num { line-height: 1; margin-top: 6px; font-size: 3.2rem; letter-spacing: 0.02em; padding-left: 20px; background-image: url("../img/common/ico_tel02.png"); background-repeat: no-repeat; background-position: left center; background-size: 18px 18px; } }
  /* #hdInfo .btns .btn04 a { border: 1px solid #d66a6e; color: #d66a6e; background-size: 10px; background-position: right 4px bottom 4px; padding: 10px 17px 10px 17px; background-image: url("../img/common/ico_blank04.png"); background-repeat: no-repeat; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; } */
  #hdInfo .btns .btn04 a { border-radius: 0; background-size: 220px; background-position: center; width: 220px; /*background-image: url("../img/common/header/bnr_head01_pc.png");*/ background-repeat: no-repeat; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; overflow: hidden; }
  #hdInfo .btns .btn04 a span { text-align: center; display: block; letter-spacing: 0.06em; }
  /* #hdInfo .btns .btn04 a:hover { color: #ffff; background-color: #d66a6e; background-image: url("../img/common/ico_blank03.png"); } */
  #hdInfo .btns .btn04 a:hover { opacity: .7;}
  #hdInfo .btns .btn04 .small { font-size: 1.2rem; line-height: 1.4; }
  #hdInfo .btns .btn04 .big { margin-top: 1px; font-size: 1.4rem; line-height: 1.5; }


/* #gNav
================================================ */
#gNav { display: none; position: absolute; top: 60px; left: 0; z-index: 3; width: 100%; padding: 0px 15px 15px; min-width: 320px; background: #fff; box-sizing: border-box; -webkit-overflow-scrolling: touch; }

#gNav .list { border-top: 1px solid #e1e1e1; }

#gNav .list .item { border-bottom: 1px solid #e1e1e1; }

#gNav .list .item a { display: block; padding: 14px 0px 13px; font-weight: 500; font-size: 1.5rem; text-decoration: none; }

@media all and (max-width: 599px) { #gNav .list .item a { background-image: url("../img/common/ico_arrow01.png"); background-repeat: no-repeat; background-position: right 5px center; background-size: 7px 10px; } }

#gNav .list .item .gNavBtn { position: relative; }

#gNav .list .item .gNavBtn.is_active .clickMark:after { -webkit-transform: translate(-50%, -50%) rotate(0); -ms-transform: translate(-50%, -50%) rotate(0); transform: translate(-50%, -50%) rotate(0); }

#gNav .list .item .tit { padding: 15px 0; font-weight: 500; position: relative; }

#gNav .list .item .clickMark { position: absolute; top: 50%; right: 30px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

#gNav .list .item .clickMark:before, #gNav .list .item .clickMark:after { content: ""; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 12px; height: 2px; background: #0097e0; }

#gNav .list .item .clickMark:after { -webkit-transform: translate(-50%, -50%) rotate(90deg); -ms-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#gNav .list .item .gList { background-color: #e6f0f7; padding: 0 20px; border: none; }

#gNav .list .item .gList .subItem { border-bottom: 1px solid #fff; position: relative; }

#gNav .list .item .gList .subItem a { padding: 14px 15px 13px; font-size: 1.3rem; }

#gNav .list .item .gList .subItem:before { content: ""; display: inline-block; position: absolute; background: #0097e0; height: 2px; width: 8px; top: 26px; }

#gNav .list .item .gList .subItem:last-child { border: none; }

#gNav .subList { border-bottom: 1px solid #e1e1e1; padding-bottom: 15px; margin-bottom: 20px; margin-top: 5px; }

#gNav .subList .item { display: inline-block; margin-bottom: 5px; }

#gNav .subList .item a { color: #6c757b; font-size: 1.1rem; line-height: 1; letter-spacing: 0.06em; margin-right: 15px; text-decoration: none; padding-left: 15px; background-image: url("../img/common/ico_arrow01.png"); background-repeat: no-repeat; background-size: 5px 7px; background-position: left 5px center; }

#gNav .subList .item a[target="_blank"] { background-image: url("../img/common/ico_arrow01.png"), url("../img/common/ico_blank01.png"); background-repeat: no-repeat; background-size: 5px 7px, 9px 9px; padding-right: 13px; background-position: left 5px center, right, center; }

#gNav .btns { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

#gNav .btns + .btns { margin-top: 10px; }

#gNav .btns .btn + .btn { margin-left: 9px; }

#gNav .btns .btn a { height: 100%; text-decoration: none; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; box-sizing: border-box; width: calc((100vw - 39px) / 2); border-radius: 5px; }

/* #gNav .btns .btn01 { text-align: center; color: #0097e0; } */

/* #gNav .btns .btn01 a { border: 1px solid #0097e0; background-image: url("../img/common/ico_blank02.png"); background-repeat: no-repeat; background-size: 10px; background-position: right 4px bottom 4px; padding: 11px 0; } */

#gNav .btns .btn01 a  { border-radius: 0; background: url("../img/common/header/bnr_head02_sp.png"); background-repeat: no-repeat; background-position: center; background-size: contain; width: calc((100vw - 39px) / 2); height: 80px;}
#gNav .btns .btn01 a span { letter-spacing: 0.06em; }
#gNav .btns .btn01 .small { font-size: 1rem; font-weight: bold; line-height: 1.4; display: block; }
#gNav .btns .btn01 .big { margin-top: 4px; line-height: 1.5; font-size: 1.3rem; font-weight: bold; display: block; }

/* #gNav .btns .btn02 a { background: url("../img/common/ico_mail01.png"), -webkit-gradient(linear, left top, right top, from(#dc7200), to(#f59a39)); background: url("../img/common/ico_mail01.png"), linear-gradient(to right, #dc7200 0%, #f59a39 100%); background-repeat: no-repeat; background-size: 44px 30px, 100%; background-position: 18px center, 0 0; color: #fff; font-weight: bold; font-size: 1.3rem; } */

#gNav .btns .btn02 a { background: url("../img/common/header/bnr_head03_sp.png"); background-repeat: no-repeat; background-position: center; background-size: contain; width:  calc((100vw - 39px) / 2); height: 80px;}
#gNav .btns .btn03 a { color: #fff; background-color: #0097e0; padding: 15px 0; }
#gNav .btns .btn03 span { display: block; text-align: center; font-weight: bold; }
#gNav .btns .btn03 .small { font-size: 1.1rem; }
#gNav .btns .btn03 .num { font-size: 1.8rem; letter-spacing: 0.02em; padding-left: 20px; background-image: url("../img/common/ico_tel01.png"); background-repeat: no-repeat; background-size: 12px 12px; background-position: left center; }

/* #gNav .btns .btn04 { text-align: center; color: #d66a6e; } */

/* #gNav .btns .btn04 a { border: 1px solid #d66a6e; background-image: url("../img/common/ico_blank04.png"); background-repeat: no-repeat; background-size: 10px; background-position: right 4px bottom 4px; padding: 11px 0; } */

#gNav .btns .btn04 a { border-radius: 0; /*background: url("../img/common/header/bnr_head01_sp.png");*/ background-repeat: no-repeat; background-position: center; background-size: contain; width: calc((100vw - 39px) / 2); height: 80px; overflow: hidden;}
#gNav .btns .btn04 a img {

}

#gNav .btns .btn04 a span { letter-spacing: 0.06em; }
#gNav .btns .btn04 .small { font-size: 1rem; font-weight: bold; line-height: 1.4; display: block; }
#gNav .btns .btn04 .big { margin-top: 4px; line-height: 1.5; font-size: 1.3rem; font-weight: bold; display: block; }

@media all and (max-width: 599px) { #gNav { overflow-y: scroll; } }

@media all and (min-width: 600px) { #gNav { display: block; position: static; padding: 0; top: 0; }
  #gNav .list { width: 1160px; margin: 0 auto; padding-top: 19px; padding-bottom: 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-top: none; }
  #gNav .list .item { position: relative; border-bottom: none; }
  #gNav .list .item:first-child { border-left: 1px solid #e1e1e1; }
  #gNav .list .item:last-child { border-right: 1px solid #e1e1e1; }
  #gNav .list .item + .item { border-left: 1px solid #e1e1e1; }
  #gNav .list .item a { text-align: center; font-size: 1.4rem; display: block; padding: 1px 16px 2px 16px; text-decoration: none; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; letter-spacing: 0.15em;}
  #gNav .list .item a:hover { color: #0097e0; }
  #gNav .list .item:hover { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #gNav .list .item:hover .gList { display: block; }
  #gNav .list .item .gNavBtn { position: relative; }
  #gNav .list .item .gNaviCon { position: absolute; }
  #gNav .list .item .tit { padding: 0 20px; cursor: pointer; font-size: 1.4rem;}
  /* #gNav .list .item .tit:hover { color: #0097e0; } */
  #gNav .list .item .clickMark { display: none; }
  #gNav .list .item .gList { display: none; position: absolute; bottom: -480px; left: 0; padding: 0; background: #5fb2e9; }
  #gNav .list .item .gList.floorcoating {bottom: -480px;}
  #gNav .list .item .gList .subItem { display: -webkit-box; display: -ms-flexbox; display: flex; width: 242px; height: 40px; border-bottom: 0; background: #5fb2e9; color: #fff; }
  #gNav .list .item .gList .subItem:before { display: none; }
  #gNav .list .item .gList .subItem a { letter-spacing: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; padding-left: 16px; }
  #gNav .list .item .gList .subItem a:hover { color: #0097e0; }
  #gNav .list .item .gList.products { bottom: -100px; }
  #gNav .list .item .gList.products .subItem { width: 200px; }
  #gNav .list .item .overlay { height: 100%; width: 100%; } }

/* #overlay
================================================ */
#overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.25); z-index: 1000; }

@media all and (min-width: 600px) { #overlay { display: none !important; } }

/* #mainVisual HOME
================================================ */
#mainVisual { position: relative; }

#mainVisual .slider { height: calc(100% - 65px); text-align: center; margin-bottom: 0; }

#mainVisual .slider .slick-dots { bottom: 5px; }

#mainVisual .slider .slick-dots .slick-active button:before { opacity: 1; }

#mainVisual .slider .slick-dots button:before { opacity: 0.5; content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #fff; box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.116); }

@media all and (min-width: 600px) { 
#mainVisual .slider .slick-dots { bottom: 50px; }
#mainVisual .slider .slick-dots button:before { width: 10px; height: 10px; } }


#mainVisual .mv01 { width: 100%; height: 395px; background-image: url("../img/home/bg_mv01.jpg"); background-size: cover; display: inline-block; }
#mainVisual .mv01 a { display: block; width: 100%; height: 100%; }
#mainVisual .mv01 .txtArea { color: #fff; padding-top: 20px; text-align: center; }
#mainVisual .mv01 .txtArea .lead { font-size: 1.2rem; display: inline-block; font-weight: bold; padding-bottom: 3px; margin-bottom: 4px; letter-spacing: 0.2em; border-bottom: 2px solid #fff; }
#mainVisual .mv01 .txtArea .copy { margin-top: 10px; padding-left: 11px; display: inline-block; text-align: left; font-size: 2.4rem; font-weight: bold; line-height: 1.8; letter-spacing: 0.075em; }
#mainVisual .mv01 .txtArea .copy sup { display: inline-block; position: relative; top: -2px; line-height: 1.0; vertical-align: text-top; font-size: 1.3rem; }
#mainVisual .mv01 .txtArea .copy span { display: inline-block; margin: 0 0 -2px .1em; vertical-align: baseline; line-height: 36px; font-weight: bold; font-size: 4rem; }
#mainVisual .mv01 .txtArea .txt { display: inline-block; /*width: 240px;*/ margin-top: 13px; padding-left: 6px; font-size: 1rem; letter-spacing: 0.06em; font-weight: 500; text-align: left; }
#mainVisual .mv01 .txtArea .txt .note01 { display: block; margin-top: 8px; font-size: 1.0rem; }
#mainVisual .mv01 .txtArea .note { display: inline-block; margin-top: 11px; letter-spacing: 0.06em; padding-top: 4px; line-height: 1.5; padding-bottom: 6px; width: 225px; font-size: 1rem; font-weight: 500; background-color: #fff; color: #0097e0; }
#mainVisual .mv01 .bnr { position: absolute; bottom: 50px; }
#mainVisual .mv01 .bnr a { display: block; width: 150px; height: 100px; }
#mainVisual .mv02 { width: 100%; height: 395px; background-image: url("../img/home/bg_mv02.jpg"); background-size: cover; }
#mainVisual .mv02 a { display: block; width: 100%; height: 100%; }
#mainVisual .mv02 .txtArea { text-align: center; padding-top: 45px; }
#mainVisual .mv02 .txtArea .lead { padding-bottom: 4px; position: relative; display: inline-block; font-size: 1.2rem; font-weight: bold; letter-spacing: 0.15em; color: #0097e0; }
#mainVisual .mv02 .txtArea .mvNote { font-size: 0.8rem; line-height: 2.4; }
#mainVisual .mv02 .txtArea .note { font-size: 1.0rem; color: #848484; position: absolute; bottom: 0; right: 5px; }

@supports (-webkit-background-clip: text) { 
#mainVisual .mv02 .txtArea .lead { background: -webkit-gradient(linear, left top, right top, from(#0097e0), to(#53b5ce)); background: linear-gradient(to right, #0097e0 0%, #53b5ce 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } 
}

#mainVisual .mv02 .txtArea .lead .middle { position: relative; top: -2px; font-size: 1.5rem; line-height: 1; }

@supports (-webkit-background-clip: text) { 
#mainVisual .mv02 .txtArea .lead .middle { background: -webkit-gradient(linear, left top, right top, from(#0097e0), to(#53b5ce)); background: linear-gradient(to right, #0097e0 0%, #53b5ce 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
}

#mainVisual .mv02 .txtArea .lead .large { position: relative; top: -1px; font-size: 2rem; line-height: 1; }

@supports (-webkit-background-clip: text) { 
#mainVisual .mv02 .txtArea .lead .large { background: -webkit-gradient(linear, left top, right top, from(#0097e0), to(#53b5ce)); background: linear-gradient(to right, #0097e0 0%, #53b5ce 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } 
}

#mainVisual .mv02 .txtArea .lead:after { position: absolute; left: 0; bottom: 0; content: ""; height: 2px; width: 100%; background: -webkit-gradient(linear, left top, right top, from(#0097e0), to(#53b5ce)); background: linear-gradient(to right, #0097e0 0%, #53b5ce 100%); }
#mainVisual .mv02 .txtArea .copy { margin-top: 11px; line-height: 1.5; font-weight: bold; letter-spacing: 0.2em; display: inline-block; }
#mainVisual .mv02 .txtArea .logo { margin-top: 10px; text-align: center; }
#mainVisual .mv02 .txtArea .logo img { display: inline-block; width: 300px; }
#mainVisual .news { display: flex; align-items: center; background-color: #0097e0; padding: 6px 15px; color: #fff; }
/* #mainVisual .news .titWrap p { display: inline-block; line-height: 1; } */
#mainVisual .news .tit { margin-right: 10px; font-weight: bold; font-size: 1.5rem; letter-spacing: 0.12em;     line-height: 1.4;}
#mainVisual .news .date { font-size: 1.3rem; letter-spacing: 0.06em; color: #a2c7e0; padding: 0 10px; position: relative; }
#mainVisual .news .date:before { position: absolute; content: ""; display: block; background-color: #a2c7e0; width: 1px; height: 100%; top: 0; left: 0; }
#mainVisual .news .txt { font-size: 1.1rem; letter-spacing: 0.06em;  margin-left:3.2rem; font-weight:bold;}

@media all and (min-width: 600px) { 
#mainVisual { margin-top: 0; padding-top: 165px; position: relative; overflow: hidden;  height:720px;}
#mainVisual .slider { height: calc(100% - 50px); max-height: 640px; min-height: 620px; text-align: center; }
#mainVisual .mv01 { width: 100%; height: calc(100vh - 223px); max-height: 640px; min-height: 620px; background-image: url("../img/home/bg_mv01-pc.jpg"); background-position: center center; display: inline-block; }
#mainVisual .mv01 .inner { width: 1160px; margin: 0 auto; position: relative; }
#mainVisual .mv01 .txtArea {width: 460px; padding-top: 55px; text-align: center; }
#mainVisual .mv01 .txtArea .lead { font-size: 2rem; font-weight: bold; padding-bottom: 6px; }
#mainVisual .mv02 .txtArea .mvNote { font-size: 1.2rem; line-height: 3.6; }
#mainVisual .mv02 .txtArea .note { font-size: 1.2rem; position: inherit; right: 0; margin: 90px 0 0 360px; }
#mainVisual .mv01 .txtArea .copy { margin-top: 20px; padding-left: 0px; font-size: 5rem; line-height: 1.7; }
#mainVisual .mv01 .txtArea .copy sup { font-size: 1.8rem; top: -7px; }
#mainVisual .mv01 .txtArea .copy span { font-size: 7rem; position: relative; top: 3px; line-height: 55px; }
#mainVisual .mv01 .txtArea .txt { width: 404px; margin-top: 10px; padding-left: 0px; font-size: 1.6rem; }
#mainVisual .mv01 .txtArea .txt .note02 { font-size: 1.2rem; }
#mainVisual .mv01 .txtArea .note { margin-top: 58px; padding-top: 12px; padding-bottom: 12px; width: 100%; font-size: 1.3rem; margin-left: 30px;}
#mainVisual .mv01 .bnr { bottom: 50px; right: 50%; -webkit-transform: translateX(580px); -ms-transform: translateX(580px); transform: translateX(580px); }
#mainVisual .mv01 .bnr:before { content: ""; position: absolute; display: block; z-index: -1; top: 0; left: 0; background-color: #fff; width: 100%; height: 100%; }
#mainVisual .mv01 .bnr a { width: 280px; height: 187px; }
#mainVisual .mv02 { width: 100%; height: calc(100vh - 243px); max-height: 640px; min-height: 620px; background-image: url("../img/home/bg_mv02-pc.jpg"); background-position: center center; background-size: cover; text-align: right; }
#mainVisual .mv02 .inner { width: 1160px; margin: 0 auto; }
#mainVisual .mv02 .txtArea { display: inline-block; text-align: center; padding-top: 60px; width: 545px; padding-right: 129px; }
#mainVisual .mv02 .txtArea .lead { padding-bottom: 8px; position: relative; display: inline-block; font-size: 2rem; }
#mainVisual .mv02 .txtArea .lead .middle { font-weight: bold; position: relative; top: -6px; font-size: 2.6rem; line-height: 1; }
#mainVisual .mv02 .txtArea .lead .large { font-weight: bold; position: relative; top: -3px; font-size: 3.6rem; line-height: 1; }
#mainVisual .mv02 .txtArea .copy { font-size: 2.6rem; margin-top: 22px; margin-left: 45px; line-height: 1.5; font-weight: bold; letter-spacing: 0.2em; display: inline-block; }
#mainVisual .mv02 .txtArea .logo { margin-top: 27px; text-align: center; padding-right: 27px; }
#mainVisual .mv02 .txtArea .logo img { display: inline-block; width: 526px; }
#mainVisual .news { width: 1160px; margin: -20px auto 0; padding: 20px 15px; box-sizing: border-box; position: relative; z-index: 1; }
#mainVisual .news:before { position: absolute; content: ""; display: block; background-color: #a2c7e0; width: 1px; height: 100%; top: 0; left: 163px; }
#mainVisual .news .titWrap p { display: inline-block; line-height: 1; }
#mainVisual .news .tit { font-size: 2rem; padding: 0 33px 0 24px; }
#mainVisual .news .date {  font-size: 1.5rem; padding: 0 30px 0 15px; }
#mainVisual .news .date:before { display: none; }
#mainVisual .news .txt { font-size: 1.6rem; }
}
@media all and (max-width: 600px) { 
#mainVisual .mv01 .bnr {right: 10px; }
#mainVisual .mv01 .txtArea .txt {width:360px;margin-top: 0px; padding-left: 6px; font-size: 1.3rem; letter-spacing: 0.06em; font-weight: 700; text-align: left; }
#mainVisual .mv01 .txtArea .note{position: absolute; bottom: 35px; left: 4%; width: 90%;}
}

#mainVisual .btn {
    margin: 0 auto;
    margin-top: 75px;
    max-width: 325px;
}
#mainVisual .btn {
    -webkit-transform: translateY(-50px);
    -ms-transform: translateY(-50px);
    transform: translateY(-50px);
}
#mainVisual .btn a {
    display: block;
    width: 100%;
    text-decoration: none;
    color: #fff;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 500;
    border-radius: 5px;
    background: url(../img/common/ico_arrow03.png), -webkit-gradient(linear, left top, right top, from(#0097e0), to(#53b5ce));
    background: url(../img/common/ico_arrow03.png), linear-gradient(to right, #0097e0 0%, #53b5ce 100%);
    background-size: 7px 10px, contain;
    background-position: right 13px center, 0 0;
    background-repeat: no-repeat;
    padding: 11px 0;
}

@media (min-width: 600px){
#mainVisual .btn {margin-top: 100px;max-width: 360px;}
#mainVisual .btn {
    -webkit-transform: translateY(-80px);
    -ms-transform: translateY(-80px);
    transform: translateY(-80px);}
#mainVisual .btn a {
    font-size: 1.5rem;
    font-weight: 500;

}
}


/* #sidebar
================================================ */
/* .secSidebar
-------------------------------------- */
.secSidebar { margin-bottom: 20px; padding: 0 15px; }

@media all and (min-width: 600px) { .secSidebar { margin-bottom: 25px; padding: 0; } }

/*  js
================================================ */







/* Fixed CTA SpFooter
================================================ */
.fixed-spFoot, .fixed-spFoot__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.fixed-spFoot {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
    width: 100%;
    -webkit-transition: all 500ms;
    transition: all 500ms
}
.cta .fixed-spFoot.is-hide,
.fixed-spFoot.is-hide {
    z-index: -1;
    visibility: hidden;
    opacity: 0
}
.fixed-spFoot__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    height: 12vw;
    background-color: #007d9f;
    color: #fff;
    padding: 2.34375vw 1.5625vw;
    text-align: center;
    border-top: 1px solid #007d9f
}
.fixed-spFoot__link:not(:last-child) {
    background-color: #fff;
    border-right: 1px solid #1c7d9f;
    color: #000
}
.fixed-spFoot__link--phone {
    background-color: rgba(0, 125, 159, .9);
    color: #fff
}
.fixed-spFoot__link:first-child {
    width: 30%
}
.fixed-spFoot__link:nth-child(2) {
    width: 28%
}
.fixed-spFoot__link:nth-child(3) {
    width: 20%
}
.fixed-spFoot__link:nth-child(4) {
    width: 22%
}
.fixed-spFoot__ico {
    margin: 0 auto 1.25vw;
    vertical-align: bottom
}
.fixed-spFoot__ico--doctor,
.fixed-spFoot__ico--pc,
.fixed-spFoot__ico--phone {
    width: 5.15625vw;
    height: 5.15625vw;
    fill: #007d9f
}
.fixed-spFoot__ico--phone {
    fill: #fff
}
.fixed-spFoot__txt {
    font-size: 2.8125vw;
    font-weight: 500;
    line-height: 1.2
}
.cta .fixed-spFoot,
.cta .fixed-spFoot__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.cta .fixed-spFoot {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
    width: 96%;
    -webkit-transition: all 500ms;
    transition: all 500ms;
    padding: 8px;
    -webkit-box-shadow: 0 -2px 8px rgba(0, 0, 0, .3);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, .3);
    background-color: rgba(255, 255, 255, .8)
}
.cta .fixed-spFoot a{text-decoration: none;}
.cta .fixed-spFoot__link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
    -ms-flex-direction: unset;
    flex-direction: unset;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 0;
    flex: 1 0 0;
    height: 6.5vw;
    background-color: #fd9014;
	    border: 1px solid #fd9014;
    color: #fff;
    padding: 2.34375vw 1.5625vw;
    text-align: center;
    border-radius: 4px;
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .3)
}
.cta .fixed-spFoot__link:not(:last-child) {
    background-color: #fff;
    border: 1px solid #017fbc;
    margin-right: 1.5625vw;
    color: #017fbc;
	font-weight: bold;
}
.cta .fixed-spFoot__link--phone {
    background-color: rgba(0, 125, 159, .9);
    color: #fff
}
.cta .fixed-spFoot__ico {
    margin: 0 10px 0 0;
    vertical-align: bottom
}
.cta .fixed-spFoot__ico--doctor {
    width: 5.15625vw;
    height: 5.15625vw;
    fill: #007d9f
}
.cta .fixed-spFoot__ico--pc,
.cta .fixed-spFoot__ico--phone {
    width: 5.15625vw;
    height: 5.15625vw;
    fill: #fff
}
.cta .fixed-spFoot__txt {
    font-size: 3.5vw;
    font-weight: 700;
    line-height: 1.2
}

.fixed-spFootNote {
    position: fixed;
    bottom: calc(13vw + 7px);
    font-size: 2.5vw;
    padding: 3px 10px;
    background-color: #ececef;
    left: 0;
    width: 100%; 
	text-align: center;
}
.fixed-spFootNote.is-hide {
    z-index: -1;
    visibility: hidden;
    opacity: 0
}

/*SNS LINK*/
@media all and (min-width: 600px) { 
#gFooter .sns_icon{ }
#gFooter .sns_icon ul{display: flex; justify-content: center; margin-top: 20px; }
#gFooter .sns_icon ul li{width: 50px; margin-left: 20px; margin-right: 20px;}
#gFooter .sns_icon ul li a{ }
#gFooter .sns_icon ul li a:hover img{ opacity:.7;}
}

@media all and (max-width: 599px) { 
#gFooter .sns_icon{margin-bottom:30px }
#gFooter .sns_icon ul{display: flex; justify-content: center; margin-top: 20px; }
#gFooter .sns_icon ul li{width: 40px; margin-left: 10px; margin-right: 10px;}
#gFooter .sns_icon ul li a{ }
#gFooter .sns_icon ul li a img{ }
}

