@charset "utf-8";
/* CSS Document */
/*--------------------------------------------------------------------------
 reset
---------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6, p, span, small, dl, dt, dd, ol, ul, li {
 margin: 0;
 font-size: 100%;
}
ul {
 margin: 0;
 padding: 0;
 vertical-align: baseline;
}
img { vertical-align: top; }
li {
 list-style-type: none;
 vertical-align: baseline;
}

html { font-size: 62.5%; }
h1, h2, h3, h4, h5, h6, .catch {
 font-weight: bold;
 line-height: 1.4;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
 display: inline-block;
 background: url("img/ar_bk.svg") no-repeat right 50%;
 background-size: 14px auto;
 padding-right: 3rem;
 text-decoration: none;
}
@media all and (-ms-high-contrast:none) {
 body, #index .sec01 .subBox01 .catch_box .sub_catch, #index .sec02 .content .frame_wrap .frame .frame-head a, footer .areaInner .footBox .accChild li a, footer .areaInner .noticeArea p, footer .areaInner .noticeArea .botPrg {
  font-family: "ＭＳ ゴシック", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
 }
 #index .sec07 .box_wrap .box .box-head .sttl a { padding: 6px 18px 0 0 !important; }
 #index .sec06 .frame_wrap .frame .frame-head a { padding: 13px 22px 15px 35px !important; }
 #index .sec06 .frame_wrap .frame .frame-head::before { margin-top: 4px; }
}
#index .sec06 .frame_wrap .frame .frame-head::before { margin-top: 1px; }
/*--------------------------------------
　Base
---------------------------------------*/
body {
 color: #000;
 font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
 font-size: 1.5rem;
 line-height: 1.8;
 min-width: 1240px;
}
img {
 max-width: 100%;
 height: auto;
}
a {
 color: #000;
 text-decoration: none;
}
a:hover { opacity: 0.6; }
a img:hover { opacity: 0.6; }
.fl { float: left; }
.fr { float: right; }
.strong { font-weight: bold; }
.f110 { font-size: 110%; }
.f120 { font-size: 120%; }
.f130 { font-size: 130%; }
.f150 { font-size: 150%; }
.f200 { font-size: 200%; }
.f300 { font-size: 300%; }
.wi1000 {
 width: 1000px;
 margin: 0 auto;
}
.dashed { border: 1px dashed #000; }
.sp { display: none; }
.sp_br { display: none; }
.trance:hover { opacity: 0.6; }
/* ================== */
/*header　*/
/* ================== */
header { border-top: 5px solid #006894; }
#headNoteArea { padding: 20px 0 10px; }
#headNoteArea .areaInner {
 display: flex;
 flex-direction: column-reverse;
 width: 1000px;
 margin: 0 auto;
 padding: 0 110px 0 120px;
 text-align: center;
}
#headNoteArea .sitename h1,
#headNoteArea .sitename a {
 color: #000;
 font-size: 1.4rem;
 font-weight: bold;
 font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
 margin: 0 auto;
 line-height: 1.2;
 text-align: center;
}
#headNoteArea .logo {
 text-align: center;
 width: 58px;
 margin: 0 auto 10px;
}
/* ================== */
/*g-nav　*/
/* ================== */
#g-nav {
 margin: 0 auto;
 width: 1000px;
}
#g-nav ul {
 display: flex;
 border-bottom: #c1c5cf solid 1px;
 border-top: #c1c5cf solid 1px;
}
#g-nav ul li {
 display: flex;
 align-items: stretch;
 justify-content: center;
 flex-grow: 1;
 width: 20%;
 position: relative;
}
#g-nav ul li:after {
 content: "";
 width: 1px;
 height: 20px;
 display: inline-block;
 border-left: 2px solid #c8ccd5;
 position: absolute;
 top: calc(50% - 10px);
 left: 0;
}
#g-nav ul li:first-child::after { content: none; }
#g-nav li a {
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.3rem;
 line-height: 18px;
 padding: 13px 10px;
 position: relative;
 text-align: center;
 width: 100%;
}
#g-nav li a:hover {
 color: #0d87c2;
 opacity: 1;
}
/*--------------------------------------
　Pankuzu
---------------------------------------*/
#pankuzu {
 font-size: 1.2rem;
 font-weight: bold;
 margin: 0 auto;
 padding: 14px 0 40px;
}
#pankuzu a:hover { text-decoration: underline; }
@media screen and (min-width: 600px) {
 #pankuzu { width: 1000px; }
}
/*--------------------------------------
 Main Contents
---------------------------------------*/
#contents {
 margin: 0 auto;
 padding: 0;
}
#index, #category, #page {
 margin: 0;
 padding: 0;
}
#category, #page {
 width: 1000px;
 margin: 0 auto;
}
#category .baseBox, #page .baseBox {
 width: 760px;
 float: left;
}
/*--------------------------------------
 Side
---------------------------------------*/
#side {
 box-sizing: border-box;
 float: right;
 margin: 0 0 60px;
 width: 220px;
}
#side .sideTopBox {
 background: #eee;
 margin: 0 auto 50px;
 position: relative;
 width: 215px;
}
#side .sideTopBox::before {
 content: "";
 background: url(img/font_ill.svg) no-repeat center top;
 position: absolute;
 top: -25px;
 left: 54%;
 margin-left: -60px;
 height: 100%;
 width: 50%;
 height: 50px;
}
@supports (-ms-ime-align: auto) {
 /* Edge のみ適用される */
 #side .sideTopBox::before {
  width: 47%;
 }
}
#side .sideTopBox .catch {
 color: #001842;
 font-size: 1.6rem;
 position: relative;
 padding: 35px 10px 20px;
 margin: 0 0 25px;
 text-align: center;
}
#side .sideTopBox .catch:before {
 content: "";
 background: #001842;
 width: 55px;
 height: 3px;
 display: inline-block;
 position: absolute;
 bottom: 0;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
}
#side .sideTopBox p {
 color: #5a5a5a;
 line-height: 1.4;
 margin: 15px 0 30px 0;
 padding: 0 25px;
}
#side .sideTopBox .dtlBtn {
 padding: 0 13px 35px;
 margin: 0 auto;
 width: 140px;
}
#side .sideTopBox .dtlBtn a {
 background: #996c1f;
 color: #fff;
 display: block;
 text-align: center;
 padding: 10px 30px 10px 30px;
}
#side .sideTopBox .dtlBtn a:hover {
 background: #001842;
}
#side .sideBox {
 box-sizing: border-box;
 margin: 0 auto 30px;
 width: 200px;
}
#side .sideBox a {
 line-height: 1.6;
}
#side .sideBox .sttl {
 box-sizing: border-box;
 position: relative;
 overflow: hidden;
}
#side .sideBox .sttl a {
 background: #006894;
 color: #fff;
 font-size: 1.5rem;
 display: block;
 height: 100%;
 line-height: 1.4;
 padding: 20px 10px 20px;
 position: relative;
}
#side .sideBox .sttl a:after {
 content: "";
 border-top: 9px solid transparent;
 border-right: 9px solid #ffdc8e;
 border-bottom: 9px solid transparent;
 position: absolute;
 bottom: -2px;
 right: 2px;
 width: 0;
 height: 0;
 transform: rotate(-135deg);
}
#side .sideBox li::before { content: none; }
#side .sideBox li {
 border-bottom: 1px dashed #d8d8d8;
 margin: 0;
 padding: 0;
}
#side .sideBox li:last-child {
 border: none;
}
#side .sideBox li a {
 background: #f3f4f6 url("img/ar_bk.svg") no-repeat right 10px center;
 background-size: 10px auto;
 display: block;
 font-size: 1.3rem;
 padding: 20px 25px 20px 10px;
}
#side .sideBox .subList {
 border-top: 1px dashed #d8d8d8;
 margin: 0;
}
#side .sideBox .subList li {
 background: none;
 margin: 0;
}
#side .sideBox .subList li:last-child {
 background: none;
}
#side .sideBox .subList li a {
 background: url(img/side_sub_list.png) no-repeat left 15px top 13px, url("img/ar_bk.svg") no-repeat right 10px center;
 background-color: #f3f4f6;
 background-size: 8px auto , 10px auto;
 display: block;
 font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
 padding: 15px 30px;
}
/*--------------------------------------
　PageTop
---------------------------------------*/
#page-top {
 position: fixed;
 bottom: 30px;
 right: 20px;
 z-index: 2;
 width: 60px;
}
/*--------------------------------------
Footer
---------------------------------------*/
footer {
 background: #f4f5f8;
 margin: 130px 0 0;
 padding: 0;
}
footer .areaInner {
 width: 1000px;
 margin: 0 auto;
 padding: 40px 0 0 0;
}
footer .areaInner .footBox {
 margin: 0 0 30px 0;
}
footer .areaInner .footBox .sttl {
 border-bottom: 1px solid #444;
 padding-bottom: 8px;
 margin-bottom: 16px;
}
footer .areaInner .footBox .sttl a {
 color: #001842;
 font-size: 1.6rem;
 font-weight: bold;
 padding-left: 10px;
}
footer .footBox ul {
 display: flex;
 flex-wrap: wrap;
 padding: 0 20px;
}
footer .areaInner .footBox .accChild {
 padding: 0 0 0 15px;
 box-sizing: border-box;
 width: 100%;
}
footer .areaInner .footBox .accChild li.subCat {
 margin: 0 30px 0 0;
 padding: 0;
}
footer .areaInner .footBox .accChild .subList li:last-child:after {
 content: none;
}
footer .areaInner .footBox .accChild li {
 margin: 0 20px 0 0;
}
footer .areaInner .footBox .accChild li a {
 background: url("img/footer_arr.png") no-repeat left center;
 color: #444;
 font-size: 1.3rem;
 font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
 padding: 0 0 0 16px;
}
footer .areaInner .footBox .accChild .subList {
 display: block;
 ;
 margin: 0 0 0 20px;
 padding: 0;
}
footer .areaInner .footBox .accChild .subList li {
 display: block;
 margin: 0;
 padding: 0;
}
footer .areaInner .footBox .accChild .subList li a {
 background: none;
 font-size: 1.3rem;
 padding: 0 15px 0 5px;
 position: relative;
}
footer .areaInner .footBox .accChild .subList li::before {
 content: "┖";
 color: #444;
 letter-spacing: 0;
}
footer .areaInner .noticeArea {
 box-sizing: border-box;
 color: #444;
 margin: 60px auto 35px;
 width: 71%;
}
footer .areaInner .noticeArea p {
 background: #FFF;
 font-size: 1.2rem;
 font-weight: bold;
 font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
 margin: 0;
 padding: 25px 30px 30px;
}
footer .areaInner .noticeArea .botPrg {
 background: transparent;
 font-size: 1.2rem;
 font-weight: bold;
 font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
 text-align: center;
 padding: 10px 0 0;
}
footer .botArea {
 background: #006894;
 padding: 15px 0;
}
footer .botArea .botInner {
 width: 1000px;
 margin: 0 auto;
 position: relative;
}
footer .botArea .botInner .smap {
 float: right;
}
footer .botArea .botInner .smap a {
 font-size: 1.3rem;
 color: #fff;
 padding: 0 0 0 20px;
}
footer .botArea .botInner .smap a:hover {
 text-decoration: underline;
}
footer p.copy {
 color: #fff;
 font-size: 1.2rem;
 float: left;
 margin: 0;
}
footer p.copy a {
 color: #fff;
}
footer .areaInner .footBox .accChild .sp {
 display: none;
}
/* ================== */
/*メインコンテンツ　*/
/* ================== */
#index .titLArea, #category .titLArea, #page .titLArea {
 text-align: center;
 position: relative;
}
#category h1, #page h1 {
 font-size: 32px;
 margin: 0 0 20px;
 line-height: 1.4;
 padding: 16px 10px;
 position: relative;
 text-align: center;
 background: url("img/h2_bg.png") no-repeat center 50%;
}
#category h1::after,
#page h1::after {
 content: "";
 background-image: -moz-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background-image: -webkit-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background-image: -ms-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 position: absolute;
 bottom: 5px;
 left: 50%;
 margin-left: -53px;
 height: 1px;
 width: 106px;
}
#category h2, #page h2 {
 background: #f3faff url("img/implant_ico.svg") no-repeat left 20px top 19px;
 background-size: 26px auto;
 font-size: 28px;
 font-weight: bold;
 margin: 70px 0 20px;
 padding: 19px 19px 19px 77px;
}
#category h3,
#page h3 {
 border-bottom: 1px solid #5eaad6;
 font-size: 24px;
 font-weight: bold;
 padding: 13px 40px;
 margin: 50px 0 10px;
 position: relative;
}
#category h3::before,
#page h3::before {
 content: "";
 display: block;
 width: 5px;
 height: 100%;
 background-image: -moz-linear-gradient( 90deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -webkit-linear-gradient( 90deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -ms-linear-gradient( 90deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 position: absolute;
 left: 0;
 top: 0;
}
#category h4, #page h4 {
 background: #fff;
 font-size: 22px;
 font-weight: bold;
 margin: 50px 0 10px;
 padding: 8px 23px;
 border-bottom: #8a92a5 dashed 1px;
}
#index .rank,
#category .rank,
#page .rank {
 border: none;
 background: #e8f6ff;
 counter-increment: rank;
 font-size: 23px;
 padding: 12px 20px 15px 100px;
 margin: 20px 0;
 position: relative;
}
#index .rank span,
#category .rank span,
#page .rank span {
 color: #006894;
 font-weight: bold;
 font-size: 30px;
}
#index .rank::before,
#category .rank::before,
#page .rank::before {
 content: "";
 display: block;
 width: 100%;
 height: 3px;
 background-image: -moz-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -webkit-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -ms-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 position: absolute;
 left: 0;
 bottom: 0;
}
#index .rank::after,
#category .rank::after,
#page .rank::after {
 content: counter(rank);
 display: block;
 background-color: #333;
 width: 55px;
 height: 55px;
 border-radius: 100%;
 color: #fff;
 font-size: 30px;
 line-height: 55px;
 text-align: center;
 position: absolute;
 top: 50%;
 margin-top: -27px;
 left: 27px;
}
#category ul li, #page ul li {
 color: #333;
 margin: 0 0 5px;
 padding-left: 22px;
 position: relative;
}
#category ul li::before, #page ul li::before {
 content: "";
 background: #ffdc8e;
 width: 15px;
 height: 15px;
 border-radius: 100%;
 position: absolute;
 left: 0;
 top: 5px;
}
#category ol, #page ol {
 color: #333;
 margin: 0;
 padding: 0;
}
#category ol li, #page ol li {
 counter-increment: number;
 display: block;
 list-style: none;
 margin: 0 0 5px;
 padding: 0 0 0 25px;
 position: relative;
}
#category ol li::before, #page ol li::before {
 background: #001842;
 color: #fff;
 content: counter(number);
 display: block;
 font-size: 14px;
 font-weight: normal;
 height: 18px;
 left: 0;
 line-height: 19px;
 position: absolute;
 text-align: center;
 top: 2px;
 width: 18px;
}

#contents .pink,
.mv_box p .pink{
    color:#d83b58;
    font-weight:bold;
    font-size:1.7rem;
}
/*--------------------------------------
　table
---------------------------------------*/
#contents table {
 width: 100%;
 margin: 30px auto 30px;
 word-break: break-all;
}
#contents table th {
 background: #333333;
 border: 1px solid #bfbfbf;
 border-right: none;
 color: #fff;
 font-weight: normal;
 padding: 14px 12px 14px 16px;
 text-align: center;
 width: 25%;
}
#contents table td {
 line-height: 2.2rem;
 padding: 14px 20px;
 border: 1px solid #bfbfbf;
 background: #fff;
 font-size: 1.3rem;
 width: 190px;
}
#contents table td:first-of-type {
 border-left: none;
}
/*--------------------------------------
　float img
---------------------------------------*/
.float-wrap {
 box-sizing: border-box;
 margin: 30px 0 30px;
}
.float-wrap img {
 width: 100%;
}
.float-wrap p {
 margin: 0;
 padding: 0;
 position: relative;
 top: -6px;
}
.float-wrap .fl {
 padding: 0 40px 10px 0;
 text-align: center;
 width: 340px;
}
.float-wrap .fl { width: 280px; }
.float-wrap .fr {
 padding: 0 0 10px 40px;
 text-align: center;
 width: 340px;
}
.float-wrap .fr { width: 280px; }
.float-wrap .center {
 margin: 0 auto;
 padding: 0 0 20px;
 text-align: center;
 width: 340px;
}
.caption {
 color: #9c9c9c;
 font-size: 1.0rem;
 line-height: 1.4;
 margin: 12px 0 0;
 word-break: break-all;
}
/*--------------------------------------
　btn
---------------------------------------*/
.btn-internal, .btn-web {
 width: 409px;
 max-width: 90%;
 margin: 20px auto;
}
.btn-internal a, .btn-web a { box-sizing: border-box; }
/*internal-link*/
#contents .btn-internal a {
 background: #78bec3 url("img/ar_wh.svg") no-repeat right 20px top 50%;
 background-size: 13px auto;
 border-radius: 1000px;
 box-shadow: 0px 0px 8px 0px #b3b7c0;
 color: #fff;
 font-size: 1.7rem;
 font-weight: bold;
 padding: 12px 50px;
 display: block;
 text-align: center;
 text-decoration: none;
}
#contents .btn-internal a:hover {
 opacity: 1;
 background-color: #83d0d5;
 box-shadow: none;
}
/*web-link*/
#contents .btn-web {
 margin: 20px auto 40px;
}


#contents .lower-bottom .btn-web a{
    padding: 12px 25px 12px 15px;
    font-size: 15px;
    background-size: 12px;
    background-position: right 10px center;
}
#contents .btn-web a {
 background: #dc405d url("img/ar_wh.svg") no-repeat right 20px top 50%;
 background-size: 13px auto;
 border-radius: 1000px;
 box-shadow: 0px 0px 8px 0px #b3b7c0;
 color: #fff;
 font-size: 1.6rem;
 font-weight: bold;
 padding: 12px 50px;
 line-height: 1.5;
 display: block;
 text-align: center;
 text-decoration: none;
}
#contents .btn-web a:hover {
 opacity: 1;
 background-color:#ff4a6c;
 box-shadow: none;
}
/*link-btn*/
.btn-link {
 margin: 20px 0;
 text-align: right;
}
.btn-link a {
 background: url("img/ar_bk.svg")no-repeat left 50%;
 background-size: 16px auto;
 color: #0d87c2;
 font-size: 1.7rem;
 font-weight: bold;
 line-height: 1.3;
 padding: 4px 0 4px 32px;
 text-decoration: underline;
}
.btn-link a:hover { text-decoration: none; }
/*--------------------------------------
　box-wrap
---------------------------------------*/
#contents .box-wrap {
 box-sizing: border-box;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
#contents .box {
 background: #f3f4f6;
 box-sizing: border-box;
 margin: 50px 0 20px;
 position: relative;
 width: 48%;
 padding: 58px 16px 16px;
}
#contents .box::before {
 content: "";
 display: block;
 width: 68px;
 height: 68px;
 background: url("img/tooth_ico.svg") no-repeat center top;
 background-size: 100% auto;
 position: absolute;
 top: -30px;
 left: 50%;
 margin-left: -34px;
 z-index: 1;
}
#contents .box .box-head {
 margin: 0 0 20px;
 display: flex;
 justify-content: center;
 align-items: center;
 text-align: center;
}
#contents .box .box-head .sttl { width: 100%; }
#contents .box .box-head .sttl {
 padding: 0;
 margin: 0;
 border:none;
 font-size: 2.0rem;
 line-height: 1.4;
 text-align: center;
 font-weight: bold;
}
#contents .box .box-head .sttl::before,
#contents .box .box-head .sttl::after { content: none; }
#contents .box .box-head .sttl a {
 display: block;
 box-sizing: border-box;
 width: 100%;
 padding-right: 3rem;
 background: url("img/ar_bk.svg") no-repeat right 50%;
 background-size: 17px auto;
 font-size: 2.0rem;
 line-height: 1.4;
 text-align: center;
 text-decoration: none;
}
#contents .box .box-head .sttl a:hover {
 opacity: 1;
 background-image: url("img/ar_bl.svg");
 color: #0d87c2;
}
#contents .box .box-body p { font-size: 1.5rem; }
#contents .box .box-body .frame {
 width: 100%;
 text-align: center;
}
/* frame-wrap */
#contents .frame-wrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
#contents .frame-wrap::after {
 content: "";
 width: 30%;
 height: 0;
}
#contents .frame {
 box-sizing: border-box;
 width:30%;
 margin: 20px 0;
}
/* frame-left */
#contents .frameLeft {
 border: solid 2px #e6e6e6;
 padding: 24px;
 position: relative;
}
#contents .frameLeft:before {
 content: "";
 background: url(img/float_circle.png) no-repeat;
 position: absolute;
 top: -38px;
 left: 50%;
 width: 96px;
 height: 41px;
 transform: translate(-50%, 0%);
}
#contents .frameLeft:after {
 content: "";
 background: url(img/float_icon.png) no-repeat top center;
 background-size: 90%;
 position: absolute;
 top: -28px;
 left: 50%;
 margin-left: -20px;
 height: 45px;
 width: 53px;
}
#contents .frameLeft .frame-head {
 border-bottom: 1px dashed #7d7d7d;
 color: #001842;
 font-size: 2rem;
 font-weight: bold;
 line-height: 1.3;
 margin: 0 0 24px;
 padding: 15px 0 20px 0;
 text-align: center;
}
#contents .frameLeft .frame-body p {
 font-size: 1.5rem;
}
/* frame-center */
#contents .frameCenter {
 padding: 10px 10px 25px;
}
#contents .frameCenter {
 border: solid 1px #a57d39;
 box-shadow: 6px 7px 1px 0 #001842;
 padding: 10px 10px 20px;
}
#contents .frameCenter .frame-head {
 border-bottom: solid 1px #001842;
 color: #5a5a5a;
 font-size: 2rem;
 font-weight: bold;
 margin: 0 0 13px;
 padding: 0 10px;
 line-height: 1.3;
 text-align: center;
}
#contents .frameCenter .frame-head a {
 background: url(img/box_arr02.png) no-repeat center right;
 display: block;
 padding: 15px 20px 15px 0;
 text-decoration: none;
}
#contents .frameCenter .frame-body p {
 padding: 0 10px;
}
#contents .frameCenter .dashed ul {
 margin: 0;
 padding: 25px 10px 25px 15px;
}
#contents .frameCenter .dashed ul li {
 font-size: 1.3rem;
 line-height: 20px;
 padding: 0 0 3px 20px;
}
#contents .frameCenter .dashed ul li::before {
 top: 4px;
}
/* frame-right */
#contents .frameRight {
 position: relative;
 background-color: #fff;
}
#contents .frameRight .ph { margin: 0 0 5px; }
#contents .frameRight .frame-head {
 margin: 0;
 display: flex;
 justify-content: center;
 align-items: center;
 text-align: center;
 background: #0d87c2 url("img/v_ico.svg") no-repeat center 50%;
 background-size: 65px auto;
 color: #fff;
 font-size: 2rem;
 font-weight: bold;
 line-height: 1.3;
 padding: 24px 15px;
 position: relative;
}
#contents .frameRight .frame-head a {
 box-sizing: border-box;
 color: inherit;
 display: block;
 width: 100%;
 padding-right: 2rem;
 background: url("img/ar_wh.svg") no-repeat right 50%;
 background-size: 14px auto;
}
#contents .frameRight .frame-head:before {
 content: "";
 display: block;
 width: 100%;
 height: 5px;
 background-image: -moz-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background-image: -webkit-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background-image: -ms-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 position: absolute;
 left: 0;
 bottom: -5px;
}
#contents .frameRight .frame-body { padding: 15px; }
#contents .frameRight .frame-body p { font-size: 1.5rem; }
#contents .frameRight .caption {
 font-size: 1.2rem;
 white-space: nowrap;
 overflow-x: auto;
 padding-bottom: 5px;
}
#contents .frameRight .caption::-webkit-scrollbar {
 background: #bfbfbf;
 border-radius: 10px;
 height: 7px;
}
/*スクロールバーの軌道*/
#contents .frameRight .caption::-webkit-scrollbar-track {
 border-radius: 10px;
}
/*スクロールバーの動く部分*/
#contents .frameRight .caption::-webkit-scrollbar-thumb {
 background-color: #001842;
 border-radius: 10px;
}
/* 共通パーツ lower-bottom
----------------------------------------*/
.selection { margin: 100px 0 0; }
#index .selection {
 margin: 0 auto;
 width: 1000px;
}
.selectionTitle {
 font-size: 32px;
 font-weight: bold;
 margin: 0 0 47px;
 line-height: 1.4;
 padding: 3px 10px;
 position: relative;
 text-align: center;
 background: url(img/h2_bg.png) no-repeat center top;
}
.selectionTitle span.small {
 display: block;
 font-size:2rem;
 font-weight: normal;
 line-height: 1.2;
}
#contents .lower-bottom .selectionTitle span.pink {
 font-size: 4rem;
 color: #dc405d;
 line-height: 1;
}
.selectionTitle::after {
 content: "";
 background-image: -moz-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background-image: -webkit-linear-gradient(
0deg
, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background-image: -ms-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 position: absolute;
 bottom: 0;
 left: 50%;
 margin-left: -53px;
 height: 1px;
 width: 106px;
}
#index .selection h2 { margin-top:52px; }
.selectionBoxWrap {
 display: flex;
 justify-content: space-between;
}
.selectionBox {
 box-sizing: border-box;
 width: 32%;
 background: rgb(94,170,214);
 background: -moz-linear-gradient(43deg,  rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background: -webkit-linear-gradient(43deg,  rgb(94,170,214) 0%,rgb(165,215,209) 100%);
 background: linear-gradient(43deg,  rgb(94,170,214) 0%,rgb(165,215,209) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5eaad6', endColorstr='#a5d7d1',GradientType=1 );
 position: relative;
 padding: 3px;
}
.selectionBox .selectionBoxInner {
 background-color: #fff;
 padding: 16px 12px;
}
.selectionBoxHeader .title {
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 background-color: #dbf0f5;
 padding: 1rem;
 text-align: center;
}
.selectionBoxHeader .title {font-size: 2.0rem;font-weight: normal;}
.selectionBoxHeader .title span {
 font-size:1.4rem;
 display: block;
}
.selectionBox .catch {
 font-weight: bold;
 text-align: center;
 font-size: 1.6rem;
 background: url(img/catch_bg.png) no-repeat center;
 background-size: contain;
 margin: 2rem auto;
}
#index .selectionBox .catch {font-size: 2.0rem;background: url(img/catch_bg.png) no-repeat center;background-size: contain;margin: 2rem 0;}
.selectionBoxPhoto { text-align: center; }
.selectionBoxPhoto img {
 width: auto;
 height: 146px;
}
#index .selectionBoxPhoto img { height: 194px; }
.selectionBox .caption {
 color: #7d7d7d;
 text-align: left;
}
.selectionBoxGoogle {
 display: table;
 width: 100%;
 border-top: #006894 solid 1px;
 border-bottom: #006894 solid 1px;
 padding: 15px 0;
 margin: 14px 0 0;
}
.selectionBoxGoogle dt {
 display: table-cell;
 background-image: -moz-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -webkit-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -ms-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 vertical-align: middle;
 text-align: center;
 padding: 1rem 1.7rem;
 font-size: 1.4rem;
 line-height: 1.2;
}
.selectionBoxGoogle dd {
 display: table-cell;
 vertical-align: middle;
 text-align: center;
 padding: 6px 10px;
 font-size: 1.4rem;
 line-height: 1.2;
 font-weight: bold;
}
.selectionBoxGoogle dd span {
 color: #dc405d;
 font-size: 3.2rem;
}
.selectionBoxTag {
 margin: 20px 0 0;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
#contents .selectionBoxTag li {
 box-sizing: border-box;
 width: 49%;
 margin: 0 0 6px;
 background-color: #0d87c2;
 border-radius: 3px;
 display: flex;
 justify-content: center;
 align-items: center;
 color: #fff;
 font-size: 1.3rem;
 line-height: 1.3;
 font-weight: bold;
 text-align: center;
 padding: 1rem 0;
}
#index .selectionBoxTag li { padding: 1rem; }
#contents .selectionBoxTag li.off { background-color: #e5e5e5; }
#contents .selectionBoxTag li::before { content: none; }
.selectionBoxCertification { margin: 2rem 0 0; }
.selectionBoxCertification dt {
 font-size: 1.8rem;
 font-weight: bold;
}
.selectionBoxCertification dt::before {
 content: "";
 display: inline-block;
 width: 15px;
 height: 15px;
 border-radius: 100%;
 background-color: #ffdc8e;
 margin: 0 8px 0 0;
}
#contents .selectionBox .btn-web { margin-bottom: 10px; }
.selectionBox p.tel.pc {
 text-align: center;
 margin: 0 auto;
}
.selection .notes {
 color: #444444;
 font-size: 1.2rem;
 line-height: 1.6;
}
.selection .notes p {
 text-indent: -1em;
 padding-left: 1em;
}
/* accordion */
.btn-accordion {
 width: 358px;
 margin: 4rem auto;
 background: #78bec3;
 border-radius: 1000px;
 position: relative;
 text-align: center;
 z-index: 1;
 padding: 2rem 3.0rem;
 cursor: pointer;
 box-shadow: 0px 0px 10px 0px rgba(158, 161, 169, 1);
}
.btn-accordion span {
 display: block;
 text-align: center;
 color: #fff;
 line-height: 1.3;
 font-size: 1.6rem;
 font-weight: bold;

}
.btn-accordion::after {
 content: "";
 display: block;
 width: 22px;
 height: 22px;
 background: url("./img/ico_plus.png") left 50% no-repeat;
 background-size: 100% auto;
 position: absolute;
 right:28px;
 top: 50%;
 margin-top: -11px;
}
.btn-accordion:hover {
 background-color: #83d0d5;
 box-shadow: none;
}
.btn-accordion.is-open span { display: none; }
.btn-accordion.is-open:after { background-image: url("img/ico_minus.png") ; }
.btn-accordion.is-open:before {
 content: '閉じる';
 width: 100%;
 display: block;
 text-align: center;
 color: #fff;
 line-height: 1.3;
 font-size: 1.6rem;
 font-weight: bold;
}
/*.item-accordion { display: none; }*/
.auto { margin: 0 auto; }
p { margin: 15px 0 15px 0; }
#page.sitemap {
 width: 1000px;
 margin: 0 auto;
}
#page.sitemap h2 a {
 color: #444;
}
#page.sitemap li a:hover {
 text-decoration: underline;
}
/*--------------------------------------
    TOP
---------------------------------------*/
#index .inner {
 margin: 0 auto;
 width: 1000px;
}
#index h2 {
 font-size: 32px;
 margin: 130px 0 40px;
 line-height: 1.4;
 padding: 3px 10px 10px;
 position: relative;
 text-align: center;
 background: url(img/h2_bg.png) no-repeat center top;
}
#index h2 span.small {
 display: block;
 font-size:2rem;
 font-weight: normal;
 line-height: 1.2;
}
#index h2 span.pink {
 font-size: 5rem;
 color: #dc405d;
 line-height: 1;
}
#index h2::after {
 content: "";
 background-image: -moz-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background-image: -webkit-linear-gradient(
0deg
, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background-image: -ms-linear-gradient( 0deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 position: absolute;
 bottom: 0;
 left: 50%;
 margin-left: -53px;
 height: 1px;
 width: 106px;
}
#index h2 a {
 display: inline-block;
 padding:0 66px;
 background: url("img/ar_bk.svg") no-repeat right 50%;
 background-size: 14px auto;
}
/* mv
----------------------------------------------------*/
.mv {
 background: url(img/mv.png) no-repeat right top;
 background-size: auto 95%;
 margin: 12px auto 52px;
}
.mv .inner {
 width: 1210px;
 margin: 0 auto;
}
.mv .inner .mv_box {
 padding: 83px 0 83px;
 width: 677px;
}
.mv .mv_box .mainTit {
 color: #001842;
 font-size: 40px;
 line-height: 1.2;
 margin-bottom: 8px;
}
.mv .mv_box .mainTit > span {
 display: inline-block;
 background-color: rgba(255, 255, 255,0.6);
 padding: 6px 24px;
 margin: 0 0 11px;
}
.mv .mv_box .mainTit > span span { font-size: 2.5rem; }
.mv .mv_box p {
 margin: 0;
 padding: 0 85px 0 0;
 font-size: 1.6rem;
}
/* sec01
----------------------------------------------------*/
#index .sec01 {
 margin-bottom: 100px;
}
#index .sec01 .title {
 margin: 0 auto 70px;
 width: 810px;
}
#index .sec01 .content .inner {
 width: 900px;
}
/* sec01 add_parts */
#index .sec01 .clinic {
 background: #e8f6ff;
 border-top:solid 10px #006894;
 padding-top: 29px;
 width: 1000px;
 position: relative;
 margin: 40px auto 0;
}
#index .sec01 .clinic:last-child::after { content: none; }
#index .sec01 .clinic_name {
 background: url("img/catch.svg") no-repeat center top;
 background-size: 66px;
 padding: 15px;
 text-align: center;
}
#index .sec01 .clinic_name span {
 font-size: 2.3rem;
 display: block;
 font-weight: bold;
 margin: 0 0 3rem;
}
#index .sec01 .clinic_name h3 {font-size: 35px;font-weight: normal;}
#index .sec01 .clinic_detail {margin: 1rem 2rem 2rem 2rem;}
#index .sec01 .clinic_detail .detail { }
#index .sec01 .google {
 display: flex;
 justify-content: center;
 width: 100%;
 border-top: #006894 solid 1px;
 border-bottom: #006894 solid 1px;
 padding: 16px 0;
}
#index .sec01 .google dt {
 box-sizing: border-box;
 width: 176px;
 display: flex;
 justify-content: center;
 align-items: center;
 text-align: center;
 background-image: -moz-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -webkit-linear-gradient(
0deg
, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -ms-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 padding: 1rem 1.7rem;
 font-size: 1.8rem;
 line-height: 1.2;
}
#index .sec01 .google dd {
 display: flex;
 align-items: baseline;
 justify-content: center;
 text-align: center;
 padding: 6px 55px;
 font-size: 2rem;
 line-height: 1.2;
 font-weight: bold;
}
#index .sec01 .google dd span {
 color: #dc405d;
 font-size: 4.2rem;
}
#index .sec01 .clinic_detail .detail .tag {
 display: table;
 width: 100%;
 table-layout: fixed;
 border-collapse: separate;
 border-spacing: 9px;
 margin: 4px 6px;
}
#index .sec01 .clinic_detail .detail .tag li {
 display: table-cell;
 vertical-align: middle;
 text-align: center;
 background: #0d87c2;
 border-radius: 3px;
 color: #fff;
 font-size: 14px;
 font-weight: bold;
 line-height: 1.3;
 margin: 0 9px 0 0;
 padding: 12px 4px;
}
#index .sec01 .clinic_detail .detail .tag li.off { background-color: #e5e5e5; }
#index .sec01 .clinic_detail .detail .tag .no_select {
 background: #d2d2d2;
}
#index .sec01 .clinic_detail .cost {
 border-top: 3px solid #001842;
 border-bottom: 3px solid #001842;
 color: #1b1b1b;
 font-size: 25px;
 font-weight: bold;
 margin-bottom: 40px;
 padding: 24px 0 24px 15px;
}
/* subBox */
#index .sec01 .subBox01 {
 margin: 6rem 0.8rem 2rem;
 background-color: #ddf0ff;
 padding: 5.3rem 6rem 4rem;
}
#index .sec01 .subBox01 .catch {
 background: url("img/feature.svg") no-repeat center top;
 background-size: 70px auto;
 padding: 2.2rem 0;
 font-size: 2.5rem;
 text-align: center;
 line-height: 1.3;
}
#index .sec01 .subBox01 .catch_box .sub_catch {
 margin: 4rem 0 0 42px;
 font-size: 2rem;
 font-weight: bold;
 position: relative;
}
#index .sec01 .subBox01 .catch_box .sub_catch span {
 background: -moz-linear-gradient(top,  rgba(255,220,142,0) 0%, rgba(255,220,142,0) 50%, rgba(255,220,142,1) 51%, rgba(255,220,142,1) 100%);
 background: -webkit-linear-gradient(top,  rgba(255,220,142,0) 0%,rgba(255,220,142,0) 50%,rgba(255,220,142,1) 51%,rgba(255,220,142,1) 100%);
 background: linear-gradient(to bottom,  rgba(255,220,142,0) 0%,rgba(255,220,142,0) 50%,rgba(255,220,142,1) 51%,rgba(255,220,142,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffdc8e', endColorstr='#ffdc8e',GradientType=0 );
}
#index .sec01 .subBox01 .catch_box .sub_catch::before {
 content: "";
 display: block;
 width: 25px;
 height: 42px;
 background: url("img/implant_ico.svg") no-repeat left top;
 background-size: 100% auto;
 position: absolute;
 left: -34px;
 top: 0;
}
/* blueBox */
#index .sec01 .blueBox {
 margin: 60px auto 0px;
 box-sizing: border-box;
 background: rgb(94,170,214);
 background: -moz-linear-gradient(43deg, rgb(94,170,214) 0%, rgb(165,215,209) 100%);
 background: -webkit-linear-gradient(
43deg
, rgb(94,170,214) 0%,rgb(165,215,209) 100%);
 background: linear-gradient(
43deg
, rgb(94,170,214) 0%,rgb(165,215,209) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5eaad6', endColorstr='#a5d7d1',GradientType=1 );
 position: relative;
 z-index: 0;
 box-shadow: 0px 0px 7px 0px rgba(119, 119, 119, 0.38);
 padding: 5px;
}
#index .sec01 .blueBox .subBox {
 background-color: #fff;
 padding: 24px;
}
#index .sec01 .blueBox .subBox .upper {
 margin: 0 0 40px;
}
#index .sec01 .blueBox .subBox .ph {
 float: left;
 margin: 0 60px 0 0;
 width: 230px;
}
#index .sec01 .blueBox .subBox .upper .caption {
 font-size: 1.3rem;
 margin: 5px auto;
 text-align: left;
 width: 210px;
 word-break: break-all;
}
#index .sec01 .blueBox .subBox .txtArea {
 width: auto;
 overflow: hidden;
 text-align: left;
}
#index .sec01 .blueBox .subBox .txtArea .subBoxTitle {
 display: inline-block;
 line-height: 32px;
 background-color: #333333;
 color: #fff;
 font-size: 1.8rem;
 font-weight: bold;
 text-align: center;
 padding: 0 2.4rem;
 margin: 3rem 0 1rem;
}
#index .sec01 .blueBox .subBox .txtArea ul li {
 margin: 0 0 5px;
 padding-left: 22px;
 position: relative;
}
#index .sec01 .blueBox .subBox .txtArea ul li::before {
 content: "";
 background: #ffdc8e;
 width: 12px;
 height: 12px;
 border-radius: 100%;
 position: absolute;
 left: 0;
 top: 5px;
}
#index .sec01 .blueBox .subBox .txtArea .sTit {
 border-bottom: 1px solid #006894;
 font-size: 2.5rem;
 line-height: 1.4;
 margin: 0 0 10px;
 padding: 0 0 15px;
}
#index .sec01 .blueBox .subBox .pointArea {
 background: #f3f4f6;
 padding: 0 30px 20px;
 position: relative;
 margin: 60px 0 0;
}
#index .sec01 .blueBox .subBox .pointArea .pointTitle {
 box-sizing: border-box;
 display:table;
 background-image: -moz-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -webkit-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 background-image: -ms-linear-gradient( 0deg, rgb(105,190,239) 0%, rgb(179,233,226) 100%);
 min-width: 272px;
 max-width: 80%;
 line-height: 1.2;
 font-size: 2rem;
 text-align: center;
 border-radius: 1000px;
 padding: 5px 3rem;
 margin: 0 auto;
 transform: translateY(-17px);
}
#index .sec01 .blueBox .subBox .pointArea p {
 font-size: 1.5rem;
 margin: 0;
 text-align: left;
}
/* sec01 review */
#index .sec01 .review{
    margin: 6rem auto 4rem;
}


#index .sec01 .review .title {
 margin: 0;
 width: 900px;
}
#index .sec01 .review .title h4 {
 border-bottom: 1px solid #006894;
 font-size: 27px;
 padding: 0 16px 16px;
 text-align: center;
 margin: 0 0 20px;
}
#index .sec01 .review .review_box_wrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 margin: 65px auto 40px;
 width: 770px;
}
#index .sec01 .review .review_box {
 background: #fff;
 display: inline-block;
 margin: 0 30px 80px 0;
 padding: 24px 24px 45px;
 position: relative;
 width: 320px;
}
#index .sec01 .review .review_box:nth-child(2n) {
 margin: 0 0 80px 0;
}
#index .sec01 .review .review_box:last-child {
 margin: 0 0 20px 0;
}
#index .sec01 .review .review_box:nth-last-child(2) {
 margin: 0 30px 20px 0;
}
#index .sec01 .review .review_box:before {
 content: "";
 background: url(img/float_circle02.png) no-repeat;
 position: absolute;
 top: -45px;
 left: 50%;
 width: 121px;
 height: 45px;
 transform: translate(-50%, 0%);
}
#index .sec01 .review .review_box:after {
 content: "";
 background: url(img/float_icon.png) no-repeat top center;
 background-size: 90%;
 position: absolute;
 top: -33px;
 left: 50%;
 margin-left: -22px;
 height: 45px;
 width: 53px;
}
#index .sec01 .review .review_box .review_head {
 border-bottom: 1px dashed #7d7d7d;
 color: #001842;
 font-size: 2rem;
 font-weight: bold;
 line-height: 1.3;
 margin: 0 0 24px;
 padding: 15px 0 20px 0;
 text-align: center;
}
#index .sec01 .review .review_box .review_body {
 font-size: 1.5rem;
 margin: 15px 0 26px 0;
}
#index .sec01 .review .review_box .review_body .caption {
 font-size: 1.2rem;
 white-space: nowrap;
 overflow-x: auto;
 padding-bottom: 5px;
}
#index .sec01 .review .review_box .review_body .caption::-webkit-scrollbar {
 background: #bfbfbf;
 border-radius: 10px;
 height: 7px;
}
/*スクロールバーの軌道*/
#index .sec01 .review .review_box .review_body .caption::-webkit-scrollbar-track {
 border-radius: 10px;
}
/*スクロールバーの動く部分*/
#index .sec01 .review .review_box .review_body .caption::-webkit-scrollbar-thumb {
 background-color: #001842;
 border-radius: 10px;
}
/* sec01 equipment */
#index .sec01 .equipment {
 margin-bottom: 90px;
}
#index .sec01 .equipment .title {
 margin: 0;
 width: 900px;
}
#index .sec01 .equipment .title h4 {
 border-bottom: 2px solid #001842;
 font-size: 2.7rem;
 font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
 line-height: 30px;
 padding: 8px 15px 24px;
 position: relative;
 text-align: center;
}
#index .sec01 .equipment .title h4::before {
 content: "";
 border-bottom: 2px solid #996c1f;
 position: absolute;
 top: 100%;
 margin-top: -2px;
 left: 50%;
 margin-left: -68px;
 height: 2px;
 width: 15%;
}
#index .sec01 .equipment .content {
 padding: 0 70px;
}
#index .sec01 .equipment .content p {
 color: #dd2a7b;
 font-size: 1.3rem;
 font-weight: bold;
 margin: 16px 0;
}
#index .sec01 .equipment .scroll_img_wrap {
 display: flex;
 overflow-x: auto;
 position: relative;
 width: 780px;
}
#index .sec01 .equipment .scroll_img_wrap::-webkit-scrollbar {
 background: #bfbfbf;
 border-radius: 10px;
 height: 7px;
}
/*スクロールバーの軌道*/
#index .sec01 .equipment .scroll_img_wrap::-webkit-scrollbar-track {
 border-radius: 10px;
}
/*スクロールバーの動く部分*/
#index .sec01 .equipment .scroll_img_wrap::-webkit-scrollbar-thumb {
 background-color: #001842;
 border-radius: 10px;
}
#index .sec01 .equipment .scroll_box {
 background: #fff;
 border-right: 1px solid #eee;
 margin-bottom: 25px;
 position: relative;
 width: auto;
}
#index .sec01 .equipment .scroll_box .scroll_img {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 380px;
}
#index .sec01 .equipment .scroll_box .caption {
 font-size: 1.2rem;
 line-height: 18px;
 margin: 8px 0;
 padding: 0 10px;
 text-align: center;
 word-break: break-all;
}
/* sec01 information */
#index .sec01 .information {
 margin-bottom: 5rem;
 padding-bottom: 20px;
}
#index .sec01 .information .title {
 margin: 0;
 width: 900px;
}
#index .sec01 .information .title h4 {
 border-bottom: 1px solid #006894;
 font-size: 27px;
 padding: 0 16px 16px;
 text-align: center;
 margin: 0 0 30px;
}
#index .sec01 .information .box_wrap {
 box-sizing: border-box;
 display: flex;
 justify-content: space-between;
 padding: 0 30px;
 margin: 0 0 30px;
}
#index .sec01 .information .box_wrap .photo {
 width: 360px;
 text-align: center;
}
#index .sec01 .information .box_wrap .photo img {
 max-width: 100%;
 height: auto;
}
#index .sec01 .information .box_wrap table {
 width: 435px;
 margin: 0;
 border: 1px solid #bfbfbf;
}
#index .sec01 .information table th {
 background: #333333;
 color: #fff;
 border: solid 1px #bfbfbf;
 font-size: 1.4rem;
 word-wrap: break-word;
 width: 105px;
 vertical-align: middle;
 padding: 1rem;
}
#index .sec01 .information table td {
 border: solid 1px #bfbfbf;
 background: #fff;
 font-size: 1.4rem;
 padding: 1rem;
 vertical-align: middle;
}
/* sec02
----------------------------------------------------*/
#index .sec02 {
 margin-bottom: 110px;
}
#index .sec02 .title {
 margin: 0 auto 70px;
 width: 810px;
}
#index .sec02 .title p {
 font-size: 1.5rem;
}
#index .sec02 .content .frame_wrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 margin: 0 auto;
 width: 92%;
}
#index .sec02 .content .frame_wrap::after {
 content: "";
 width: 30%;
 height: 0;
}
#index .sec02 .content .frame_wrap .frame {
 box-sizing: border-box;
 border-top: solid 4px #5eaad6;
 margin: 20px 0;
 padding: 0 20px 25px;
 width: 272px;
 box-shadow: 0px 0px 6px 0px rgba(134, 137, 144, 0.42);
}
#index .sec02 .content .frame_wrap .frame .frame-head {
 text-align: center;
 padding: 2rem 0;
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
}
#index .sec02 .content .frame_wrap .frame .frame-head::after {
 content: "";
 display: block;
 width: 56px;
 height: 1px;
 background-color: #5eaad6;
 position: absolute;
 left: 50%;
 bottom: 0;
 margin: 0 0 0 -28px;
}
#index .sec02 .content .frame_wrap .frame .frame-head .frame_name {
 width: 100%;
 font-size: 2rem;
 font-weight: bold;
 line-height: 1.3;
}
#index .sec02 .content .frame_wrap .frame .frame-head a {
 display: block;
 font-size: inherit;
 color: inherit;
 line-height: inherit;
 background: url("img/ar_bk.svg") no-repeat right 50%;
 background-size:  14px auto;
 padding: 0 3rem;
}
#index .sec02 .content .frame_wrap .frame .frame-head a:hover {
 opacity: 1;
 color: #49a5d1;
 background-image: url("img/ar_bl.svg");
}
#index .sec02 .content .frame_wrap .frame .dashed ul {
 margin: 0;
 padding: 25px 10px 25px 15px;
}
#index .sec02 .content .frame_wrap .frame .dashed ul li {
 font-size: 1.4rem;
 line-height: 20px;
 padding: 0 20px 3px 28px;
 position: relative;
 word-break: break-all;
}
#index .sec02 .content .frame_wrap .frame .dashed ul li::before {
 content: "";
 background: #996c1f;
 width: 11px;
 height: 11px;
 position: absolute;
 left: 8px;
 top: 4px;
}
#index .sec02 .content .frame_wrap .frame table { margin-bottom: 0; }
#index .sec02 .content .frame_wrap .frame table th {
 width: 35%;
 padding: 10px;
 font-size: 1.4rem;
}
#index .sec02 .content .frame_wrap .frame table td { padding: 10px; }
/* sec03
----------------------------------------------------*/
#index .sec03 {
 margin-bottom: 115px;
}
#index .sec03 .title {
 margin: 0 auto 68px;
 width: 810px;
}
#index .sec03 .content .point_wrap {
 counter-reset: point_number;
 width: 1000px;
}
#index .sec03 .content .point h3 {
 background: #f7f7f7;
 border-bottom: 3px solid #001842;
 color: #444;
 counter-increment: point_number;
 font-size: 2.7rem;
 font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
 padding: 24px 20px 24px 100px;
 position: relative;
 line-height: 28px;
 margin-bottom: 30px;
}
#index .sec03 .content .point h3::before {
 content: "";
 background: #001842;
 border-radius: 50%;
 position: absolute;
 bottom: 50%;
 margin-bottom: -28px;
 left: 24px;
 height: 55px;
 width: 55px;
}
#index .sec03 .content .point h3::after {
 content: counter(point_number);
 border-bottom: 1px dashed #fff;
 color: #fff;
 font-size: 3.0rem;
 position: absolute;
 top: 50%;
 margin-top: -13px;
 left: 44px;
 width: 20px;
}
#index .sec03 .content .point_content {
 margin: 0 auto 55px;
 width: 900px;
}
#index .sec03 .content .point_content p {
 font-size: 1.5rem;
}
#index .sec03 .content .point_content .catch {
 color: #001842;
 font-size: 1.8rem;
 font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
 margin: 20px 0 22px;
}
/* sec05
----------------------------------------------------*/
#index .sec05 {
 background: url(img/sec05_bg.jpg) repeat-y left top;
 background-size: 80% auto;
 margin: 130px 0;
 padding: 60px 0 60px 50px;
}
#index .sec05 .content {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
#index .sec05 .feature { width: 570px; }
#index .sec05 .feature .title {
 margin-bottom: 30px;
 position: relative;
}
#index .sec05 .feature .title::after {
 content: "";
 display: block;
 border-bottom: 2px solid #001842;
 position: absolute;
 left: 0;
 bottom: 0;
 height: 2px;
 width: 61%;
}
#index .sec05 .feature .title p {
 background: #333333;
 color: #fff;
 font-size: 2.3rem;
 line-height: 35px;
 font-weight: bold;
 margin: 0;
 text-align: center;
 width: 109px;
}
#index .sec05 .feature .title h2 {
 background: none;
 margin: 0;
 text-align: left;
 padding: 2rem 0;
 font-size: 2.7rem;
 font-weight: normal;
 position: relative;
}
#index .sec05 .feature .title h2::after { content: none; }
#index .sec05 .feature .title h2 a { padding:0 2rem 0 0; }
#index .sec05 .feature .txt {
 font-size: 1.5rem;
 line-height: 26px;
 margin-bottom: 40px;
}
#index .sec05 .feature .btn-internal { margin: 20px auto 0 0; }
#index .sec05 .feature_img_wrap { text-align: center; }
#index .sec05 .feature_img { width: 400px; }
#index .sec05 .feature_img_wrap .caption {
 font-size: 1.2rem;
 text-align: center;
 margin: 0 5rem;
}

/* sec09
----------------------------------------------------*/
#index .sec09 h2 { padding: 18px 10px 18px; }
/* -------------------------------------------------------------------------
    SP
  ------------------------------------------------------------------------- */
@media screen and (max-width: 599px) {
 body {
  font-size: 1.5rem;
  line-height: 1.7em;
  width: 100%;
  min-width: 100%;
 }
 .pc { display: none; }
 .pc_br { display: none; }
 .sp {  display: block; }
 .sp_br {  display: block; }
 img { max-width: 100%; }
 p {
  font-size: 1.5rem;
  margin: 0 0 10px 0;
 }
 a:hover,
 a:hover img { opacity: 1; }
 .trance:hover { opacity: 1; }
 .wi1000 {
  width: 100%;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
 }
 .baseBox {padding: 0 15px;}
 #category, #page {
  width: 100%;
  margin: 0 auto;
 }
 #category .baseBox, #page .baseBox {
  width: 100%;
  float: none;
  box-sizing: border-box;
 }
 /* ==================================== */
 /*header*/
 /* ==================================== */
 header {
  border-width: 4px;
  position: relative;
  width: 100%;
 }
 #headNoteArea {
  padding: 1rem 0 5px;
  width: 100%;
 }
 #headNoteArea .areaInner {
  line-height: 2rem;
  margin: 0 auto;
  padding: 0;
  width: 100%;
 }
 #headNoteArea .sitename a {
  display: block;
  font-size: 1.4rem;
  padding: 0 1rem 10px 1rem;
  text-align: center;
 }
 /* ハンバーガーメニュー */
 .out-frame {
  position: relative;
  width: 100%;
 }
 .menu-btn {
  display: block;
  position: absolute;
  top: 18px;
  right: 12px;
  height: 35px;
  width: 35px;
  z-index: 10;
 }
 .navOpenOut {
  background: rgba(255, 255, 255, 0.5);
  padding: 22px 13px 20px;
  box-sizing: border-box;
  height: 77px;
 }
 .navOpen {
  background: url(img/sp-btn-menu_off.png) 0 0 no-repeat;
  background-size: 35px;
  position: inherit;
  top: inherit;
  right: 14px;
  height: 35px;
  width: 35px;
  z-index: 10;
  float: right;
 }
 .navOpen img { opacity: 0; }
 #sp_titArea .is-fixed {
  position: fixed;
  top: 22px;
  right: 13.5px;
  z-index: 2;
 }
 .fixed {
  position: fixed;
  width: 100%;
  height: 100%;
 }
 .header-menu {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
  height: 100%;
  overflow-y: scroll;
 }
 .header-menu ul li a {
  display: block;
  padding: 15px 35px 15px 10px;
  border-bottom: 1px solid #fff;
  text-decoration: none;
  line-height: 1.3;
  color: #fff;
  font-size: 1.4rem;
 }
 .header-menu ul.accordion li ul li:first-child a {
  padding: 12px 35px 12px 10px;
 }
 .header-menu ul li.delete {
  background: #b5b5b5 url(img/batu.png) 60% 50% no-repeat;
  background-size: 19px;
  padding: 10px;
  text-align: center;
  color: #fff;
  font-size: 1.3rem;
 }
 .header-menu ul.accordion ul {
  display: none;
 }
 .header-menu ul.accordion .subCat ul.subList {
  display: block;
 }
 .header-menu ul.accordion .tglMenu {
  display: block;
  padding: 15px 35px 15px 10px;
  background: #006894 url(img/footer_arr_bottom.png) right 10px center no-repeat;
  background-size: 16px auto;
  border-bottom: 1px solid #FFF;
  text-decoration: none;
  line-height: 1.3;
  color: #fff;
  font-size: 1.4rem;
 }
 .header-menu ul.accordion .open {
  background: #006894 url(img/footer_arr_top.png) right 10px center no-repeat;
  background-size: 16px auto;
 }
 .header-menu ul.accordion ul li a {
  font-family: inherit;
  background: #fff url(img/footer_arr.png) no-repeat right 15px center;
  background-size: 6px auto;
  color: #444;
  border-bottom: 1px solid #444;
 }
 .header-menu ul.accordion ul li.subCat a {
  padding: 12px 30px 12px 20px;
 }
 .header-menu ul.accordion .subCat ul.subList li a {
  border-bottom: 1px solid #444;
  padding: 12px 30px 12px 30px;
 }
 .header-menu ul.accordion li ul li:last-child a {
  border-bottom: none;
 }
 /*--------------------------------------
        Footer
    ---------------------------------------*/
 footer {
  margin: 40px 0 0;
  width: 100%;
 }
 footer .areaInner {
  margin: 0;
  padding: 0;
  width: 100%;
 }
 footer .areaInner .footBox {
  margin: 0;
 }
 footer .areaInner .footBox .sttl a {
  color: #fff;
  display: block;
  font-size: 1.4rem;
  padding: 10px 4rem 10px 4%;
 }
 footer .areaInner .footBox .sttl .sitemap {
  background: #006894 url(img/footer_arr_bottom.png) right 10px center no-repeat;
  background-size: 16px auto;
 }
 footer .areaInner .footBox .sttl.tglMenu a {
  background: #006894 url(img/footer_arr_bottom.png) right 10px center no-repeat;
  background-size: 16px auto;
 }
 footer .areaInner .footBox .sttl.open a {
  background: #006894 url(img/footer_arr_top.png) right 10px center no-repeat;
  background-size: 16px auto;
 }
 footer .areaInner .footBox .sttl {
  border-bottom: 1px solid #f3f3f3;
  padding: 0;
  margin: 0;
 }
 footer .areaInner .footBox .accChild {
  box-sizing: border-box;
  display: none;
  padding: 0;
  margin: 0;
  width: 100%;
 }
 footer .areaInner .footBox .accChild li {
  margin: 0;
  width: 100%;
 }
 footer .areaInner .footBox .accChild .sp {
  display: block !important;
 }
 footer .areaInner .footBox .accChild li a {
  background: url(img/footer_arr02.png) no-repeat right 15px center;
  background-size: 16px auto;
  border-bottom: 1px dotted #444;
  display: block;
  font-size: 1.3rem;
  padding: 10px 5rem 10px 4%;
 }
 footer .areaInner .footBox .accChild .subList li::before {
  content: none;
 }
 footer .areaInner .footBox .accChild li:last-child a {
  border-bottom: none;
 }
 footer .areaInner .footBox .accChild li.subCat a {
  background: url(img/footer_arr02.png) no-repeat right 15px center;
  background-size: 16px auto;
  display: block;
  font-size: 1.3rem;
  padding: 10px 5rem 10px 4%;
 }
 footer .areaInner .footBox .accChild .subList {
  display: block;
  margin: 0;
 }
 footer .areaInner .footBox .accChild li.subCat {
  border-bottom: 1px dotted #444;
  padding: 0;
  position: relative;
 }
 footer .areaInner .footBox .accChild .subList li:first-child:before, footer .areaInner .footBox .accChild .subList li::after {
  content: none;
 }
 footer .areaInner .noticeArea {
  font-size: 1.2rem;
  line-height: 1.8em;
  margin: 30px auto 20px;
  width: 90%;
 }
 footer .areaInner .noticeArea p {
  padding: 20px;
 }
 footer .areaInner .noticeArea .botPrg {
  font-size: 1.0rem;
  margin: 10px 0 0;
  padding: 0;
 }
 footer .botArea {
  padding: 0;
 }
 footer .botArea .botInner {
  width: 100%;
 }
 footer p.copy {
  line-height: 1.3;
  margin: 0;
  padding: 14px 15px 12px;
  text-align: center;
 }
 /*--------------------------------------
       PageTop
    ---------------------------------------*/
 #page-top {
  position: fixed;
  bottom: 30px;
  right: 3%;
  z-index: 2;
  width: 40px;
 }
 #page-top:hover {
  opacity: 1;
 }
 /*--------------------------------------
    pankuzu
    ---------------------------------------*/
 #pankuzu {
  font-size: 1rem;
  overflow-x: scroll;
  padding: 0 0 0 5px;
  white-space: nowrap;
  background: #c7e8ea;
 }
 #pankuzu::-webkit-scrollbar-thumb {
  background-color: #808080;
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .3);
 }
 #pankuzu::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
 }
 #pankuzu::-webkit-scrollbar {
  height: 3px;
  width: 100%;
 }
 /* ====================================
    下層
 ====================================  */
 #category h1, #page h1 {
  box-sizing: border-box;
  font-size: 2.5rem;
  line-height: 1.3;
  padding: 1rem;
  margin-top: 1.5rem;
  background-size: auto 40px;
 }
 #category h2, #page h2 {
  margin: 35px 0 20px;
  font-size: 2.2rem;
  background-size: 16px auto;
  background-position: left 10px top 10px;
  padding: 10px 10px 10px 40px;
 }
 #category h3, #page h3 {
  margin: 35px 0 20px;
  font-size: 2.0rem;
  padding: 8px 20px;
 }
 #category h4, #page h4 {
  font-size: 1.8rem;
  margin: 20px 0;
  padding: 8px 10px;
 }
 /* rank */
 #index .rank,
 #category .rank,
 #page .rank {
  font-size: 1.8rem;
  margin: 20px 0 20px 0;
  padding: 15px 1rem 15px 7rem;
 }
 #index .rank span,
 #category .rank span,
 #page .rank span { font-size: 2.2rem; }
 #index .rank::after,
 #category .rank::after,
 #page .rank::after {
  width: 44px;
  height: 44px;
  line-height: 44px;
  font-size: 2.1rem;
  margin-top: -22px;
  left: 12px;
 }
 /* list */
 #category ul, #page ul {
  margin: 20px 0 20px;
  padding: 10px 10px 0;
 }
 #category ul li, #page ul li {
  min-height: 12px;
  padding: 0 0 4px 2rem;
 }
 #category ul li::before, #page ul li::before {
  top: 6px;
  left: 0.2rem;
 }
 #category ol, #page ol {
  margin: 16px 0;
  padding: 10px 0 0;
 }
 #category ol li, #page ol li {
  padding: 0 0 4px 2rem;
 }
 #category ol li::before, #page ol li::before {
  font-size: 1.3rem;
  line-height: 1.8rem;
  top: 2px;
  left: 0;
  height: 16px;
  width: 16px;
 }
 /* table */
 #category table, #page table {
  margin: 30px auto 30px;
 }
 #category table, #page table {
  width: 100%;
 }
 #category table tr, #page table tr {
  display: block;
  margin: 0 0 10px;
 }
 #category table tr:last-child, #page table tr:last-child {
  margin: 0;
 }
 #category table th, #page table th {
  border: none;
  font-size: 1.5rem;
 }
 #category table td, #page table td {
  border: none;
  border-bottom: 1px solid #bfbfbf;
  border-left: 1px solid #bfbfbf;
  border-right: 1px solid #bfbfbf;
  font-size: 1.3rem;
 }
 #category table td:first-of-type, #page table td:first-of-type { border-left: 1px solid #bfbfbf; }
 #category table th, #category table td, #page table th, #page table td {
  box-sizing: border-box;
  display: block;
  padding: 10px;
  line-height: 2.4rem;
  width: 100%;
 }
 /* float img */
 .float-wrap {
  margin: 20px 0;
  padding: 0;
 }
 .float-wrap .float-img {
  margin: 0 0 12px 0;
  padding: 0;
  width: 100%;
 }
 .float-wrap .fr {
  padding: 0;
  width: 100%;
 }
 .float-wrap .caption {
  font-size: 1.0rem;
  line-height: 1.3;
  margin: 8px 0 0;
  padding-bottom: 10px;
 }
 .float-wrap .fl,
 .float-wrap .fr {
  width: 100%;
  float: none;
 }
 .float-wrap .center {
  width: 100%;
 }
 #contents #category .floatBox01 .float-wrap, #contents #page .floatBox01 .float-wrap {
  margin: 20px 0;
  padding: 0;
 }
 #contents #category .floatBox01 .float-wrap img, #contents #page .floatBox01 .float-wrap img {
  width: 100%;
 }
 #contents #category .floatBox01 .float-wrap p, #contents #page .floatBox01 .p {
  margin: 0;
  padding: 0;
 }
 #contents .floatBox01 .float-wrap .fl.t_small, #contents #category .floatBox01 .float-wrap .fl.t_small, #contents #page .floatBox01 .float-wrap .fl.t_small {
  width: 40%;
  padding: 0 20px 0 0;
  text-align: center;
  float: left;
 }
 #contents .floatBox01 .float-wrap .fr.t_small, #contents #category .floatBox01 .float-wrap .fr.t_small, #contents #page .floatBox01 .float-wrap .fr.t_small {
  width: 40%;
  padding: 0 0 0 20px;
  margin: 0;
  text-align: center;
  float: right;
 }
 #contents .floatBox01 .float-wrap .ct {
  width: 100%;
  margin: 0 auto;
  padding: 0 0 20px;
  text-align: center;
 }
 /*--------------------------------------
      btn
    ---------------------------------------*/
 #contents .btn-internal,
 #contents .btn-web,
 #contents .btn-link,
 #contents .btn-tel {
  margin: 20px auto;
  width: 90%;
 }
 #contents .btn-internal a,
 #contents .btn-web a {
  font-size: 1.4rem;
  padding: 14px 4rem;
 }
 #contents .btn-link a {
  background: #fff url("img/ar_bk.svg") no-repeat right 20px top 50%;
  background-size: 13px auto;
  border-radius: 1000px;
  box-shadow: 0px 0px 8px 0px #b3b7c0;
  border: solid 3px #0d87c2;
  color: #0d87c2;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 14px 4rem;
  display: block;
  text-align: center;
  text-decoration: none;
 }
 #contents .btn-tel a {
  background: #ffcd5d url("img/tel_ico.svg") no-repeat left 20px top 50%;
  background-size: 20px auto;
  border-radius: 1000px;
  box-shadow: 0px 0px 8px 0px #b3b7c0;
  color: #000;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 14px 4rem;
  display: block;
  text-align: center;
  text-decoration: none;
 }
 /*--------------------------------------
        box-wrap
    ---------------------------------------*/
 #contents .box-wrap { flex-direction: column; }
 #contents .box-wrap .box {
  margin: 40px 0 20px;
  width: 100%;
  padding-top: 2rem;
 }
 #contents .box-wrap .box::before {
  background-size: 100%;
  height: 4rem;
  width: 4rem;
  top: -2rem;
 }
 #contents .box-wrap .box .box-head {
  margin: 0;
  padding-top: 0;
 }
 #contents .box-wrap .box .box-head .sttl {
  line-height: 1.4;
  margin: 0;
 }
 #contents .box-wrap .box .box-head .sttl a {
  background: url(img/box_arr03.png) no-repeat right 0 center;
  background-size: 13px auto;
  font-size: 1.8rem;
  padding: 15px 20px 15px 0;
 }
 #contents .box-wrap .box .box-body p { font-size: 1.3rem; }
 #contents .box .box-body .frame { margin: 0 auto 1rem; }
 /* frame-wrap */
 #contents .frame-wrap {
  flex-direction: column;
 }
 #contents .frame {
  margin: 20px 0;
  width: 100%;
 }
 /* frame-left */
 #contents .frameLeft {
  padding: 15px;
 }
 #contents #category .frameLeft, #contents #page .frameLeft {
  padding: 15px;
  width: 100%;
  margin-top: 60px;
 }
 #contents .frameLeft:before {
  background-size: 100%;
  height: 41px;
  width: 96px;
  top: -38px;
  left: 50%;
 }
 #contents .frameLeft .frame-head {
  font-size: 1.8rem;
  line-height: 1.3;
  margin: 5px 0 15px;
  padding: 15px 0 15px 0;
 }
 #contents .frameLeft .frame-body p {
  font-size: 1.4rem;
  margin: 0;
 }
 #contents .frameLeft:after { background-size: 80%; }
 #contents .frameLeft .frame-body .btn-internal {
  margin: 15px auto 10px;
  width: 86%;
 }
 #contents .frameLeft .frame-body .btn-internal a::after { right: -2.5rem; }
 /* frame-center */
 #contents #category .frameCenter, #contents #page .frameCenter {
  box-shadow: 4px 5px 1px 0 #001842;
  padding: 1rem;
  width: 100%;
 }
 #contents .frameCenter .frame-head {
  line-height: 1.3;
  padding: 0;
 }
 #contents .frameCenter .frame-head a {
  background-size: 10px auto;
  font-size: 1.8rem;
  padding: 15px 2rem 15px 1.5rem;
 }
 #contents .frameCenter .dashed { margin: 15px 0 0; }
 #contents .frameCenter .dashed ul { padding: 15px 13px 13px 15px; }
 #contents .frameCenter .dashed ul li {
  font-size: 1.3rem;
  padding: 0 0 3px 2rem;
 }
 /* frame-right */
 #contents .frameRight .frame-head {
  font-size: 1.8rem;
 }
 #contents .frameRight .frame-head a {
  background-size: 13px auto;
  font-size: 1.6rem;
  padding:0 2rem;
 }
 #contents .frameRight .frame-body p { font-size: 1.4rem; }
 #contents .frameRight .frame-body .btn-internal {
  margin: 0 auto 10px;
  width: 90%;
 }
 /* 共通パーツ lower-bottom
----------------------------------------*/
.selection { margin: 60px 0 0; }
 #index .selection {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 3%;
 }

 #index .selection h2{
     margin-top:2rem;
 }
 .selectionTitle {
  font-size: 2.5rem;
  background-size: auto 40px;
  margin-bottom: 20px;
 }
 .selectionTitle span.small { font-size: 1.4rem;}
 .selectionTitle span.pink { font-size: 3.4rem;}
 .selectionBoxWrap { flex-direction: column; }
 .selectionBox {
  width: 100%;
  margin: 0 0 20px;
 }
 .selectionBox .catch { margin: 1.4rem 0; }
 #index .selectionBoxPhoto img,
 .selectionBoxPhoto img { height: 180px; }
 #contents .selectionBoxTag {
  margin: 14px 0;
  padding: 0;
 }
 .selection .notes p { font-size: 1.2rem; }
 /* accordion */
 .btn-accordion { width: 80%; }
 /* -----------------------
    TOP
  ------------------------- */
 #index .inner {
  box-sizing: border-box;
  width: 100%;
  padding: 0 3%;
 }
 #headNoteArea { width: 82%; }
 #headNoteArea .sitename { width: 100%; }

 #headNoteArea .logo{
     width:40px;
 }
 #headNoteArea .sitename h1 { font-size: 4.5vw; }
 #index h2 {
  font-size: 2.5rem;
  background-size: auto 40px;
  margin:60px 0 20px;
 }
 #index h2 a {
  padding: 0 2rem;
  background-size: 12px auto;
 }
 #index h2 span.small {font-size: 1.6rem;}
 #index h2 span.pink { font-size: 3.4rem;}
 /* -----------------------
    MV
------------------------- */
 .mv {
  background: none;
  box-sizing: border-box;
  margin: 0 auto;
 }
 .mv .inner { width: 100%; }
 .mv .inner .mv_box {
  margin: 0 auto;
  padding: 0;
  width: 100%;
 }
 .mv .mv_box .mainTit {
  background: url("img/mv_sp.png") no-repeat left 13px top;
  background-size: cover;
  padding: 2rem;
  font-size: 6vw;
  margin-bottom: 0;
 }
 .mv .mv_box .mainTit > span span {font-size: 4vw;}
 .mv .mv_box .mainTit > span:last-child { margin-bottom: 0; }
 .mv .mv_box p { padding: 2rem 4%; }
 /*----------------------------------------
 top2
 ----------------------------------------*/
 #index .top2s {
  width: 100%;
 }
 #index .top2s .sec01 {
  display: block;
  width: 100%;
 }
 #index .top2s .clinic {
  width: 89%;
  margin: 1rem auto;
 }
 /* -----------------------
    sec01
  ------------------------- */
 #index .sec01 {
  margin-bottom: 4rem;
 }
 #index .sec01 .title {
  margin: 0 auto 25px;
  width: 94%;
 }
 #index .sec01 .title h2 {
  font-size: 2rem;
  padding: 0 0 20px;
 }
 #index .sec01 .title h2 span {
  font-size: 4rem;
 }
 #index .sec01 .title h2::after {
  border-bottom: 3px solid #c7e8ea;
  bottom: 4px;
  margin-left: -12%;
 }
 #index .sec01 .clinic {
  box-sizing: border-box;
  padding: 20px 3% 0;
  width: 100%;
  border-top-width: 6px;
 }
 #index .sec01 .content .inner {
  padding: 0;
  width: 100%;
 }
 #index .sec01 .clinic_name {
  background-size: 54px;
  padding: 14px 0;
 }
 #index .sec01 .clinic_name h3 {font-size: 2.7rem;}
 #index .sec01 .clinic_name span {
  font-size: 2rem;
  margin: 0 0 2rem;
 }
 #index .sec01 .subBoxWrap {
  background: url(img/sec01_subbox_ill01.png) no-repeat top 0 left 0, url(img/sec01_subbox_ill02.png) no-repeat bottom 0 right 0;
  margin: 0 auto 5rem;
  padding: 1rem;
 }
 #index .sec01 .google dt {
  width: auto;
  font-size: 1.4rem;
 }
 #index .sec01 .google dd {
  padding: 0 2rem;
  font-size: 1.8rem;
 }
 #index .sec01 .google dd span { font-size: 3rem; }
 #index .sec01 .clinic_detail .detail .tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
  margin: 0;
 }
 #index .sec01 .clinic_detail .detail .tag li {
  display: flex;
  box-sizing: border-box;
  width: 48%;
  font-size: 1.3rem;
  margin: 1rem 0 0;
  justify-content: center;
  align-items: center;
 }
 #index .sec01 .clinic_detail .detail .tag li:last-child { margin: 1rem 0 0; }
 #index .sec01 .clinic_detail .cost .price {
  font-size: 3rem;
  margin: 0 1rem 0 auto;
 }
 #index .sec01 .clinic_detail .cost .price span {
  font-size: 1.4rem;
  margin-left: 5px;
 }
 #index .sec01 .clinic_detail .doctor .name {
  width: 44%;
 }
 #index .sec01 .clinic_detail .doctor .doctor_img, #index .sec01 .clinic_detail .doctor .doctor_img img {
  height: auto;
  width: 100%;
 }
 #index .sec01 .clinic_detail .doctor .caption {
  font-size: 1rem;
  line-height: 1.5rem;
  margin: 10px auto;
  text-align: center;
 }
 #index .sec01 .subBox01 {
  margin: 3rem 0;
  padding: 2rem;
 }
 #index .sec01 .blueBox .subBox .txtArea {
  margin-top: 2rem;
  width: 100%;
 }
 #index .sec01 .blueBox .subBox .pointArea {
  width: 88%;
 }
 #index .sec01 .subBox01 .catch {
  font-size: 2rem;
  margin: 0;
  background-size: 50px auto;
  padding: 1.4rem 0;
 }
 #index .sec01 .subBox01 .catch_box .sub_catch {
  font-size: 1.8rem;
  margin: 2rem 0 1rem 28px;
 }
 #index .sec01 .subBox01 .catch_box p { font-size: 1.5rem; }
 #index .sec01 .blueBox {
  margin: 3rem auto;
  width: 95%;
 }
 #index .sec01 .blueBox .subBox { padding: 2rem; }
 #index .sec01 .blueBox .subBox .txtArea .sTit {
  font-size: 2rem;
  padding: 0 0 8px;
  text-align: center;
  margin-bottom: 0;
 }
 #index .sec01 .blueBox .subBox .ph {
  float: inherit;
  width: 100%;
 }
 #index .sec01 .blueBox .subBox .upper .caption {
  font-size: 1rem;
  text-align: center;
  width: 70%;
 }
 #index .sec01 .blueBox .subBox .txtArea .subBoxTitle {
  line-height: 24px;
  font-size: 1.4rem;
  padding: 0.5rem 1.5rem;
  margin: 2rem 0 1rem;
 }
 #index .sec01 .blueBox .subBox .pointArea {
  padding: 0 2rem 2rem;
  margin: 60px auto 0;
 }
 #index .sec01 .blueBox .subBox .pointArea .pointTitle {
  min-width: 10%;
  max-width: 100%;
  font-size: 1.6rem;
 }
 #index .sec01 .blueBox .subBox .txtArea ul li { font-size: 1.5rem; }
 #index .sec01 .blueBox .subBox .txtArea ul li::before {
  width: 10px;
  height: 10px;
  left: 4px;
  top: 7px;
 }
 #index .sec01 .blueBox .subBox .pointArea p {
  font-size: 1.5rem;
 }
 #index .sec01 .blueBox .subBox .pointArea::before {
  top: -14px;
  margin-left: -45px;
  height: 25px;
  width: 90px;
 }
 /* review */
 #index .sec01 .review {
  margin-bottom: 2rem;
 }
 #index .sec01 .review .title {
  width: 100%;
 }
 #index .sec01 .review .title h4 {
  font-size: 2rem;
  padding: 8px 1rem 1rem;
 }
 #index .sec01 .review .title h4::before {
  top: inherit;
  bottom: -0.2rem;
  margin-left: -5.5rem;
  height: 2px;
  width: 11rem;
 }
 #index .sec01 .review .content {
  padding: 0;
 }
 #index .sec01 .review .review_box_wrap {
  flex-direction: column;
  margin: 8rem auto 0;
  width: 100%;
 }
 #index .sec01 .review .review_box:after {
  background-size: 80%;
 }
 #index .sec01 .review .review_box {
  margin: 0 0 8rem 0;
  padding: 2rem 2rem 3rem;
  width: 87%;
 }
 #index .sec01 .review .review_box:last-child {
  margin: 6rem 0 20px 0;
 }
 #index .sec01 .review .review_box .review_head {
  font-size: 1.8rem;
 }
 #index .sec01 .review .review_box .review_body .caption {
  font-size: 1.0rem;
  margin: 2rem 0 0;
 }
 #index .sec01 .review .review_box .review_body .caption::-webkit-scrollbar {
  height: 4px;
 }
 /* equipment */
 #index .sec01 .equipment {
  margin-bottom: 5rem;
 }
 #index .sec01 .equipment .title {
  width: 100%;
 }
 #index .sec01 .equipment .title h4 {
  font-size: 2rem;
  padding: 8px 1rem 1rem;
 }
 #index .sec01 .equipment .title h4::before {
  top: inherit;
  bottom: -0.2rem;
  margin-left: -6rem;
  height: 2px;
  width: 11rem;
 }
 #index .sec01 .equipment .content {
  padding: 0;
 }
 #index .sec01 .equipment .content p {
  font-size: 1rem;
 }
 #index .sec01 .equipment .scroll_img_wrap {
  width: 100%;
 }
 #index .sec01 .equipment .scroll_box .scroll_img {
  width: 245px;
 }
 #index .sec01 .equipment .scroll_box .caption {
  font-size: 1rem;
  line-height: 1.5rem;
 }
 #index .sec01 .equipment .scroll_img_wrap::-webkit-scrollbar {
  height: 4px;
 }
 /* information */
 #index .sec01 .information .title {
  width: 100%;
 }
 #index .sec01 .information .title h4 {
  font-size: 2rem;
  padding: 8px 1rem 1rem;
 }
 #index .sec01 .information .title h4::before {
  top: inherit;
  bottom: -0.2rem;
  margin-left: -6rem;
  height: 2px;
  width: 11rem;
 }
 #index .sec01 .information .box_wrap {
  flex-direction: column;
  margin: 0 0 3.5rem;
  padding: 0;
 }
 #index .sec01 .information .box_wrap .photo {
  margin-bottom: 2rem;
  width: 100%;
 }
 #index .sec01 .information .box_wrap table {
  border: none;
  width: 100%;
 }

  #index .sec01 .information table th, #index .sec01 .information table tr th{
      width:30%;
  }

 #index .sec01 .information table th, #index .sec01 .information table td {
  border: none;
  /* display: block; */
  padding: 1rem 1rem;
  text-align: center;
  /* width: 70%; */
 }
 #index .sec01 .information table td {
  border-bottom: 1px solid #c7e8ea;
  border-left: 1px solid #c7e8ea;
  border-right: 1px solid #c7e8ea;
 }
 #index .sec01 .information table td:first-of-type {
  border-left: 1px solid #c7e8ea;
 }
 #index .sec01 .information .btn-web {
  width: 88%;
 }
 #index .sec01 .information .btn-tel {
  width: 88%;
 }
 #index .sec01 .information .btn-tel a {
  padding: 13px 4.5rem;
 }
 /* -----------------------
     sec02
    ------------------------- */
 #index .sec02 {
  margin-bottom: 3rem;
 }
 #index .sec02 .title {
  margin: 0 auto 3rem;
  width: 100%;
 }
 #index .sec02 .title p {
  font-size: 1.4rem;
  padding: 0 3%;
 }
 #index .sec02 .content {
  padding: 0 3%;
 }
 #index .sec02 .content .frame_wrap {
  width: 100%;
  display: block;
 }
 #index .sec02 .content .frame_wrap .frame {
  margin: 1rem auto;
  width: 98%;
 }
 #index .sec02 .content .frame_wrap .frame .frame-head {
  font-size: 1.8rem;
  padding: 1.6rem 0;
  margin: 0 0 2rem;
 }
 #index .sec02 .content .frame_wrap .frame .frame-head a {
  background-size: 10px auto;
  padding: 0 2rem;
 }
 #index .sec02 .content .frame_wrap .frame .dashed ul {
  padding: 1.5rem 1rem;
 }
 #index .sec02 .content .frame_wrap .frame .dashed ul li {
  padding: 0 1rem 3px 28px;
 }
 #index .sec02 .content .frame_wrap .frame .dashed ul li::before {
  left: 0.5rem;
 }
 /* -----------------------
 sec03
------------------------- */
 #index .sec03 {
  margin-bottom: 4rem;
 }
 #index .sec03 .title {
  margin: 0 auto 2rem;
  width: 100%;
 }
 #index .sec03 .title h2 {
  font-size: 2rem;
  line-height: 3rem;
  margin: 0 auto;
  padding: 0 0 20px;
  width: 93%;
 }
 #index .sec03 .title h2 span {
  font-size: 2.5rem;
 }
 #index .sec03 .title h2::after {
  border-bottom: 3px solid #c7e8ea;
  bottom: 6px;
  margin-left: -4rem;
 }
 #index .sec03 .title p {
  font-size: 1.4rem;
  padding: 0 3%;
 }
 #index .sec03 .content {
  padding: 0 3%;
 }
 #index .sec03 .content .point_wrap {
  width: 100%;
 }
 #index .sec03 .content .point h3 {
  border-bottom: 1px solid #001842;
  font-size: 1.8rem;
  line-height: 1.3;
  margin-bottom: 2rem;
  padding: 15px 1rem 15px 7rem;
 }
 #index .sec03 .content .point h3::before {
  height: 4.5rem;
  width: 4.5rem;
  left: 1rem;
  margin-bottom: -23px;
 }
 #index .sec03 .content .point h3::after {
  font-size: 2.4rem;
  margin-top: -1.2rem;
  line-height: 2.4rem;
  left: 2.6rem;
  width: 4%;
 }
 #index .sec03 .content .point_content {
  margin: 0 auto 3rem;
  width: 100%;
 }
 #index .sec03 .content .point_content .catch {
  font-size: 1.6rem;
  margin: 1rem 0;
 }
 
 /* -----------------------
 sec05
------------------------- */
 #index .sec05 {
  background-size: 100% auto;
  margin: 4rem 0;
  padding: 0;
 }
 #index .sec05 .content {
  flex-direction: column;
  padding: 0 3% 1.5rem;
 }
 #index .sec05 .feature {
  padding: 2rem 0;
  width: 100%;
 }
 #index .sec05 .feature .title {
  margin-bottom: 1rem;
 }
 #index .sec05 .feature .title p {
  font-size: 1.6rem;
  margin: 0 auto 1rem;
  padding: 0;
  width: 18%;
 }
 #index .sec05 .feature .title h2 {
  font-size: 1.8rem;
  margin: 0 auto;
  padding: 0;
  text-align: center;
 }
 #index .sec05 .feature .title::after { content: none; }
 #index .sec05 .feature .btn-internal {
  width: 86%;
  margin: 2rem auto 0;
 }
 #index .sec05 .feature .btn-internal a {
  font-size: 1.4rem;
  padding: 10px 3rem;
 }
 #index .sec05 .feature .btn-internal a::after {
  right: -2rem;
 }
 #index .sec05 .feature_img_wrap {
  margin-bottom: 5rem;
  padding-top: 1rem;
  position: relative;
 }
 #index .sec05 .feature .feature_img_wrap::after {
  content: "";
  border-bottom: 1px solid #001842;
  position: absolute;
  left: -1rem;
  bottom: -28px;
  height: 2px;
  width: 61%;
 }
 #index .sec05 .feature_img {
  width: 100%;
 }
 #index .sec05 .feature_img_wrap .caption {
  font-size: 1.0rem;
  line-height: 1.5rem;
  margin: 0;
 }
 #index .sec05 .feature .txt {
  font-size: 1.4rem;
  width: 100%;
 }

 #index .sec09 h2 { padding: 3px 10px 10px; }
}