@charset "utf-8";
/* GoogleFonts読み込み 下記のライセンス記述は削除禁止 */
/*
* "Noto Sans JP" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Noto+Sans+JP
*/
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    src: url("fonts/NS-400.woff2") format("woff2"), url("fonts/NS-400.woff") format("woff");
    font-display: swap;
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    src: url("fonts/NS-700.woff2") format("woff2"), url("fonts/NS-700.woff") format("woff");
    font-display: swap;
}
/*
---------------------------------------------

    base settings

*/
html {
    font-size: 62.5%;
}
body {
    min-width: fit-content;
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    -webkit-text-size-adjust: 100%;
    line-height: 1.7;
    color: #111111;
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    word-break: break-word;
    overflow-x: hidden;
}
h1, h2, h3:not(.cn), h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-weight: normal;
    clear: both;
}
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
    h1, h2, h3, h4, h5, h6 {
        font-family: "Noto Sans JP", sans-serif;
    }
}
ul, ol, dl, p, img, form, dt, dd {
    margin: 0;
    padding: 0;
    border: 0;
}
li {
    list-style: none;
}
input, textarea {
    font-size: 1.2rem;
}
img {
    max-width: 100%;
    vertical-align: bottom;
}
a {
    color: #111111;
}
a:active, a:hover {
    transition: background 0.3s ease;
    text-decoration: none;
}
strong {
    font-weight: bold;
}
em {
    font-style: italic;
    font-weight: normal;
}
/* microclearfix */
.cf:before, .cf:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}
.cf:after {
    clear: both;
}
/** For IE 6/7 only */
.cf {
    *zoom: 1;
}
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.forPC {
    display: block;
}
.forSP {
    display: none;
}
.pc_br {
    display: block;
}
.sp_br {
    display: none;
}
/* microclearfix */
.cf:before, .cf:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}
.cf:after {
    clear: both;
}
/** For IE 6/7 only */
.cf {
    *zoom: 1;
}
.bg-white {
    background-color: #fff;
}
.fixed {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
}

/*
---------------------------------------------


*/
/* .l-main-area .top_h2 {
    margin: 15rem 0 2rem;
    padding: 5rem 3rem 4rem;
    font-size: 3.6rem;
    color: #333333;
    line-height: 1.2;
    background: url(img/bg-top_h2.png) no-repeat center top;
    text-align: center;
}

.l-main-area .top_h2 a {
    padding: 0 4rem 0 0;
    display: block;
    color: #333;
    text-decoration: none;
    background: url(img/arrow01_gray.svg) no-repeat right 0 center;
    background-size: 14px;
}

.l-main-area .top_h2 a:hover {
    opacity: 0.7;
}

.l-main-area .top_h3 {
    margin: 3rem 0;
    padding: 1rem 1.5rem;
    background: url(img/bg_h3_low.png) bottom left repeat-x;
    font-size: 3rem;
    color: #333;
    line-height: 1.4;
    position: relative;
    z-index: 5;
    text-align: left;
}

.l-main-area .top_h3 a {
    display: block;
    padding: 0 2rem 0 0;
    background: url(img/arrow01_gray.svg) no-repeat right 0 center;
    background-size: 12px 20px;
    color: #333;
    text-decoration: none;
}

.l-main-area .top_h3 a:hover {
    opacity: 0.7;
}

.l-main-area .top_h4 {
    margin: 3rem auto;
    padding-left: 1.3rem;
    font-size: 1.8rem;
    line-height: 1.4;
    color: #333;
    border-left: 7px solid #ef928d;
}

.l-main-area .top_h4 a {
    display: block;
    padding-right: 3rem;
    background: url(img/arrow01_gray.svg) no-repeat right 0 center;
    background-size: 10px 18px;
    text-decoration: none;
}

.l-main-area .top_h4 a:hover {
    background-size: 10px 18px;
    color: #0096d2;
}

.l-main-area .top_h5 {
    margin: 3rem 0;
    padding: 0.5rem 1.5rem;
    border-left: solid 10px #ffcc00;
    font-size: 1.8rem;
    line-height: 1.4;
    color: #333;
    position: relative;
}

.l-main-area .top_h5 a {
    color: #333;
    text-decoration: none;
}

.l-main-area .top_h5 a:hover {
    text-decoration: underline;
} */
.l-main-area p {
    margin: 1.5rem 0;
}
.l-main-area--low strong, .l-main-area--low p > span {
    color: #111111;
    font-size: 1.8rem;
    font-weight: bold;
    background: linear-gradient(transparent 70%, #ffb6b6 70%);
}
.l-main-area ul {
    margin: 2rem 0 0.5rem;
}
.l-main-area ul li {
    margin: 0;
    padding: 0 0 1rem 20px;
    background: url(img/icon_li.png) no-repeat left 0.2rem top 0.7rem;
    background-size:15px auto;
}
.l-main-area ol {
    margin: 4rem 0;
    counter-reset: number;
    list-style-type: none !important;
    text-align: left;
}
.l-main-area ol li {
    position: relative;
    margin: 0 0 1rem 0;
    padding: 0 0 0 3rem;
}
.l-main-area ol li:before {
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: #111111;
    border-radius: 50%;
    top: 0.3rem;
    left: 0;
    width: 20px;
    height: 20px;
    text-align: center;
    font-size: 1.2rem;
    line-height: 2rem;
    display: block;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.l-main-area table {
    width: 100%;
    margin: 4rem 0;
    padding: 0;
    border-collapse: collapse;
    text-align: left;
}
.l-main-area table th {
    padding: 1.5rem;
    background: #f2f2f2;
    border: 1px solid #8f95a6;
    font-weight: bold;
    text-align: center;
    word-break: break-all;
}
.l-main-area table td {
    padding: 1.5rem;
    background: #fff;
    border: 1px solid #8f95a6;
    word-break: break-all;
}

.partsRelatedlinks {
    width: 800px;
    max-width: 100%;
    margin: 5rem auto;
    background: #eef1f6;
    padding: 3rem 5rem;
}

.partsRelatedlinks .title {
    font-size:2rem;
    font-weight: 900;
    letter-spacing: 0.2em;
    color: #000000;
    margin: 0 0 2.6rem;
}

.partsRelatedlinks .btn-link  a {
    font-size: 1.5rem;
    display: inline-flex;
    align-items: center;
}

.partsRelatedlinks .btn-link {
    margin: 2rem auto;
    text-align: left;
}

.cn{
    font-size:2em;
    margin-top: 0;
}

.cn a{
    display: inline-block;
    padding: 0 5rem 0 0;
    background: url(img/arrow02_black.png) no-repeat right center;
    text-decoration: none;
    background-size: 20px auto;
}

.lasbox:not(:last-of-type){
    margin-bottom: 12rem;
}

/*--------------------------------------
btns
---------------------------------------*/
.btn-tel {
    display: none;
}
.btn-web, p.btn-web {
    margin: 4rem auto;
    padding: 0;
    text-align: center;
}
.btn-web a {
    display: inline-block;
    position: relative;
    width: 460px;
    margin: 0 auto;
    padding: 1.5rem 5rem 1.5rem 3.8rem;
    background: #f03d2a url(img/arrow02_white.png) no-repeat right 2rem center;
    border-radius: 5rem;
    box-shadow: 0 6px 0 #c62615;
    box-sizing: border-box;
    color: #fff;
    font-size: 1.6rem;
    transition: 0.2s;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    background-size: 12px auto;
}
.btn-web a:hover {
    background: #ff5656 url(img/arrow02_white.png) no-repeat right 2rem center;
    box-shadow: none;
    text-decoration: none;
    opacity: 1;
    transform: translate(0, 6px);
    background-size: 12px auto;
}
.btn-internal, p.btn-internal {
    margin: 4rem auto;
    padding: 0;
    text-align: center;
}
.btn-internal a {
    display: inline-block;
    position: relative;
    width: 460px;
    margin: 0 auto;
    padding: 1.5rem 5rem 1.5rem 3.8rem;
    background: #0e1b88 url(img/arrow02_white.png) no-repeat right 2rem center;
    border-radius: 5rem;
    box-shadow: 0 6px 0 #040d58;
    box-sizing: border-box;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    background-size: 12px auto;
}
.back .btn-internal a {
    background: #0e1b88 url(img/arrow02_white_back.png) no-repeat right 2rem center;
    background-size: 12px auto;
}

.btn-internal a:hover {
    background: #3744ad url(img/arrow02_white.png) no-repeat right 2rem center;
    box-shadow: none;
    text-decoration: none;
    opacity: 1;
    transform: translate(0, 6px);
    transition: 0.5s;
    background-size: 12px auto;
}

.back .btn-internal a:hover{
    background: #3744ad url(img/arrow02_white_back.png) no-repeat right 2rem center;
    background-size: 12px auto;
}

.btn-link {
    margin: 4rem 0;
    padding: 0;
    text-align: right;
}
.btn-link a {
    display: inline-block;
    position: relative;
    min-height: 23px;
    padding: 0.2rem 0 0.2rem 3rem;
    background: url(img/arrow_link.png) no-repeat left center;
    background-size:18px auto;
    color: #2f3235;
    font-size: 1.6rem;
    line-height: 1.4;
    text-decoration: underline;
}
.btn-link a:hover {
    text-decoration: underline;
    opacity: 0.8;
}

.last-btn{
    margin-top: 12rem!important;
}

.l-main-area .btn-img a {
    background: none;
    display: block;
    text-align: center;
}
.l-main-area .btn-img img {
    width: 370px;
}
.l-main-area .float-wrap {
	margin: 20px 0 40px;
}
.l-main-area .float-wrap .float-img img {
    height: 100%;
}
.l-main-area .float-wrap .float-img.fr {
    width: 300px;
    margin: 0 0 1rem 3.8rem;
    float: right;
}
.l-main-area .float-wrap .float-img.fl {
    width: 300px;
    margin: 0 3rem 1rem 0;
    float: left;
}
.l-main-area .float-wrap .float-img.ct {
    margin: 0 auto 2.2rem;
    width:100%;
	text-align: center;
}
.caption {
    padding: 8px 0 0 0;
    display: block;
    font-size: 1rem;
    font-weight: normal;
    color: #999999;
    word-break: break-all;
    line-height: 1.4;
    text-align: center;
}
.l-main-area .l-icon-title {
    position: relative;
    margin: 4rem 0 3rem 0;
    padding: 1.8rem 1.5rem 2rem 8rem;
    background: #ecedf0 url(img/title_bg_05.png) no-repeat right bottom;
    color: #000;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
}
.l-main-area .l-icon-title a {
    display: block;
    padding: 0 2rem 0 0;
    color: #000;
    background: url(img/arrow02_black.png) no-repeat right center;
    background-size: 12px auto;
    text-decoration: none;
}
.l-main-area .l-icon-title a:hover {
    text-decoration: none;
    opacity: 0.7;
}
.l-main-area .l-icon-title.has-cloud {
    position: relative;
    color: #000;
    font-weight: normal;
    font-size: 2.4rem;
}
.l-main-area .l-icon-title.has-cloud a {
    padding-right: 3rem;
    text-decoration: none;
    display: block;
    background: url(img/arrow01_pink.png) no-repeat right 2rem center;
    background-size: 10px 18px;
    color: #333333;
    font-size: 2.4rem;
}
.l-main-area .l-icon-title.has-cloud:before {
    margin: auto;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -25px;
    background: url(img/bg-l-icon-titleNumber.png) no-repeat left top;
    width: 80px;
    height: 56px;
}
.l-main-area .l-icon-title:before {
    width: 79px;
    height: 79px;
    background: no-repeat left top;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 1.2rem;
    line-height: 1;
    position: absolute;
    top: -0.6rem;
    left: -2.5rem;
}
.l-main-area .l-icon-title--check:before {
    content: "";
    background-image: url(img/bg-l-icon-titleCheck.png);
    background-size:cover;
}
.l-main-area .l-icon-title--recommend:before {
    content: "";
    background-image: url(img/bg-l-icon-titleRecommend.png);
}
.l-main-area .l-icon-title--point:before {
    content: "";
    background-image: url(img/bg-l-icon-titlePoint.png);
}
.l-main-area .l-number-wrapper {
    counter-reset: number;
}
.l-main-area .l-number-wrapper .l-icon-title:before {
    background-image: url(img/bg-l-icon-titleNumber.png);
    content: counter(number);
    counter-increment: number;
    font-size: 3rem;
    color: #fff;
}
.l-main-area .box-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 10rem 0;
}
.l-main-area .box-wrap .box {
    position: relative;
    width: calc((100% - 8rem) / 2);
    margin: 0 0 6rem 0;
    padding: 4rem 3rem 3rem 3rem;
    background: #eaf1f3;
    border-top: 7px solid #f2aa1e;
}
.l-main-area .box-wrap .box::before {
    position: absolute;
    left: 50%;
    top: -5rem;
    transform: translateX(-50%);
    width: 62px;
    height: 60px;
    background: url(img/title_bg_06.png) no-repeat left top;
    background-size: 100% auto;
    content: "";
}
.l-main-area .box-wrap .box-head {
    padding: 0 0 2rem 0;
    border-bottom: 2px solid #8898a2;
}
.l-main-area .box-wrap .box-head .ttl {
    color: #000;
    font-size: 2.3rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}
.l-main-area .box-wrap .box-head .ttl a {
    display: block;
    padding: 0 2rem 0 0;
    background: url(img/arrow02_black.png) no-repeat right center;
    background-size: 13px auto;
    color: #000;
    font-size: 2.3rem;
    font-weight: bold;
    line-height: 1.4;
    text-decoration: none;
}
.l-main-area .box-wrap .box-head .ttl a:hover {
    text-decoration: none;
    opacity: 0.6;
}
.l-main-area .box-wrap .box-body {
    padding: 3rem 0 0 0;
}
.l-main-area .box-wrap .box-body p {
    margin: 0;
    font-size: 1.5rem;
}
.l-main-area .box-wrap .box-body .fig {
    margin: 0 0 3rem 0;
    text-align: center;
}
.l-main-area .frame-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 10rem 0;
    counter-reset: number;
}
.l-main-area .frame-wrap::after {
    display: block;
    width: 32%;
    content: "";
}
.l-main-area .frame-wrap .frame {
    width: calc((100% - 8rem) / 3);
    margin: 0 0 3rem 0;
    padding: 0;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.l-main-area .frame-wrap .frame-head {
    display: flex;
    align-items: center;
    background: #e5e8ee;
    border-top: 7px solid #000000;
    color: #fff;
}
.l-main-area .frame-wrap .frame-head .ttl {
    width: 100%;
    padding: 2rem;
    background: #0e1b88;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
}
.l-main-area .frame-wrap .frame-head .ttl a {
    display: block;
    padding: 0 2rem 0 0;
    background: url(img/arrow02_white.png) no-repeat right center;
    background-size: 13px auto;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    text-decoration: none;
}
.l-main-area .frame-wrap .frame-head .ttl a:hover {
    text-decoration: none;
    opacity: 0.6;
}
.l-main-area .frame-wrap .frame-body {
    padding: 2rem;
}
.l-main-area .frame-wrap .frame-body p {
    margin: 0;
    font-size: 1.4rem;
}
/* @media all and (-ms-high-contrast: none) {
    .l-main-area .top_h2 {
        padding: 6rem 3rem 4rem;
    }
} */
/* low ----------------*/
/* heading */
.l-main-area--low h1, .top_h2 {
    position: relative;
    margin: 5rem 0;
    padding: 2rem 0;
   /* background: url(img/title_bg_03.png) no-repeat center center;*/
    color: #000;
    font-size: 5rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}
.l-main-area--low h1::after, .top_h2::after {
    position: absolute;
    left: 50%;
    bottom: -1.5rem;
    transform: translateX(-50%);
    width: 36px;
    height: 3px;
    background: #5b6171;
    content: "";
}

.l-main-area--low h1::after{
    background:#293ad1;
}

.top_h2 {
    margin: 0rem 0 5rem 0;
    font-size: 5rem;
}
.top_h2::after {
    bottom: 0;
}
.top_h2 span {
    color: #1425bd;
    font-size: 2.5rem;
}
.top_h2 a {
    display: inline-block;
    padding: 0 5rem 0 0;
    color: #000;
    background: url(img/arrow02_black.png) no-repeat right center;
    text-decoration: none;
    background-size: 20px auto;
}
.top_h2 a:hover {
    text-decoration: none;
    opacity: 0.7;
}
.l-main-area--low h2 {
    position: relative;
    margin: 6rem 0 3rem;
    padding: 1.5rem 1.5rem 1.5rem 8rem;
    background: #3b3f46 url(img/title_bg_04.png) no-repeat 1.2rem center;
    background-size:42px auto;
    border-left: 10px solid #0e1b88;
    color: #ffffff;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: left;
}
.l-main-area--low h2 a {
    display: block;
    padding: 0 3rem 0 0;
    color: #ffffff;
    background: url("img/arrow02_white.png") no-repeat right center;
    text-decoration: none;
	background-size: 18px auto;
}
.l-main-area--low h2 a:hover {
    text-decoration: none;
    opacity: 0.7;
}
.l-main-area--low h3 {
    position: relative;
    margin: 5rem 0 2rem;
    padding: 0 1.5rem 1rem 3rem;
    border-bottom: 5px solid #111111;
    color: #000;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: left;
}
.l-main-area--low h3::after {
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    width: 86px;
    height: 5px;
    background: #293ad1;
    content: "";
}
.l-main-area--low h3 a {
    display: block;
    padding: 0 3rem 0 0;
    color: #000;
    background: url(img/arrow02_black.png) no-repeat right center;
    text-decoration: none;
	background-size: 20px auto;
}
.l-main-area--low h3 a:hover {
    text-decoration: none;
    opacity: 0.7;
}
.l-main-area--low h4, .l-main-area--low h5 {
    position: relative;
    margin: 5rem 0 3rem 0;
    padding: 0 1.5rem;
    border-left: 7px solid #9da3af;
    color: #000;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
}
.l-main-area--low h4 a, .l-main-area--low h5 a {
    display: block;
    padding: 0 3rem 0 0;
    color: #000;
	background: url(img/arrow02_black.png) no-repeat right center;
    text-decoration: none;
    background-size: 20px auto;
}
.l-main-area--low h4 a:hover, .l-main-area--low h5 a:hover {
    text-decoration: none;
    opacity: 0.7;
}
/* @media all and (-ms-high-contrast: none) {
    .l-main-area--low h1 {
        padding: 6rem 3rem 5rem;
    }
} */
/*
---------------------------------------------

    header area

*/
.l-header-area {
    width: 100%;
    min-width: 1300px;
    margin: 0;
    padding: 0 0 0 100px;
}
.l-header {
    margin: 0 auto;
    padding: 1rem 0;
}
.l-header__link {
    display: inline-block;
    text-decoration: none;
}
.l-header__link:hover {
    opacity: 0.6;
}
.l-header-sitename {
    margin: 0 auto;
    max-width: 1040px;
    font-size: 1.2rem;
    line-height: 1.4;
    text-align: right;
    position: relative;
}
.l-header-sitename:before {
    content: "PR";
    display: inline-block;
    background: #000;
    color: #fff;
    text-align: center;
    width: 3rem;
    margin-right: 1rem;
    font-size: 1.2rem;
}
.l-header-area.lower .l-header-sitename {
    padding: 0 0 1rem 0;
}
.l-header-sitename__link {
    text-decoration: none;
}
.l-header-sitename__link:hover {
    text-decoration: underline;
}
.l-header-area.lower .l-header-logo {
    padding: 1.5rem 0 2rem;
    background: url(img/bg_mv_lower.jpg) no-repeat;
    background-size:cover;
    text-align: center;
}
.l-header-logo img {
    width: 25rem;
    height: auto;
}
.l-header-logo a {
    display: block;
}
.l-header-logo a:hover {
    opacity: 0.7;
}
/* .lower .l-header-logo:before {
    position: absolute;
    bottom: -70px;
    content: '';
    display: block;
    width: 100%;
    height: 182px;
    left: 0;
    background: url(img/mv-kumo.png) no-repeat left top;
    z-index: -1;
    background-size: cover;
} */
.lower .l-header-logo:after {
    content: none;
}
.l-gnavi-btn {
    width: 60px;
    height: 60px;
    margin: 0 auto;
    padding: 50px 0 0;
    display: block;
    position: relative;
    line-height: 1;
    font-size: 0.8rem;
    font-weight: bold;
    text-align: center;
    color: #111111;
    cursor: pointer;
}
.l-gnavi-btn:hover {
    color: #14416a;
}
.l-gnavi-btn span {
    width: 30px;
    height: 4px;
    display: inline-block;
    background: #111111;
    transition: all 0.4s;
    position: absolute;
    left: 15px;
}
.l-gnavi-btn span:nth-of-type(1) {
    top: 19px;
}
.l-gnavi-btn span:nth-of-type(2) {
    top: 29px;
}
.l-gnavi-btn span:nth-of-type(3) {
    top: 39px;
}
.l-gnavi-btn-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.4s;
}
.l-gnavi-btn-box.is-active .l-gnavi-btn {
    background: none;
}
.l-gnavi-btn-box.is-active .l-gnavi-btn span:nth-of-type(1) {
    transform: translateY(10px) rotate(-45deg);
}
.l-gnavi-btn-box.is-active .l-gnavi-btn span:nth-of-type(2) {
    opacity: 0;
}
.l-gnavi-btn-box.is-active .l-gnavi-btn span:nth-of-type(3) {
    transform: translateY(-10px) rotate(45deg);
}
.is-navi-open .l-gnavi-area--slide-left {
    transform: translateX(0);
}
.l-gnavi-area {
    width: 400px;
    height: 100vh;
    padding: 0;
    background: #fff;
    position: fixed;
    box-shadow: 1px 0 5px rgba(0, 0, 0, 0.14);
    transition: all 0.8s ease;
    top: 0;
    left: 0;
    z-index: 300;
}
.l-gnavi-area-menu {
    display: table-cell;
    vertical-align: middle;
}
.l-gnavi-area-scroll {
    height: 100%;
    padding: 20px 100px 20px 0;
    -ms-overflow-style: none;
    overflow-x: scroll;
}
.l-gnavi-area-scroll::-webkit-scrollbar {
    display: none;
    -webkit-appearance: none;
}
.l-gnavi-area-scroll__inner {
    height: 100%;
    display: table;
}
.l-gnavi-area-bar {
    width: 100px;
    height: 100vh;
    position: absolute;
    top: 0;
    right: 0;
}
.l-gnavi-area--slide-right {
    transform: translateX(-300px);
}
.l-gnavi-area--slide-left {
    left: auto;
    right: 0;
    transform: translateX(-100%);
}
.l-gnavi-area--slide-down {
    transform: translateY(-100%);
}
.l-gnavi-area--slide-up {
    transform: translateY(100%);
}
.l-gnavi-list {
    position: relative;
    width: 300px;
}
.l-gnavi-list__link {
    width: 90%;
    margin: 0 auto;
    padding: 10px 45px 10px 20px;
    display: block;
    text-decoration: none;
}
.l-gnavi-list__link--menu {
    cursor: pointer;
}
.l-gnavi-list__sub {
    margin: 0 0 0 1.6rem;
    border-top: dashed 1px #f5f7fc;
    background: #f5f7fc;
    display: none;
}
.l-gnavi-list__sub .l-gnavi-list__item {
    background-size: 4px 8px;
}
.l-gnavi-btn-close__link {
    margin: 20px auto;
    padding: 10px 20px 10px 50px;
    display: inline-block;
    background: #ffffff;
    text-decoration: none;
    position: relative;
}
.l-gnavi-btn-close__link:hover {
    background: #ccc;
    color: #ffffff;
}
.l-gnavi-btn-close__link:hover:after {
    background: #ffffff;
}
.l-gnavi-btn-close__link:hover:before {
    background: #ffffff;
}
.l-gnavi-btn-close__link:before {
    content: "";
    width: 20px;
    height: 3px;
    background: #000;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    position: absolute;
    top: 50%;
    left: 20px;
}
.l-gnavi-btn-close__link:after {
    content: "";
    width: 20px;
    height: 3px;
    background: #000;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    position: absolute;
    top: 50%;
    left: 20px;
}
.is-gnavi-cover .l-gnavi-area {
    height: auto;
    top: auto;
    z-index: 1;
    overflow-y: hidden;
}
.is-navi-open .l-gnavi-area {
    opacity: 1;
}
.is-navi-open .l-gnavi-area--slide-right {
    transform: translateX(0);
}
.is-navi-open .l-gnavi-area--slide-left {
    transform: translateX(0);
}
.is-navi-open .l-gnavi-area--slide-down {
    transform: translateY(0);
}
.is-navi-open .l-gnavi-area--slide-up {
    transform: translateY(0);
}
.is-navi-open .is-gnavi-cover {
    height: 100vh;
    overflow-y: scroll;
}
.is-navi-open .is-gnavi-cover .l-gnavi-area {
    position: static;
}
/*
---------------------------------------------

    footer area

*/
.l-footer-area {
    margin: 0;
    padding: 0 0 0 100px;
    width: 100%;
    min-width: 1200px;
    background: #e4e5ea;
    position: relative;
}
.l-footer-logo {
    display: none;
    text-align: center;
}
.l-footer-logo img {
    width: 50rem;
    padding: 0;
    margin: 0 auto;
    z-index: 39;
}
.l-footer-disclaimer {
    width: 500px;
    margin: 20px auto;
    padding: 3rem 2rem;
    background: #fff;
    font-size: 1rem;
    color: #000;
    text-align: left;
}
.l-footer-disclaimer dt {
    float: left;
}
.l-footer-note {
    text-align: center;
    margin: 2rem auto 1.8rem;
    font-size: 1.2rem;
}
.l-footer-bottom {
    margin: 0 auto;
    background: #111111;
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
}
.l-footer-bottom__inner {
    width: 96%;
    max-width: 1000px;
    display: table;
    margin: 0 auto;
}
.l-footer-bottom__copy {
    padding: 1rem 0;
    display: table-cell;
    text-align: left;
}
.l-footer-bottom__copy__link {
    text-decoration: none;
    color: #fff;
}
.l-footer-bottom__copy__link:hover {
    text-decoration: underline;
}
.l-footer-bottom__sitemap {
    padding: 10px 0;
    display: table-cell;
    text-align: right;
}
.l-footer-bottom__sitemap__link {
    background: url(img/arrow01_white.svg) no-repeat right center;
    background-size: 7px 12px;
    padding: 0 24px 0 0;
    text-decoration: none;
    color: #fff;
}
.l-footer-bottom__sitemap__link:hover {
    opacity: 0.6;
}
.l-footer-menu-wrapper {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 8rem 0 0 0;
}
.l-footer-menu {
    margin: 0 0 40px;
}
.l-footer-menu__title {
    margin: 0 0 10px 0;
    padding: 0 0 5px;
    border-bottom: solid 1px #3f4040;
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.4;
}
.l-footer-menu__title__link {
    display: block;
    padding: 0 0 0 3.2rem;
    background: url(img/arrow02_navy.png) no-repeat left 1rem center;
    background-size:auto 12px;
    text-decoration: none;
    font-weight: bold;
    position: relative;
}
.l-footer-menu__title__link:hover {
    opacity: 0.6;
}
.l-footer-menu__list {
    display: inline;
}
.l-footer-menu__list__item {
    padding: 0 10px;
    display: inline-block;
}
.l-footer-menu__list__item:first-child {
    display: none;
}
.l-footer-menu__list__link {
    padding: 5px 0 5px 19px;
    text-align: left;
    font-size: 1.2rem;
    text-decoration: none;
    position: relative;
}
.l-footer-menu__list__link:before {
    margin-top: -5px;
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    top: 50%;
    left: 0;
    background-color: #293ad1;
}
.l-footer-menu__list__link:hover {
    opacity: 0.6;
}
.l-footer-submenu__list {
    display: inline-block;
}
.l-footer-submenu__list__item {
    display: inline-block;
}
.l-footer-submenu__list__link {
    padding: 5px 15px;
    text-align: left;
    font-size: 1.2rem;
    text-decoration: none;
}
.l-footer-submenu__list__link:before {
    content: "- ";
}
.l-footer-submenu__list__link:hover {
    opacity: 0.6;
}
/*
---------------------------------------------
    common
*/
.l-pagetop {
    position: absolute;
    top: -90px;
    right: 30px;
    z-index: 100;
}
.l-pagetop__link {
    width: 103px;
    height: 102px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.l-pagetop__link:hover {
    opacity: 0.7;
}
.l-pagetop__image {
    max-width: 100%;
    height: auto;
}
.l-pagetop.is-fixed {
    position: fixed;
    top: auto;
    bottom: 30px;
}
.l-sns-list {
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translate(-50%, 0);
}
.l-sns-list__item {
    text-align: center;
}
.l-sns-list__link {
    width: 30px;
    height: 30px;
    margin: 0 auto 1rem;
    text-decoration: none;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #0096d2;
    display: flex;
    justify-content: center;
    align-items: center;
}
.l-sns-list__link:hover {
    opacity: 0.6;
}
.l-sns-list__link--twitter .l-sns-list__image {
    width: 18px;
    height: 15px;
}
.l-sns-list__link--facebook .l-sns-list__image {
    width: 9px;
    height: 17px;
}
.l-sns-list__link--line .l-sns-list__image {
    width: 19px;
    height: 18px;
}
.l-sns-list__link--instagram .l-sns-list__image {
    width: 19px;
    height: 19px;
}
.l-sns-list__link--hatena .l-sns-list__image {
    width: 17px;
    height: 15px;
}
#pankuzu {
    max-width: 1000px;
    margin: 1rem auto 0 auto;
    font-size: 1.2rem;
    position: relative;
    z-index: 1;
}
/*
---------------------------------------------

    contents area

*/
.l-contents-area {
    width: 100%;
    margin: 0 auto;
    padding-left: 100px;
}
.l-contents-area .top {
    padding-top: 2rem;
}
/*
---------------------------------------------

    main area / common

*/
.l-main-area {
    width: 100%;
    margin: 0 auto 7rem 0;
    padding: 0;
    text-align: left;
}
.l-main-area--low {
    width: 1000px;
    margin: 0 auto 7rem auto;
}
.l-section-inner {
    max-width: 1000px;
    margin: 0 auto 3rem;
}
.l-common-title {
    margin: 2.8rem 0 2rem;
    padding: 5rem 3rem 4rem;
    font-size: 3.6rem;
    color: #333333;
    line-height: 1.2;
    background: url(img/bg-top_h2.png) no-repeat center top;
    text-align: center;
}
.top .l-common-title {
    margin-top: 7rem;
    margin-bottom: 0;
    line-height: 1.5;
    padding: 5rem 3rem 3.4rem;
}
.l-common-title a {
    padding: 0 4rem 0 0;
    display: block;
    color: #333;
    text-decoration: none;
    background: url(img/arrow01_gray.svg) no-repeat right 0 center;
    background-size: 14px;
}
.l-common-title a:hover {
    opacity: 0.7;
}
.l-main-area .l-common-lead {
    width: 80%;
    margin: 1.5rem auto 4rem;
}
.l-contents-area .clinicList {
    padding-top: 8rem;
}
.l-contents-area .clinicList_head {
    padding: 1.6rem;
    margin: 0 auto;
    margin-top: 4.5rem;
    max-width: 700px;
    border-bottom: 5px dotted #ffffff;
    border-top: 5px dotted #ffffff;
    text-align: center;
    color: #ef928d;
    font-size: 3rem;
    line-height: 1.2;
}
.l-contents-area .clinicList_heading {
    margin-top: 1rem;
    font-size: 3rem;
    color: #333333;
    text-align: center;
}
.l-contents-area .clinicList_item .btn-web {
    width: auto;
    min-width: 0;
}
.l-contents-area .clinicList_item .btn-web a {
    margin: 0 auto;
    background-color: #f6716a;
    width: 95%;
}
.l-contents-area .clinicList_item .clinicList_item_sttl {
    color: #f6716a;
    text-align: center;
    font-weight: normal;
    font-size: 1.8rem;
}
.l-contents-area .clinicList_item_foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.l-contents-area .clinicList_item_foot .contactOuter_head {
    color: #796a56;
    text-align: center;
    font-weight: normal;
    font-size: 1.8rem;
    border: 1px solid #f6716a;
}
.l-contents-area .clinicList_item_foot .btnBox {
    width: 65%;
}
.l-contents-area .clinicList_item_foot .contactOuter {
    width: 32%;
}
.l-contents-area .clinicList_item .infomation2 {
    margin-bottom: 4.8rem;
}
.l-contents-area .clinicList_item .infomation2 th {
    width: 30%;
}
.l-contents-area .clinicList_item .infomation2 td {
    padding: 1.3rem 2.3rem;
    width: 70%;
    background-color: #fafafa;
}
.l-contents-area .clinicList_item .infomation {
    margin-bottom: 7.2rem;
}
/*
---------------------------------------------

    top

*/
.l-mv {
    position: relative;
    width: 100%;
    min-width: 1100px;
    min-height: 451px;
    margin: 0;
    z-index: 1;
}
/*.l-mv-box {
  position: absolute;
  left: 0;
  top: -4rem;
  width: 51%;
  min-width: 800px;
  min-height: 451px;
  background: url(img/mv_bg_01.png) no-repeat right top;
  background-size: auto 100%;
  color: #fff;
}*/
/*.l-mv-box::before {
  position: absolute;
  right: -86rem;
  top: 4rem;
  width: 1115px;
  height: 434px;
  background: url(img/mv_img_01.jpg) no-repeat left top;
  background-size: 100% auto;
  content: "";
  z-index: 10;
}*/
.l-mv-box {
    position: absolute;
    left: 0;
    top: -4rem;
    width: 100%;
    /*min-width: 800px;*/
    min-height: 451px;
    /*background: url(img/mv_bg_01.png) no-repeat right top;
    background-size: auto 100%;*/
    color: #fff;
}
.l-mv-box::before {
    position: absolute;
    right: 0;
    top: 4rem;
    width: calc(100% - 220px);
    height: 434px;
    background: url(img/mv_img_01.jpg) no-repeat left top;
    background-size: cover;
    content: "";
    z-index: -1;
}
.l-mv-box-inner {
    width: fit-content;
    padding: 5rem 0 0 9rem;
}
.l-mv-logo {
    text-align: left;
}

.l-mv-logo img{
    width:200px;
    height: auto;
}

.l-mv-title {
    margin: 5rem 0 1.2rem 0;
    font-size: 2.3rem;
    font-weight: bold;
    line-height: 1.4;
}

.l-mv-title .bg-blue{
    display: block;
    background: #1425bd;
    width: fit-content;
    font-size:4rem;
    padding:0.5rem 1rem;
}

.l-mv-title .bg-black{
    display: block;
    background: #000000;
    width: fit-content;
    font-size:5.2rem;
    padding:0.5rem 1rem;
}

.l-mv-title .bg-black span{
    font-size:60%;
}

.kw{
    max-width: 615px;
}

.l-mv-text {
    line-height: 1.7;
    color:#111111;
    background: #ffffff;
    width: 620px;
    display: block;
    padding:0.5rem;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}


.l-parts01 {
    padding: 0 0 8rem 0;
    background:url(img/3sen_bg.jpg) no-repeat;
    background-size:cover;
    background-position: top left
}
.l-parts01-column3 {
    min-width: 1000px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    position: relative;
}
.l-parts01-column3__box {
    width: calc((100% - 100px) / 3);
}
.l-parts01-column3 .catch-image img {
    width: 100%;
    border-radius: 2rem;
}
.l-parts01-column3 .catch-text {
    margin: 0.5em 0 1em;
    padding: 0 2rem 0;
    color: #0096d2;
    line-height: 1.4;
    font-size: 1.8rem;
    font-weight: bold;
}
.l-parts01-column3 .catch-body {
    padding: 0 2rem;
}
.l-parts01-column3 .tag {
    padding-top: 2rem;
    border-top: solid 1px #ccc;
    display: flex;
    flex-wrap: wrap;
}
.l-parts01-column3 .tag-list {
    margin-right: 1rem;
    display: inline-block;
    border: solid 1px #0096d2;
    padding: 0.5rem 1rem;
    background: none;
    font-size: 1.2rem;
    color: #0096d2;
    position: relative;
}
.l-parts01-column3 .tag-list:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 8px 0 0;
    border-color: #0097d2 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
}
ul.tag {
    margin: 0;
}
li.tag-list {
    background: none;
}
.l-parts000 {
    margin: 2rem 0 6rem;
}

.l-parts02 {
    position: relative;
    padding: 6rem 0;
    background: #e5e8ee;
}

.l-parts02 span{
    background: linear-gradient(transparent 70%, #ffb6b6 70%);
    font-weight: bold;
}

/*.l-parts02 .top_h2 {
    background: url(img/title_bg_01.png) no-repeat center center;
}*/
.l-parts02-white {
    width: 1000px;
    margin: 0 auto 8rem auto;
    padding: 0 0 4rem 0;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.l-parts02-white:last-child {
    margin: 0 auto;
}
.l-parts02-white .l-icon-title {
    margin: 4rem 0 3rem 2.5rem;
}
.l-parts02-white .l-icon-title + p {
    margin: 0 3.5rem;
    /* font-size: 1.4rem; */
}
.l-parts02-white p.btn-web {
    margin: 2rem auto;
}
.l-parts02-white .block-kuchikomi {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.block-kuchikomi .box {
    width: calc((100% - 3rem) / 2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.l-parts02-white .block-kuchikomi .box-head {
    padding: 1.5rem;
    background: #0e1b88;
}
.l-parts02-white .block-kuchikomi .box-head .ttl {
    min-height: 64px;
    padding: 0.5rem 0 0 9rem;
    background: url(img/title_bg_08.png) no-repeat left top;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
}
.l-parts02-white .block-kuchikomi .box-body {
    padding: 2.5rem 2rem;
}
.l-parts02-white .block-kuchikomi .box-body p {
    margin: 0;
}
.l-parts02-white .block-kuchikomi .box-body .caption {
    margin: 1.5rem 0 0 0;
    line-height: 1.6;
    text-align: left;
}
.l-parts02-white__title .catch-title {
    padding: 3rem 2rem;
    background: #1425bd url(img/title_bg_07.png) no-repeat left bottom;
    background-size:auto 60%;
    border-top: 8px solid #0e1b88;
    color: #fff;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}
.l-parts02-white__title .catch-title span{
    font-size: 4.2rem;
	background: none;
}

.l-parts02-white__title.icon-tiou:before {
    background-image: url(img/catch-title-before01.png);
}
.l-parts02-white__title.icon-ote:before {
    background-image: url(img/catch-title-before02.png);
}
.l-parts02-white__title.icon-sikaku:before {
    background-image: url(img/catch-title-before03.png);
}
.l-parts02-white-inner {
    width: 900px;
    margin: 0 auto;
}
.l-parts02-white__column2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 4rem auto;
}
.l-parts02-white__column2 .box {
    width: calc((100% - 3.6rem) / 2);
    padding: 1.2rem 1.6rem;
    border: 6px solid #e4eaf6;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.l-parts02-white__column2 .box span{
    background: linear-gradient(transparent 70%, #ffb6b6 70%);
    font-weight: bold;
}

.l-parts02-white__column2 .box .label {
    margin: 0 0 1rem 0;
    padding: 1.2rem 1.6rem;
    background: #e4eaf6;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}
.l-parts02-white__column2 .box .data {
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.4;
}
.l-parts02-white__column2 .box .data span {
    color: #e24c4c;
    font-size: 4.8rem;
}
.l-parts02-white .title-wrap {
    position: relative;
    margin: 5rem 0 3rem 0;
    text-align: center;
}
.l-parts02-white .title-wrap::before {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 1px;
    background: #aabed9;
    content: "";
}
.l-parts02-white .title-wrap .title {
    position: relative;
    display: inline-block;
    padding: 0 2rem;
    background: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}
.l-parts02-white__column2 .clinic {
    margin: 0 0 2rem;
    padding: 0 0 1rem 0;
    background: url(img/bg-clinic.png) repeat-x left 1rem bottom;
    color: #333333;
    line-height: 1.4;
    font-size: 3rem;
}
.l-parts02-white__column2 .price {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.l-parts02-white__column2 .price-list {
    margin: 0 auto 2.7rem;
    padding: 0;
    padding-left: 4rem;
    width: 100%;
    border-radius: 10px;
    color: #ef928d;
    font-size: 1.8rem;
    background: none;
    border: 5px solid #ef928d;
}
.l-parts02-white__column2 .price-list .category {
    padding-right: 2rem;
    font-size: 4rem;
    display: inline;
    vertical-align: top;
    font-weight: normal;
}
.l-parts02-white__column2 .price-list .data {
    display: inline;
    font-size: 3rem;
}
.l-parts02-white__column2 .price-list .data span {
    color: #ef928d;
    font-size: 9rem;
    font-weight: normal;
    line-height: 1.2;
}
.l-parts02-white__column2__right .tagList {
    margin: 0;
    display: flex;
    justify-content: space-around;
}
.l-parts02-white__column2__right .tagList_item {
    padding: 0;
    width: 30%;
    background: none;
    border: 3px solid #796a56;
    font-size: 2.8rem;
    text-align: center;
    border-radius: 30px;
}
.l-parts02-white__column2__right .tagList_item.off {
    border: 3px solid #dcdcdc;
    color: #dcdcdc;
}
.l-parts02-white__column3 {
    margin-bottom: 3rem;
    display: flex;
    flex-wrap: wrap;
}
.l-parts02-white__column3__box {
    padding: 0 2rem 2rem;
    width: calc((100% - 4rem) / 3);
    margin: 0 2rem 2rem 0;
    background: #f8f5f1;
    border-radius: 20px;
}
.l-parts02-white__column3__box p {
    margin-bottom: 1.7rem;
    font-size: 1.3rem;
}
.l-parts02-white__column3__box:nth-child(3n) {
    margin: 0 0 2rem 0;
}
.l-parts02-white__column3__box .voice-catch {
    margin: 0;
    margin-bottom: 1.7rem;
    padding: 2rem 0 1.7rem 5rem;
    background-image: url(img/bg-clinic.png), url(img/icon_voice.png);
    background-position: left 1rem bottom, left center;
    background-repeat: repeat-x, no-repeat;
    color: #ef928d;
    font-size: 1.8rem;
    line-height: 1.4;
}
/* .l-parts02-white .btn-web {
    margin-top: 1rem;
    min-width: 470px;
} */
.l-parts02-white .title-hasLine {
    margin: 0.5em 0 1em;
    padding: 0 30rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    color: #0096d2;
    position: relative;
}
.l-parts02-white .title-hasLine:before, .l-parts02-white .title-hasLine:after {
    margin: auto;
    content: "";
    display: inline-block;
    width: 33%;
    height: 8px;
    background: url(img/bg-title-voice.png) bottom left repeat-x;
    position: absolute;
    top: 0;
    bottom: 0;
}
.l-parts02-white .title-hasLine:before {
    left: 0;
}
.l-parts02-white .title-hasLine:after {
    right: 0;
}
.l-parts02-white .title-hasLine span {
    color: #333;
    background: #fff;
    font-weight: normal;
}
.l-parts02-white table.infomation th {
    padding: 1.6rem 1.5rem;
    background: #d9f1e9;
    border: 1px #c9c9c9 solid;
    font-weight: normal;
    text-align: center;
}
.l-parts02-white table.infomation td {
    padding: 10px 15px;
    background: #fff;
    border: 1px #c9c9c9 solid;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
}

.l-parts02 .catch_b{
    font-size: 1.8rem;
    color: #1425bd;
    font-weight: bold;
    text-align: center;
	margin: 1.5rem auto 2rem;
	    line-height: 1.4;
}
.infomation .color-red {
    color: #f6716a;
}
.infomation .color-gray {
    color: #c9c9c9;
}
.l-parts03 {
    margin-bottom: 4rem;
    background: #d5eae3;
    padding: 9rem 0;
    position: relative;
}
.l-parts03::before {
    position: absolute;
    bottom: -90px;
    content: "";
    display: block;
    width: 100%;
    height: 179px;
    background: url(img/mv-kumo.png) no-repeat center center;
    z-index: 0;
    background-size: 100% auto;
}
.l-parts03-column3 {
    display: flex;
    flex-wrap: wrap;
}
.l-parts03-column3.whiteBox {
    margin: 4rem 0 0;
}
.l-parts03-column3__box {
    margin: 0 4rem 2rem 0;
    width: calc((100% - 8rem) / 3);
    background: #fff;
    border-radius: 10px;
    position: relative;
}
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
    .l-parts03-column3__box {
        width: 30.6%;
    }
    .l-parts03-column3__tag .tag-list {
        width: 118px;
    }
}
@supports (-ms-ime-align: auto) {
    .l-parts03-column3__box {
        width: 30.6%;
    }
}
.l-parts03-column3__box:nth-child(3n) {
    margin: 0 0 2rem;
}
.l-parts03-column3__line {
    padding: 0 1rem 3rem;
}
.l-parts03-column3__line .btn-internal {
    margin-bottom: 0;
}
.l-parts03-column3__line .btn-internal a {
    width: 100%;
    font-size: 1.5rem;
}
.l-parts03-column3__title {
    margin: 0 0 1em;
    padding: 3.5rem 2rem 3rem;
    border-bottom: 4px dotted #ef928d;
    color: #ef928d;
    font-size: 2.4rem;
    line-height: 1.2;
    text-align: center;
    z-index: 1;
}
.l-parts03-column3__title a {
    padding: 0;
    margin: 0;
    display: block;
    text-decoration: none;
    color: #ef928d;
    text-align: center;
    position: relative;
}
.l-parts03-column3__title a:after {
    margin: auto;
    content: "";
    display: block;
    background: url(img/arrow01_pink.png) no-repeat right top;
    background-size: 10px;
    width: 12px;
    height: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -2rem;
}
.l-parts03-column3__title a:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
}
.l-parts03-column3__image {
    padding: 0 2rem;
    text-align: center;
    font-size: 1rem;
    color: #999;
    line-height: 1.2;
}
.l-parts03-column3__image img {
    width: 100%;
    box-shadow: 5px 5px 0 #ffff00;
}
.l-parts03-column3__image span {
    display: block;
    padding-top: 1rem;
    color: #999;
}
.l-main-area .l-parts03-column3__tag {
    margin: 0;
    padding: 0;
    width: auto;
}
.l-main-area .whiteBox_body {
    padding: 0 2rem;
}
.l-main-area .whiteBox_body .catchBlue {
    margin-bottom: 1.5rem;
    margin-top: 3rem;
    color: #78d8b8;
    line-height: 1.2;
    font-size: 1.8rem;
}
.l-main-area .l-parts03-column3__tag:after {
    content: "";
    display: block;
    clear: both;
}
.l-parts03-column3__tag .tag-list {
    margin: 1rem 0.8rem 0 0;
    padding: 0.9rem 1rem;
    background: #ef928d;
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
    position: relative;
    width: 119px;
    float: left;
    line-height: 1.2;
}
.l-parts03-column3__tag .tag-list.off {
    background-color: #e5e5e5;
}
.l-parts03-column3__tag .tag-list:nth-child(even) {
    margin-right: 0;
}
.l-parts03-column3__tag .tag-list:nth-child(1), .l-parts03-column3__tag .tag-list:nth-child(2) {
    margin-top: 0;
}
.l-main-area .whiteBox .btn-web {
    margin-bottom: 0;
}
.l-main-area .whiteBox .btn-web a {
    width: auto;
}
.l-parts03-column3__info {
    padding: 0 1rem;
    border-radius: 10px;
    background: #fff;
}
.l-parts03-column3__info dl {
    border-bottom: dashed 1px #ccc;
    font-size: 1.4rem;
    display: flex;
}
.l-parts03-column3__info dl:last-child {
    border: none;
}
.l-parts03-column3__info dl dt {
    padding: 1rem;
    width: 30%;
}
.l-parts03-column3__info dl dd {
    padding: 1rem;
    width: 70%;
}
p.l-parts03-column3__title {
    margin: 0 0 2rem;
}
.l-parts04 {
    padding: 4rem 0 6rem;
    margin: auto;
    min-width: 1100px;
    position: relative;
    background: #f2f2f2 url(img/ryokin_bg.png) no-repeat;
    background-size:100% auto;
    background-position: center top;
}
.l-parts04 .l-section-inner {
    position: relative;
    z-index: 0;
}
.l-parts04-listOuter {
    margin-top: 10rem;
}
/*.l-parts04 .top_h2 {
    background: url(img/title_bg_01.png) no-repeat center center;
}*/
.l-parts04-list {
    display: flex;
    margin: 0 0 5rem 5rem;
}
.l-parts04-image {
    margin-right: 5rem;
    position: relative;
}
.l-parts04-image.has-after .image-box {
    position: relative;
}
.l-parts04-image.has-after .image-box::after {
    margin: auto;
    content: "";
    display: block;
    position: absolute;
    bottom: -98px;
    left: 0;
    right: 0;
    width: 10px;
    height: 78px;
    background: url(img/l-parts04-list-after.png) no-repeat left top;
}
.l-parts04-image .label {
    margin: 0;
    padding: 0.1em 1.5rem;
    position: absolute;
    top: 2rem;
    left: 0;
    background: #ffff00;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    color: #0096d2;
    transform: rotate(-10deg);
}
.l-parts04-image .image-box {
    margin: 0;
    width: 279px;
}
.l-parts04-image .image-box img {
    max-width: 100%;
    height: auto;
}
.l-parts04-body {
    width: calc(100% - 260px);
}
.l-parts04-body .catch {
    margin: 0 0 1.9rem;
    padding-bottom: 1rem;
    font-size: 3rem;
    line-height: 1.4;
    color: #333333;
    /* background: url(img/bg-line.png) no-repeat left bottom; */
}
.l-parts04 .tag {
    margin: 0;
}
.l-parts04 .tag .tag-list {
    margin: 0 1rem 1rem 0;
    padding: 0.2rem 1rem;
    display: inline-block;
    background: #fff;
    border: solid 1px #0096d2;
    font-size: 1.2rem;
    color: #0096d2;
    text-align: center;
    position: relative;
}
.l-parts04 .tag .tag-list:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 8px 0 0;
    border-color: #0097d2 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
}
.l-parts05 {
    margin: 0 0 10rem;
}
.l-parts05-column2 {
    display: flex;
    flex-wrap: wrap;
}
.l-parts05 .accordion-item {
    display: none;
}
.l-parts05-box {
    width: calc((100% - 3rem) / 2);
    margin: 0 0 4rem 1rem;
    padding: 2rem 4rem 4rem 2rem;
    border: solid 1px #0096d2;
    border-radius: 10px;
    position: relative;
}
.l-parts05-box:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: #f1fafe;
    border-radius: 10px;
    position: absolute;
    top: -10px;
    left: -10px;
    z-index: -1;
}
.l-parts05-box:nth-child(2n) {
    margin: 0 0 4rem 2rem;
}
.l-parts05-image {
    width: 120px;
    height: 140px;
    float: left;
    font-size: 1.4rem;
}
.l-parts05-image .flame {
    margin-bottom: 1rem;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    box-shadow: 4px 6px 0px 0px #ffff00;
}
.l-parts05-image span {
    padding-left: 1rem;
    color: #333;
    font-weight: normal;
}
.l-parts05-image img {
    width: 100%;
}
.l-parts05-catch {
    font-size: 2.1rem;
    font-weight: bold;
    line-height: 1.4;
    color: #0096d2;
}
.l-parts05 .btn-internal {
    width: 30%;
    margin: 0 auto 5rem auto;
    padding: 2rem 5rem 2rem 3rem;
    display: block;
    background: #0096d2;
    box-shadow: 5px 5px 0 #ccc;
    border-radius: 50px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    color: #fff;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    position: relative;
}
.l-parts05 .btn-internal span {
    color: #fff;
}
.l-parts05 .btn-internal:after {
    content: "";
    width: 12px;
    height: 21px;
    background: url(img/arrow01_white.svg) no-repeat center center;
    background-size: 96%;
    position: absolute;
    top: 35%;
    right: 3rem;
    transform: rotate(90deg);
}
.l-parts05 .btn-internal:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
.l-parts05 .btn-internal.is-open span {
    display: none;
}
.l-parts05 .btn-internal.is-open:after {
    transform: rotate(-90deg);
}
.l-parts05 .btn-internal.is-open:before {
    content: "口コミを閉じる";
}
p.l-parts05-catch {
    margin: 0 0 1rem;
}
p.l-parts05-text {
    margin: 1rem 0 0;
}
.l-parts06 {
    padding: 4rem 0 4rem;
	background: url(img/l-parts_bgt_01.png) no-repeat left top;
    background-size: 40%;
}

.l-parts07 {
    padding: 4rem 0 4rem;
	background: #f3f5fa url(img/l-parts_bgt_02.png) no-repeat right top;
    background-size: 60%;
}

.l-parts08 {
    padding: 4rem 0 4rem;
	background: url(img/l-parts_bgt_03.png) no-repeat left top;
    background-size: 60%;
}

.l-parts07 .box-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.l-parts07 .box-btn .btn {
    width: calc((100% - 4rem) / 3);
    margin: 0 0 2.5rem 0;
    padding: 0;
}
.l-parts07 .box-btn .btn::after {
    display: none;
}
.l-parts07 .box-btn .btn a {
    display: block;
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 1.5rem 3.8rem;
    background: #ffffff url(img/arrow02_black.png) no-repeat right 2rem center;
    border-radius: 5rem;
    box-shadow: 0 6px 0 #8f95a6;
    box-sizing: border-box;
    color: #000;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition: 0.2s;
    background-size: 20px auto;
}
.l-parts07 .box-btn .btn a:hover {
    background: #e0e5fb url(img/arrow02_black.png) no-repeat right 2rem center;
    box-shadow: none;
    text-decoration: none;
    opacity: 1;
    transform: translate(0, 6px);
    background-size: 20px auto;
}
.l-parts06 .frame-wrap {
    margin: 3rem 0;
}
.l-parts06 .frame-wrap .frame-head .ttl {
    padding: 0;
    background: #0e1b88;
}
.l-parts06 .frame-wrap .frame-head .ttl a {
    display: block;
    padding: 2rem 4rem 2rem 2rem;
    background: #e5e8ee url("img/arrow02_blue.png") no-repeat right 2rem center;
    background-size: 13px auto;
    color:#111111;
}
.l-parts06 .frame-wrap .frame-head .ttl a:hover {
    background: #e5e8ee url("img/arrow02_blue.png") no-repeat right 2rem center;
    background-size: 13px auto;
    text-decoration: none;
    opacity: 1;
    filter: brightness(1.03)
}
.l-parts06 .frame-wrap .frame-body table {
    margin: 0 0 1rem 0;
    font-size: 1.4rem;
}
.l-parts06 .frame-wrap .frame-body table th {
    width: 45%;
    padding: 0.5rem;
}
.mb1{
    margin-bottom: 2rem!important;
}
.l-parts06 .frame-wrap .frame-body table td {
    width: 55%;
    padding: 0.5rem;
}
.l-parts06 .frame-wrap .frame-body table td span {
    color: #f6716a;
    font-size: 2.5rem;
    font-weight: bold;
}
.l-parts06 .frame-wrap .frame-body .box-address {
    margin: 2rem 0 0 0;
    padding: 1.2rem 0 0 0;
    border-top: 2px solid #b5bcc6;
}
.l-parts06 .frame-wrap .frame-body .box-address .ttl {
    margin: 0 0 0.6rem 0;
    padding: 0 0 0 3rem;
    background: url(img/title_bg_02.png) no-repeat left top;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
}
.l-parts06 .accordion-item .frame-wrap {
    margin: 0;
}
.accordion-item {
    display: none;
}
.accordion-btn,.of-btn {
    position: relative;
    width: 460px;
    height: 56px;
    margin: 0 auto 4rem auto;
    background: #ffffff;
    border:3px solid #c0c3ca;
    box-shadow: 0 6px 0 #a0a4ac;
    border-radius: 5rem;
    font-size: 1.6rem;
    transition: 0.2s;
    line-height: 1.1;
    text-align: center;
    cursor: pointer;
}
.accordion-btn:hover,.of-btn:hover {
    background: #ffffff;
    box-shadow: none;
    text-decoration: none;
    opacity: 1;
    transform: translate(0, 6px);
}
.accordion-btn::before,.of-btn::before {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    content: "＋";
}
.accordion-btn::after,.of-btn::after {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.6rem;
    font-weight: bold;
    content: "もっと見る";
}

.of-btn::after{
    content: "続きを読む";
}

.accordion-btn.is-open::before,.of-btn.is-open::before {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    content: "ー";
}
.accordion-btn.is-open::after,.of-btn.is-open::after {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    content: "閉じる";
}

.table-overflow {
    max-height: 300px; /* 初期状態での最大高さ */
    overflow: hidden; /* 内容が溢れたら隠す */
    transition: max-height 0.3s ease-out; /* 高さ変更のアニメーション */
    position: relative;
}

.table-overflow:after{
    content:"";
    display: block;
    height:180px;
    width: 100%;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.795197302553834) 50%, rgba(255,255,255,1) 100%);
    position: absolute;
    bottom:0;
    left:0;
}

.l-parts04 .table-overflow:after{
    background: linear-gradient(180deg, rgba(242,242,242,0) 0%, rgba(242,242,242,0.795197302553834) 50%, rgba(242,242,242,1) 100%);
}

.table-overflow.is-open:after{
    content:none;
}

.l-parts04 .btn-internal a{
    background: #0e1b88 url(img/arrow02_white_back.png) no-repeat right 2rem center;
    background-size: 12px auto;
}

.l-parts04 .btn-internal a:hover{
    background: #3744ad url(img/arrow02_white_back.png) no-repeat right 2rem center;
    background-size: 12px auto;
}



/*
---------------------------------------------

  threeColumnBox
  3つ並びBOX
*/
.top .threeColumnBox_txt {
    margin: 0 auto;
    margin-bottom: 3.3rem;
    width: 95%;
    color:#ffffff;
}
.threeColumnBox_ttl {
    position: relative;
    margin: 0 0 3rem 0;
    padding: 6rem 2rem 2rem 2rem;
    font-size: 5rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    color:#ffffff;
}
.threeColumnBox_ttl span {
    color: #8e99ff;
    font-size: 2.5rem;
}
.threeColumnBox_ttl span.large {
    font-size: 5rem;
}
.top .threeColumnBox_ttl:after {
    content: none;
}
.threeColumnBox_ttl:before {
    margin-right: 1rem;
    left: 0;
}
.threeColumnBox_ttl:after {
    margin-left: 1rem;
    right: 0;
}
.top .threeColumnBox_ttl .ss-ttl {
    font-size: 1.5rem;
    color: #333333;
}

.l-main-area .threeColumnBox ul{
    margin: 0;
}

.jisseki-ttl{
    font-weight:bold;
    font-size:2rem;
    color:#293ad1;
    display: flex;
    align-items: center;
}

.jisseki-ttl:before{
    content:"";
    display: block;
    width:27px;
    aspect-ratio:1/1;
    background:url(img/icon_check.png) no-repeat;
    background-size: cover;
    margin-right: 1rem;
}

.jisseki p{
    margin-top:0.5rem;
}

.threeColumnBox .btn-internal{
    margin-top:3rem;
    margin-bottom:1rem;
}

.threeColumnBox .comments {
    margin: 0;
    font-size: 1.2rem;
    text-align: left;
    color: #ffffff;
}
.threeColumnBox_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 2rem 0;
}
.threeColumnBox_inner::after {
    display: block;
    width: 31%;
    content: "";
}
.threeColumnBox_item {
    width: 31%;
    padding: 0 0 2.5rem;
    background: #ffffff;
    border-top: 11px solid #0e1b88;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.threeColumnBox_item .box-num {
    margin: 0 0 1.5rem 0;
    background: #f1f4fb;
    color: #000;
    font-size: 1.5rem;
    line-height: 1.4;
    border: 5px solid #e4eaf6;
    padding:2rem;
    padding-bottom:0.8rem;
}

.threeColumnBox_item .box-num span{
    background:linear-gradient(transparent 70%, #ffb6b6 70%);
    font-weight: bold;
}

.threeColumnBox_item .box-num .box-head {
    background: #fbe7bf;
    padding: 1rem;
}
.threeColumnBox_item .box-num .box-body {
    padding: 0.5rem 1rem;
}
.threeColumnBox_item .box-num .box-body span {
    color: #e24c4c;
    font-size: 4rem;
}
.threeColumnBox_item .box-feature {
    margin: 3rem 0 0 0;
    color: #fff;
}
.threeColumnBox_item .box-feature .box-head {
    margin: 0 0 0.5rem 0;
    padding: 0 0 0 3.2rem;
    background: url(img/title_bg_02.png) no-repeat left center;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
}
.threeColumnBox_item .box-feature .box-body p {
    margin: 0;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.6;
}
.threeColumnBox_item .box-feature .box-body p span {
    color: #f2aa1e;
    font-size: 1.6rem;
    font-weight: bold;
}
.threeColumnBox_item .btn-web {
    margin: 2rem auto 1rem auto;
}
.threeColumnBox_name, .threeColumnBox_name a {
    margin: 0 0 2rem 0;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
}
.threeColumnBox_name a {
    text-decoration: none;
}

.three-padding{
    padding:0 2rem;
}

.three-padding img{
    width: 100%;
    height:auto;
}

.l-main-area .three-padding .float-wrap .float-img.ct{
    width:auto;
}

.l-main-area .three-padding .float-wrap{
    margin-bottom: 1rem;
}

.three-h3 span{
    color:#8f95a6;
    font-size: 70%;
	background: none;
}

.three-h3{
    font-size:2.5rem;
    font-weight: bold!important;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 2rem!important;
}

.l-parts02-white-inner .three-h3{
    font-size:3rem;
    margin-top:3rem;
    margin-bottom:3rem;
}

.three-half-wrapper{
    display: flex;
    flex-wrap: wrap;
    gap:3rem;
}

.three-half-box{
    width:calc((100% - 3rem)/2);
    filter:drop-shadow(0px 0px 5px #bfced6);
    background:#ffffff;
}

.th-ttl{
    background:#212224;
    color:#ffffff;
    padding:1rem 2rem;
    font-weight: bold;
    font-size:2rem;
}

.th-ttl span{
    display: flex;
    align-items: center;
	background: none;
}

.th-ttl span:before{
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    aspect-ratio: 1 / 1;
    background: url(img/icon_check_big.png) no-repeat;
    background-size: cover;
    margin-right: 3rem;
}

.th-inner{
    padding:1.5rem;
}
.th-inner .caption{
    text-align: left;
}

.tag-wrapper{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:1rem;
}

.tag-wrapper div{
    background:#0e1c99;
    color:#ffffff;
    padding:0.5rem 1rem;
    font-weight: bold;
}








.threeColumnBox_name{
    background:#1425bd;
    padding:1rem 1rem 1.5rem;
}

.threeColumnBox_name span{
    font-size:3rem;
}

.threeColumnBox_blueBox {
    padding: 1.7rem 1rem;
    background-color: #d5eae3;
    text-align: center;
    color: #796a56;
    line-height: 1;
    font-size: 2rem;
}
.threeColumnBox_blueBox span {
    color: #796a56;
    font-weight: normal;
    font-size: 1.5rem;
}
.threeColumnBox_blueBox .small {
    font-size: 2.4rem;
    display: inline-block;
    vertical-align: top;
}
.threeColumnBox_blueBox .big {
    font-size: 3.5rem;
}
.threeColumnBox .threeColumnBox_tag {
    margin: 2.3rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.threeColumnBox .threeColumnBox_tag li {
    padding: 0.9rem 0 0.7rem;
    background-image: none;
    border-radius: 30px;
    border: 1px solid #f6716a;
    color: #f6716a;
    font-weight: bold;
    text-align: center;
    width: 48%;
    font-size: 1.3rem;
    background: #f8f4f1;
    box-shadow: 1px 2px 4px 0px #cccccc;
}
.threeColumnBox .threeColumnBox_tag .off {
    border: 1px solid #dcdcdc;
    color: #dcdcdc;
    background: #ffffff;
    box-shadow: none;
}
.threeColumnBox .btn-web a,.threeColumnBox .btn-internal a {
    width: 100%;
}

.threeColumnBox .btn-internal a{
    background: #0e1b88 url("img/arrow02_white_down.png") no-repeat right 2rem center;
    background-size: 10px auto;
}

.lower-bottom .threeColumnBox .btn-internal a{
    background: #0e1b88 url(img/arrow02_white.png) no-repeat right 2rem center;
    background-size: 10px auto;
}

.threeColumnBox .btn-internal a:hover{
    background: #3744ad url("img/arrow02_white_down.png") no-repeat right 2rem center;
    background-size: 12px auto;
}

.lower-bottom .threeColumnBox .btn-internal a:hover{
    background: #3744ad url(img/arrow02_white.png) no-repeat right 2rem center;
    background-size: 12px auto;
}


.lowerBottom .threeColumnBox_ttl {
    border-bottom: none;
    border-top: none;
}
/*
---------------------------------------------

  utility
  補助クラス上書き厳禁
*/
.u-mb5 {
    margin-bottom: 7rem !important;
}
.u-mb15 {
    margin-bottom: 15rem !important;
}
.u-mt15 {
    margin-top: 15rem !important;
}
.u-left {
    float: left;
}
.u-right {
    float: right;
}
/*
---------------------------------------------

    contacts

*/
.l-contents-area .contact {
    margin: 1rem auto;
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 80%;
}
.l-contents-area .contact li {
    margin: 0;
    padding: 0;
    width: 30%;
    background-image: none;
}
.l-contents-area .contact a {
    display: block;
}
.l-contents-area .contact a:hover {
    opacity: 0.7;
}
/*
---------------------------------------------

dlList

*/
.dlList {
    margin: 0 auto;
    width: 90%;
}
.dlList_item {
    display: flex;
    flex-wrap: wrap;
}
.dlList_item .dlList_head {
    padding: 0 4rem 0 3rem;
    margin: 0 0 1em 0;
    width: 60%;
    background: url(img/icon_li.png) no-repeat 0 4px;
}
.dlList_item .dlList_txt {
    margin: 0;
    width: 40%;
    word-break: break-all;
    display: block;
}
/*
---------------------------------------------

tblArea

*/
.l-common-lead + .tblArea {
    margin-top: 10rem;
}
.tblArea {
    margin-top: 8rem;
}
/*
---------------------------------------------

tbl-fixed

*/
.tbl-hasHeading {
    table-layout: fixed;
}
.tbl-hasHeading th, .tbl-hasHeading td {
    text-align: center;
}
.tbl-hasHeading .firstColumn th {
    background-color: #9ed2c1;
    color: #ffffff;
}
/*
---------------------------------------------

summary

*/
.summary {
    margin-top: 7rem;
    padding: 3.6rem 3.7rem 3rem;
    background-color: #fff;
    border: 4px dotted #ef928d;
    border-radius: 30px;
}
.summary_head {
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.summary_left {
    width: 30%;
}
.summary_right {
    width: 65%;
}
.summary_right_catch {
    color: #f6716a;
    font-weight: normal;
    font-size: 1.8rem;
}
.summary .btn-img {
    margin: 0;
}
/*
---------------------------------------------

labelBox

*/
.l-main-area--low .labelBox {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
    padding: 3rem 2rem 4rem;
    border: 4px dotted #9ed2c1;
    border-radius: 30px;
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}
.labelBox {
    margin-top: 15rem;
    margin-bottom: 4rem;
    padding: 3rem 2rem 4rem;
    border: 4px dotted #ffffff;
    border-radius: 30px;
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}
.labelBox_label {
    padding: 1.8rem 0 1.5rem;
    margin: auto;
    position: absolute;
    top: -3.5rem;
    left: 0;
    right: 0;
    background-color: #ffffff;
    width: 150px;
    color: #ef928d;
    text-align: center;
    font-size: 3rem;
    line-height: 1;
    border-radius: 30px;
}
.labelBox_head {
    margin-bottom: 2rem;
    text-align: center;
    color: #333333;
    font-size: 3.6rem;
}
.labelBox_catch {
    color: #ef928d;
    font-weight: normal;
    font-size: 1.8rem;
}
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
    .threeColumnBox_ttl, .l-main-area ol li:before, .footMenu .menuRight a, .l-main-area .l-icon-title, .l-main-area .l-icon-title.has-cloud, .l-main-area .l-icon-title.has-cloud a, .l-main-area .l-number-wrapper .l-icon-title:before, .l-main-area .box-wrap .box-head a, .l-main-area .frame-wrap .frame-head, .l-contents-area .clinicList_head, .l-contents-area .clinicList_heading2, .l-contents-area .clinicList_item .clinicList_item_sttl, .l-contents-area .clinicList_item_foot .contactOuter_head, .l-mv-title, .l-mv-check, .l-parts01-column3 .catch-text, .l-parts02-white__title .catch-title, .l-parts02-white__column2 .clinic, .l-parts02-white__column2 .price-list, .l-parts02-white__column3__box .voice-catch, .l-parts02-white .title-hasLine span, .l-parts02-white table.infomation td, .l-parts03-column3__title, .l-main-area .whiteBox_body .catchBlue, .l-parts04-body .catch {
        font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    }
}
/*
---------------------------------------------

    診断テスト

*/
.page-flow {
    margin: 0;
    border-radius: 5px;
    background: #fff;
    border: 4px dotted #d9f1e9;
    box-shadow: 0 0 0 17px #fff;
    position: relative;
    font-weight: normal;
}
.l-mv .page-flow {
    display: none;
}
.page-flow_head {
    margin: 0 auto 3rem;
    padding: 0;
    color: #333333;
    width: 605px;
    top: 0;
    position: relative;
    background: none;
    font-weight: normal;
}
.page-flow-a {
    position: relative;
}
.page-flow-a .page-flow_head {
    margin: 0 auto 3rem;
    padding: 0;
    width: 605px;
    top: 0;
    position: relative;
    background: none;
}
.page-flow_head_top {
    font-size: 1.6rem;
    text-align: center;
}
.page-flow_head_middle {
    font-size: 1.6rem;
    margin: 1rem 0;
}
.page-flow_head_bottom {
    font-size: 3.6rem;
}
.page-flow-Wrapper {
    font-weight: bold;
    text-align: center;
    position: relative;
    display: none;
}
.page-flow-Wrapper.first {
    padding: 1rem 0 3.5rem;
    display: block;
    background-image: url(img/page-flow-next_left.png), url(img/page-flow-next_right.png);
    background-position: left 1rem bottom, right 1rem bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: 224px, 260px;
}
.page-flow-title {
    position: relative;
}
.page-flow-title:before, .page-flow-title:after {
    content: "";
    display: block;
    background: no-repeat left top;
    background-size: contain;
    position: absolute;
    bottom: -50px;
}
.page-flow .page-flow_txt, .page-flow-a .page-flow_txt {
    margin: 0 auto 3rem;
    max-width: 550px;
    font-weight: normal;
    text-align: left;
    display: block;
    height: auto;
}
.page-flow-a:before, .page-flow-Wrapper:before {
    margin: auto;
    content: "";
    display: block;
    position: absolute;
    top: -8rem;
    left: 0;
    right: 0;
    width: 312px;
    height: 194px;
    background: url(img/bg-page-flow_head.png) no-repeat center top;
    background-size: contain;
    z-index: 0;
}
.page-flow-title-btn {
    padding: 0px 62px;
}
.page-flow-title-btn:hover {
    opacity: 0.7;
    cursor: pointer;
}
.page-flow-title-btn a {
    display: block;
    position: relative;
    padding: 17px 15px 13px;
    color: #fff !important;
    font-size: 20px;
    background: #769f37;
    border: #fff 3px solid;
    border-radius: 4px;
    box-shadow: 2px 2px 2px #888;
    text-decoration: none !important;
}
.page-flow-title-btn a:after {
    content: "";
    position: absolute;
    top: 41%;
    right: 13px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
}
.page-flow-title-btn a:hover {
    text-decoration: none;
    background: #568016;
}
.page-flow-q {
    display: none;
    position: relative;
}
.page-flow-q .page-flow_txt {
    max-width: 510px;
}
.page-flow-q:before, .page-flow-q:after {
    content: "";
    display: block;
    background: no-repeat left top;
    position: absolute;
    top: 88px;
    background-size: contain;
}
.page-flow-q:before {
    background-image: url(img/page-flow-last_left.png);
    left: 30px;
    right: auto;
    width: 174px;
    height: 219px;
}
.page-flow-q:after {
    background-image: url(img/page-flow-last_right.png);
    right: 15px;
    width: 187px;
    height: 220px;
    top: 69px;
}
.page-flow-q_head {
    margin: 0 auto;
    max-width: 470px;
    color: #333333;
    font-weight: normal;
}
.page-flow-q_top {
    padding: 1rem 0 2rem;
    margin-top: 2rem;
    margin-bottom: 2.2rem;
    font-size: 3.6rem;
    border-bottom: 4px dotted #d9f1e9;
    background: url(img/threeColumnBox_item-after.png) no-repeat center top 6px;
    text-align: center;
}
.page-flow-q_bottom {
    margin-bottom: 3.5rem;
    font-size: 2.5rem;
}
.page-flow-q-title {
    padding: 0 0 10px 0;
    color: #3d799d;
    font-size: 28px;
    font-weight: bold;
    border-bottom: #ddd 5px solid;
}
.page-flow-q-title span {
    display: inline-block;
    margin: 0 0 0 10px;
    width: 50px;
    height: 50px;
    color: #fff;
    line-height: 50px;
    background: #3d799d;
    border-radius: 25px;
}
.page-flow-q-btn {
    padding: 0 5rem 2rem;
}
.page-flow-q-btn ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.l-column3 > * {
    width: 31.5%;
}
.l-column2 > * {
    width: 48.5%;
}
.page-flow-Wrapper .page-flow-q-btn li {
    padding: 2.8rem 4rem;
    margin-top: 2rem;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #d9f1e9;
    color: #333333;
    background-image: none;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: normal;
    position: relative;
    border-radius: 25px;
}
.page-flow-Wrapper .page-flow-q-btn .l-column2 li:nth-child(1), .page-flow-Wrapper .page-flow-q-btn .l-column2 li:nth-child(2) {
    margin-top: 0;
}
.page-flow-Wrapper .page-flow-q-btn li:hover {
    opacity: 0.7;
    cursor: pointer;
}
.page-flow-Wrapper .page-flow-q-btn li:after {
    margin: auto;
    position: absolute;
    content: " ";
    display: block;
    border-top: 4px solid #ef928d;
    border-right: 4px solid #ef928d;
    top: 0;
    bottom: 0;
    right: 17px;
    width: 15px;
    height: 15px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.page-flow-q-btn a {
    float: left;
    display: block;
    position: relative;
    width: 38%;
    padding: 15px;
    color: #fff !important;
    font-size: 20px;
    background: #769f37;
    border: #fff 3px solid;
    border-radius: 4px;
    box-shadow: 2px 2px 2px #888;
    text-decoration: none !important;
}
.page-flow-q-btn a:last-child {
    float: right;
}
.page-flow-q-btn a:after {
    content: "";
    position: absolute;
    top: 41%;
    right: 13px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
}
.page-flow-q-btn a:hover {
    text-decoration: none;
    background: #568016;
}
.page-flow-a {
    padding: 1rem 0 3.5rem;
    display: none;
    background-image: url(img/page-flow-first_left.png), url(img/page-flow-first_right.png);
    background-position: left 1rem bottom, right 1rem bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: 200px, 230px;
}
.page-flow-a-title {
    padding: 0 0 10px 0;
    color: #3d799d;
    font-size: 28px;
    font-weight: bold;
    border-bottom: #ddd 5px solid;
}
.page-flow-a-title span {
    display: inline;
    margin: 0 10px 0 0;
    padding: 2px 5px;
    color: #fff;
    font-size: 16px;
    background: #3d799d;
    border-radius: 4px;
    vertical-align: middle;
}
.page-flow-a-subtitle {
    margin: 0 10px;
    font-size: 34px;
}
.page-flow-a-subtitle span {
    line-height: 4;
}
.page-flow-a p {
    display: table-cell;
    width: 670px;
    height: 100px;
    vertical-align: middle;
}
.page-flow-a-btn {
    float: left;
    width: 62%;
}
.page-flow-a-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    font-size: 27px;
    background: #e5918f;
    border-radius: 20px;
    text-decoration: none;
    text-align: center;
    line-height: 1.2;
    height: 112px;
}
.page-flow-a-btn a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5rem;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
    margin: auto;
}
.page-flow-a-btn a:hover {
    opacity: 0.7;
}
.btn {
    padding: 0 19rem;
}
.btn:after {
    content: "";
    display: block;
    clear: both;
}
.reset_btn {
    height: 112px;
    float: right;
    text-align: center;
    width: 34%;
    font-size: 2.7rem;
    line-height: 1.2;
    color: #65ab9a;
    background-color: #dbf2ea;
    border: 5px solid #a3d4c4;
    position: relative;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.reset_btn:hover {
    opacity: 0.7;
    cursor: pointer;
}
.reset_btn:after {
    margin: auto;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.1rem;
    border-top: 3px solid #9ed2c1;
    border-right: 3px solid #9ed2c1;
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
}
.reset_btn a:hover {
    text-decoration: none;
    background: #242f40;
}
.btn00:after {
    content: "";
    display: block;
    clear: both;
}
/*--------------------------------------
	toc_parts
---------------------------------------*/
.toc_parts {
    width: 800px;
    background-color :#eef1f6;
    margin:0 auto;
    padding: 3rem 5rem;
    box-sizing: border-box;
}

 .l-main-area--low .toc_parts {
    margin:4rem auto;
}

.toc_parts .ttl {
    padding: 0 0 0 1rem;
    font-size: 2rem;
    font-weight: bold;
    border-left: 4px solid #293ad1;
    cursor: pointer;
    position: relative;
}
#toc {
    margin: 1.5rem 0 0 0;
    padding: 0 2rem 0;
    border-top: 1px solid #58585e;
    display: none;
}
#toc .chapter {
    margin: 0 0 2rem;
    counter-reset: count;
}
#toc .chapter .chapter-h {
    margin: 2rem 0 0;
    padding: 0 0 0 3.5rem;
    font-size: 1.6rem;
    line-height: 1.8;
    position: relative;
    counter-increment: count;
    background: none;
}
#toc .chapter .chapter-h:last-child {
    margin-bottom: 0;
}
#toc ul.chapter .chapter-h::before {
    content: counter(count, decimal-leading-zero);
    position: absolute;
    top: 14px;
    left: 0;
    transform: translate(0, -50%);
    color: #676a7e;
    font-size: 2rem;
    font-weight: bold;
    background: none;
    width: auto;
    height: auto;
    border-radius: 0;
}
#toc .chapter .chapter-h a {
    font-weight: bold;
    text-decoration: none;
}
#toc .chapter .chapter-h a:hover {
    opacity: .6;
}
#toc .chapter .chapter-h span {
    color: #0b072b;
    font-weight: bold;
}
#toc li.chapter-h.chapter-h-three {
    margin: 1rem 0 1rem 4rem;
    padding: 0 0 0 1.5rem;
    counter-increment: none;
}
#toc li.chapter-h.chapter-h-three::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: solid 1px #0b072b;
    border-right: solid 1px #0b072b;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
#toc li.chapter-h.chapter-h-three a {
    font-weight: 400;
}
#toc li.chapter-h.chapter-h-three span {
    font-weight: 400;
}
#toc .chapter br {
    display: none;
}
.toc_parts .ttl::after {
    content: "";
    background: url(img/arrow01_plus.svg) center no-repeat;
    background-size: 100% auto;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
}
.toc_parts .ttl.btn::after {
    background: url(img/arrow01_minus.svg) center no-repeat;
    background-size: 100% auto;
}



.lower-bottom{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
	margin-top: 10rem;
}



/*
---------------------------------------------

    smartphone settings

*/
@media screen and (max-width: 599px) {
    body {
        min-width: 100%;
        min-width: inherit;
        font-size: 1.4rem;
    }
    .forPC {
        display: none;
    }
    .forSP {
        display: block;
    }
    .pc_br {
        display: none;
    }
    .sp_br {
        display: block;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    .u-mb5 {
        margin-bottom: 2rem !important;
    }
    .u-mb15 {
        margin-bottom: 5rem !important;
    }
    /*
---------------------------------------------


/*
---------------------------------------------

  utility
  補助クラス上書き厳禁
*/
    .u-mb15 {
        margin-bottom: 2rem !important;
    }
    .u-mt15 {
        margin-top: 2rem !important;
    }
    .u-left, .u-right {
        float: none;
    }
    /*
---------------------------------------------


*/

    .l-main-area{
        margin: 0 auto 3.5rem 0;
    }
    .l-main-area p {
        margin: 2rem 0;
        font-size: 1.4rem;
    }
    .l-main-area--low strong, .l-main-area--low p > span {
        font-size: 1.5rem;
    }
    /* .l-main-area .top_h2 {
        margin: 0 0 2rem;
        padding: 5rem 2rem 5rem;
        font-size: 2.2rem;
    }

    .l-main-area .top_h2 a {
        background-size: 8px 16px;
    }

    .l-main-area .top_h2:after {
        height: 30px;
    }

    .l-main-area .top_h3 {
        font-size: 2rem;
    }

    .l-main-area .top_h3 a {
        background-size: 8px 16px;
    }

    .l-main-area .top_h4 {
        font-size: 1.8rem;
    }

    .l-main-area .top_h4 a {
        background-size: 7px 15px;
    }

    .l-main-area h2 {
        font-size: 2.4rem;
    }

    .l-main-area h3 {
        font-size: 2rem;
    } */
    .l-main-area ul {
        margin: 0;
        font-size: 1.4rem;
    }
	.l-main-area ul li {
    background: url(img/icon_li.png) no-repeat left 0.2rem top 0.5rem;
		background-size: 15px auto;
}
    .l-main-area ol {
        margin: 3rem 0;
        font-size: 1.4rem;
    }
    .l-main-area .l-parts03-column3__tag {
        width: 100%;
    }
    .l-parts03-column3__tag .tag-list {
        width: 48%;
    }
    /* .l-main-area table {
    width: 100%;
    margin: 30px auto 20px;
    display: block;
    border-top: 1px #d3d3d3 solid;
    font-size: 1.4rem;
  }

  .l-main-area table tr {
    width: 100%;
    display: block;
  }

  .l-main-area table th {
    width: 100%;
    display: block;
    border-top: none;
  }

  .l-main-area table td {
    width: 100%;
    display: block;
    border-top: none;
  }

  .l-main-area table thead {
    width: 100%;
    display: block;
  }

  .l-main-area table thead th {
    width: 100%;
    display: block;
  }

  .l-main-area table thead td {
    width: 100%;
    display: block;
  }

  .l-main-area table tbody {
    width: 100%;
    display: block;
  }

  .l-main-area table tbody th {
    width: 100%;
    display: block;
  }

  .l-main-area table tbody td {
    width: 100%;
    display: block;
  } */
    .l-main-area table {
        margin: 3rem auto;
    }
	.l-main-area table th {
    min-width: 100px;
}
	.lower-bottom {
    margin-top: 3rem;
}
	
	.partsRelatedlinks .title {
    font-size: 1.6rem;
		margin: 0 0 2rem;
}
	.partsRelatedlinks {
    padding: 1.5rem 2.5rem 1.5rem;
}
	
	 .partsRelatedlinks .btn-link a {
    display: inline-block;
    position: relative;
		 width: 100%;
    margin: 0;
    min-height: 23px;
    padding: 0.2rem 0 0.2rem 3rem;
    background: url(img/arrow_link.png) no-repeat left center;
    background-size: 18px auto;
    color: #2f3235;
    font-size: 1.5rem;
    line-height: 1.4;
		 border: none;
		 font-weight: 400;
		 text-align: left;
    border-radius: none;
    box-shadow: none;
    text-decoration: underline;
}
	
	.partsRelatedlinks .btn-link {
    margin: 1rem auto;
}
	
    /*--------------------------------------
btns
---------------------------------------*/
    .btn-web, p.btn-web {
        margin: 3rem auto;
        padding: 0;
        text-align: center;
    }
    .btn-web a {
        display: inline-block;
        position: relative;
        width: 90%;
        margin: 0 auto;
        padding: 1.5rem 2.5rem;
        background: #f03d2a url(img/arrow02_white.png) no-repeat right 1.2rem center;
        background-size: 12px auto;
        border-radius: 5rem;
        box-shadow: 0 6px 0 #c62615;
        box-sizing: border-box;
        color: #fff;
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
    }
    .btn-web a:hover {
        background: #f03d2a url(img/arrow02_white.png) no-repeat right 1.2rem center;
        background-size: 12px auto;
        border-radius: 5rem;
        box-shadow: 0 6px 0 #c62615;
        text-decoration: none;
        opacity: 1;
        transform: none;
        transition: none;
    }
    .btn-internal, p.btn-internal {
        margin: 3rem auto;
        padding: 0;
        text-align: center;
    }
    .btn-internal a {
        display: inline-block;
        position: relative;
        width: 90%;
        margin: 0 auto;
        padding: 1.5rem 2.5rem;
        background: #0e1b88 url(img/arrow02_white.png) no-repeat right 1.2rem center;
        background-size: 12px auto;
        border-radius: 5rem;
        box-shadow: 0 6px 0 #040d58;
        box-sizing: border-box;
        color: #fff;
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
    }
    .back .btn-internal a {
        background: #0e1b88 url(img/arrow02_white_back.png) no-repeat right 1.5rem center;
        background-size: 10px auto;
    }
    .btn-internal a:hover {
        background: #0e1b88 url(img/arrow02_white.png) no-repeat right 1.2rem center;
        background-size: 12px auto;
        border-radius: 5rem;
        box-shadow: 0 6px 0 #8f95a6;
        text-decoration: none;
        opacity: 1;
        transform: none;
        transition: none;
    }
    .btn-link, p.btn-link {
        margin: 3rem auto;
        padding: 0;
        text-align: center;
    }
    .btn-link a {
        display: inline-block;
        position: relative;
        width: 90%;
        margin: 0 auto;
        padding: 1.5rem 2.5rem;
        background: #fff url(img/arrow02_black.png) no-repeat right 1.2rem center;
        background-size: 12px auto;
        border: 2px solid #303030;
        border-radius: 5rem;
        box-shadow: 0 6px 0 #303030;
        box-sizing: border-box;
        color: #000;
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
    }
    .btn-link a:hover {
        color: #000;
        text-decoration: none;
        opacity: 1;
    }
    .btn-tel, p.btn-tel {
        display: block;
        margin: 3rem auto;
        padding: 0;
        text-align: center;
    }
    .btn-tel a {
        display: inline-block;
        position: relative;
        width: 90%;
        margin: 0 auto;
        padding: 1.5rem 3.8rem;
     background: #2ed02e url(img/icon_tel.png) no-repeat 1.2rem center;
    background-size: 24px auto;
    border-radius: 5rem;
    box-shadow: 0 6px 0 #0c960c;
        box-sizing: border-box;
        color: #fff;
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
    }
    .btn-tel a:hover {
        text-decoration: none;
        opacity: 1;
    }
    .l-main-area .btn-img {
        overflow: hidden;
    }
    .l-main-area .btn-img img {
        margin-left: -35vw;
        max-width: none;
        width: 150vw;
    }
    .l-main-area .btn-img a {
        padding: 0;
        background: none;
        border: 0;
    }
    
    .last-btn{
        margin-top: 1rem !important;
    }
    .l-main-area .float-wrap {
        width: 100%;
        margin: 10px auto 30px;
        font-size: 1.4rem;
    }
    .l-main-area .float-wrap .float-img {
        text-align: center;
    }
    .l-main-area .float-wrap .float-img.fr {
        width: 100%;
        margin: 0 0 20px;
        float: none;
    }
    .l-main-area .float-wrap .float-img.fl {
        width: 100%;
        margin: 0 0 20px;
        float: none;
    }
    .l-main-area .float-wrap .float-img.ct {
        width: 100%;
    }
    .l-main-area .float-wrap .float-img.t_small {
        width: 40%;
    }
    .l-main-area .float-wrap .float-img.fr.t_small {
        margin: 0 0 20px 10px;
        float: right;
    }
    .l-main-area .float-wrap .float-img.fl.t_small {
        margin: 0 20px 10px 0;
        float: left;
    }
    .l-main-area .box-wrap {
        display: block;
        margin: 6rem 0;
        font-size: 1.4rem;
    }
    .l-main-area .box-wrap .box {
        width: 100%;
        margin: 0 0 4rem 0;
        padding: 3rem 1.5rem 1.5rem 1.5rem;
    }
    .l-main-area .box-wrap .box:last-child {
        margin: 0;
    }
    .l-main-area .box-wrap .box::before {
        top: -3rem;
        width: 48px;
        height: 46px;
    }
    .l-main-area .box-wrap .box-head .ttl {
        font-size: 2rem;
    }
    .l-main-area .frame-wrap {
        display: block;
        margin: 6rem 0;
        font-size: 1.4rem;
    }
    .l-main-area .frame-wrap .frame {
        width: 100%;
        margin: 0 0 3rem 0;
    }
    .l-main-area .frame-wrap .frame:last-child {
        margin: 0;
    }
    .l-main-area .frame-wrap .frame-head .ttl {
        font-size: 1.8rem;
    }
    .l-main-area .l-icon-title {
        width: 100%;
        margin: 3rem 0 2rem;
        padding: 1rem 1rem 1rem 6.4rem;
        background-size: 200px auto;
        line-height: 1.4;
        font-size: 1.8rem;
    }
    .l-main-area .l-icon-title.has-cloud {
        font-size: 2rem;
    }
    .l-main-area .l-icon-title.has-cloud:before {
        width: 60px;
        background-size: contain;
        left: 0;
    }
    .l-main-area .l-icon-title:before {
        width: 60px;
        height: 60px;
        background-size: 100% auto;
        font-size: 1rem;
        left: -0.6rem;
    }
    .l-main-area .l-number-wrapper .l-icon-title:before {
        padding: 0;
        font-size: 2.8rem;
    }
	
	.l-parts000 {
    margin: 0 0 4rem;
}
	
    /* low ----------------*/
	.l-header-logo img {
    width: 15rem;
}
	
	 .l-main-area--low .toc_parts {
    margin:2rem auto;
}

    .l-main-area--low h1 {
        margin: 1rem 0 3rem;
        padding: 2rem 0;
        font-size: 2.4rem;
        background-size: 100% auto;
    }
    .l-main-area--low h1::after {
        bottom: 0;
    }

    .l-main-area--low h2 {
        margin: 3rem 0;
        padding: 1rem 1.5rem 1rem 6rem;
        background: #3b3f46 url(img/title_bg_04.png) no-repeat 1rem center;
        background-size: 36px auto;
        font-size: 2.1rem;
    }
    .l-main-area--low h3 {
        margin: 3rem 0;
        padding: 0 0 1rem 1.5rem;
        font-size: 1.9rem;
    }
    .l-main-area--low h4, .l-main-area--low h5 {
        margin: 3rem 0;
        padding: 0 0 0 1rem;
        font-size: 1.7rem;
    }
	
	.l-main-area--low h2 a {
background-size: 13px auto;
    }
	 .l-main-area--low h3 a , .l-main-area--low h4 a , .l-main-area--low h5 a  {
       background-size: 15px auto;
    }
	
    .top_h2 {
        position: relative;
        margin: 5rem 0 3rem 0;
        padding: 2rem 0;
        /*background: url(img/title_bg_03.png) no-repeat center center;*/
        background-size: 100% auto;
        color: #000;
        font-size: 2.8rem;
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
    }
    .top_h2::after {
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        width: 36px;
        height: 3px;
        content: "";
    }
    .top_h2 span {
        color: #1425bd;
        font-size: 2.2rem;
    }
    .top_h2 a {
        display: inline-block;
        padding: 0 2rem 0 0;
        color: #000;
        background: url(img/arrow02_black.png) no-repeat right center;
        background-size: 12px auto;
        text-decoration: none;
    }
    .top_h2 a:hover {
        text-decoration: none;
        opacity: 1;
    }
    /*
---------------------------------------------

    header area

*/
    .l-header {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        text-align: left;
    }
    .l-header-area {
        min-width: auto;
        padding: 0;
    }
    .l-header-left {
        display: none;
    }
    .l-header-sitename {
        padding: 1rem 6.4rem 1rem 1rem;
        font-size: 1rem;
        text-align: left;
    }
    .l-header-area.lower .l-header-sitename {
        padding: 1rem 6.4rem 1rem 1rem;
    }
    .l-header-logo a {
        margin: 0 auto;
        width: 240px;
        height: auto;
    }
    .lower .l-header-logo:before, .lower .l-header-logo:after {
        width: 100%;
        height: auto;
    }
    .lower .l-header-logo:before {
        top: 23px;
        height: 75px;
    }
    .lower .l-header-logo:after {
        right: 0;
        left: 0;
        top: 4rem;
    }
    .l-gnavi-area {
        display: none;
    }
    /*
---------------------------------------------

    footer area

*/
    .l-footer-area {
        margin-top: 0;
        padding: 2rem 0 0 0;
        min-width: inherit;
    }
    .l-footer-area::before {
        top: -27px;
        left: 0;
        content: "";
        width: 100%;
        height: 50px;
        background-size: cover;
    }
    .l-footer-area__inner {
        position: relative;
        z-index: 299;
    }
    /* .footMenu {
        width: 48px;
        height: 46px;
        margin: 0;
        position: fixed;
        top: 0.6rem;
        right: 0.6rem;
        z-index: 300;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: #f2aa1e;
    }

    .footMenu .l-gnavi-btn {
        width: 100%;
        height: 100%;
    }

    .footMenu .l-gnavi-btn span {
        left: 50%;
        width: 30px;
        height: 2px;
        background: #222;
        transform: translateX(-50%);
    }

    .footMenu .l-gnavi-btn span:nth-child(1) {
        top: 14px;
    }

    .footMenu .l-gnavi-btn span:nth-child(2) {
        top: 24px;
    }

    .footMenu .l-gnavi-btn span:nth-child(3) {
        top: 34px;
    }

    .footMenu .l-gnavi-btn.active span:nth-of-type(1) {
        transform: translate(-50%, 10px) rotate(-45deg);
    }

    .footMenu .l-gnavi-btn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .footMenu .l-gnavi-btn.active span:nth-of-type(3) {
        transform: translate(-50%, -10px) rotate(45deg);
    } */
    .l-footer-logo {
        padding: 1rem 6.4rem 1rem 1rem;
        font-size: 1.2rem;
        text-align: left;
    }
    .l-footer-logo__image {
        width: 100%;
    }
    .l-footer-logo__link {
        display: block;
    }
    .l-footer-disclaimer {
        width: 90%;
        margin: 0 auto 1rem;
        padding: 2rem 5%;
    }
    .l-footer-bottom {
        padding: 0 5%;
    }
    .l-footer-bottom__inner {
        width: 90%;
        display: block;
    }
    .l-footer-bottom__copy {
        display: block;
        text-align: center;
    }
    .l-footer-bottom__sitemap {
        display: none;
    }
    .l-footer-note {
        margin: 0 0 1rem;
        font-size: 1rem;
    }
    .l-footer-menu-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 298;
        width: 100%;
        height: 100vh;
        background: #fff;
        margin: 0;
        padding: 0 0 60px 0;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        -webkit-transition: -webkit-transform 0.3s ease-in-out;
        transition: transform 0.3s ease-in-out, opacity 1s;
        overflow-y: hidden;
        opacity: 0;
    }
    .l-footer-menu-wrapper.active {
        transform: translate3d(0, 0, 0);
        transition: transform 0.3s ease-in-out, opacity 0.3s;
        opacity: 1;
    }
    .l-footer-menu {
        width: 90%;
        margin: 0 auto 2rem;
    }
    .l-footer-menu__title {
        margin: 0;
        padding: 0;
    }
    /* .l-footer-menu__title__link {
        padding: 1rem 2.5rem 1rem 3rem;
        display: block;
        font-size: 1.6rem;
        position: relative;
    } */
    .l-footer-menu__title__link {
        display: block;
        padding: 0.6rem 2.8rem 0.6rem 1rem;
        background: url(img/arrow02_navy.png) no-repeat right 1rem center;
        background-size: 12px auto;
        text-decoration: none;
        font-size: 1.6rem;
        font-weight: bold;
        position: relative;
    }
    .l-footer-menu__title__link:after {
        content: "";
        width: 8px;
        height: 15px;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%) rotate(90deg);
    }
    .l-footer-menu__title__link:hover {
        text-decoration: none;
    }
    .l-footer-menu__list {
        display: none;
        margin-top: 1rem;
    }
    .l-footer-menu__list__item {
        width: 100%;
        padding: 0.6rem 1rem;
    }
    .l-footer-menu__list__item:first-child {
        display: block;
    }
    .l-footer-menu__list__link {
        margin: 0;
        display: block;
    }
    .l-footer-menu__list__link:before {
        content: "└";
        margin: -0.7rem 0.5rem 0 0;
        display: block;
        position: absolute;
        width: auto;
        height: auto;
        border-radius: 0;
        top: 50%;
        left: 0;
        background: none;
    }
    .l-footer-submenu__list {
        display: block;
    }
    .l-footer-submenu__list__item {
        display: block;
    }
    /*
---------------------------------------------

    common

*/
    .l-pagetop {
        top: -5.5rem;
        right: 0.5rem;
    }
    .l-pagetop__link {
        width: 70px;
        height: 70px;
    }
    /* .l-pagetop__link:hover {
        background: #0096d2;
    } */
    .l-pagetop__image {
        width: auto;
    }
    .l-pagetop.is-fixed {
        bottom: 5.5rem;
    }
    #pankuzu {
        margin: 0 auto;
        padding: 1rem;
        white-space: nowrap;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    .l-sns-list {
        display: none;
    }
    /*
---------------------------------------------

    contents area

*/
    .l-contents-area {
        padding: 0;
    }
    .l-contents-area--low {
        width: 100%;
    }
    /*
---------------------------------------------

    contents area

*/
    .threeColumnBox_inner {
        display: block;
        margin: 0 0 1rem 0;
    }
    .threeColumnBox .comments {
        font-size: 1.2rem;
    }
    .threeColumnBox_item {
        width: 100%;
        margin: 0 0 3rem 0;
    }
    .threeColumnBox_item .btn-tel, .l-section-inner .btn-tel {
        margin-top: 2rem;
    }
    .threeColumnBox_name {
        margin: 0 auto 3rem;
    }
    .threeColumnBox_item:last-child {
        margin: 0;
    }
    .threeColumnBox_ttl {
        padding: 1.2rem 1rem 2rem 1rem;
        background-size: 100% auto;
        font-size:2.8rem;
        line-height: 1.3;
        text-align: center;
		    margin-bottom: 1rem;
    }
    .threeColumnBox_ttl span {
        font-size: 2.2rem;
    }
    .threeColumnBox_ttl span.large {
        font-size: 3.2rem;
    }
    .threeColumnBox .btn-web a {
        width: 90%;
    }
    
    .threeColumnBox .btn-web a,.threeColumnBox .btn-internal a {
        width:90%;
    }
    
    .threeColumnBox .btn-internal a {
        background-size: 10px auto;
    }
    .lower-bottom .threeColumnBox .btn-internal a{
        background-size: 12px auto;
		background-position: right 1.2rem center;
    }
    .threeColumnBox .btn-tel a {
        width: 90%;
    }
    .threeColumnBox_ttl:before {
        left: -5px;
    }
    .threeColumnBox_ttl:after {
        right: -5px;
    }
    .threeColumnBox_item:first-child {
        margin-top: 0;
    }
    .top .threeColumnBox_txt {
        margin-bottom: 3rem;
        width: auto;
    }
    .lowerBottom .threeColumnBox_ttl {
        border-bottom: none;
        border-top: none;
        margin: 0;
    }
    .threeColumnBox .btn-internal{
        margin-top:0;
    }
    .threeColumnBox_item .btn-web{
        margin-bottom:3rem;
    }
    .three-half-box{
        width:100%;
    }
    .th-ttl span:before{
        width:38px;
        height: 38px;
        margin-right:1.5rem;
    }
    
    .th-ttl{
        font-size:1.8rem;
    }
    
    .accordion-btn, .of-btn{
        width:90%;
    }
    
    .accordion-btn::after, .of-btn::after{
        font-size:1.5rem;
        font-weight: bold;
    }
    /*
---------------------------------------------

    main area

*/
    
    .l-main-area .frame-wrap .frame-head{
        background:#e5e8ee;
    }
    
    .cn{
        font-size:2rem;
        display: flex;
		line-height: 1.4;
        justify-content: center;
    }
    
	.cn a {
    background-size: 15px auto;
}
	
    .l-main-area--low {
        width: 94%;
        margin: 0 auto 7rem;
        float: none;
        overflow: visible;
    }
    .l-section-inner {
        width: 94%;
        margin: 0 auto;
    }
    .l-main-area .l-common-lead {
        width: 100%;
        margin: 1.5rem auto 2rem;
    }
    .l-common-lead + .tblArea {
        margin-top: 2rem;
    }
    /*
---------------------------------------------

    top

*/
    .l-mv {
        width: 100%;
        min-width: auto;
        min-height: auto;
    }
    .l-mv-box {
        position: static;
        left: 0;
        top: 0;
        width: 100%;
        min-width: auto;
        min-height: auto;
        margin: 0 auto;
        padding: 0;
        background: #ffffff;
        background-image: none;
    }
    .l-mv-box::before {
        display: none;
    }
    
    .l-mv-box-inner {
        width: 100%;
        padding: 0;
    }
    .l-mv-logo {
        padding: 0 1rem 1rem;
        text-align: center;
    }
    .l-mv-logo img {
        width: 100%;
        max-width: 150px;
    }
    .l-mv-fig {
        text-align: center;
    }
    .l-mv-title {
        margin: 0;
        margin-bottom: 1rem;
        padding: 1.5rem 1rem 1rem 1rem;
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.4;
    }
    .l-main-area p.l-mv-text {
        margin: 0;
        padding: 0 1rem 0;
        font-size: 1.4rem;
        line-height: 1.7;
		width: 100%;
    }
    
    .l-mv-title .bg-blue{
        font-size:2rem;
    }
    
    .l-mv-title .bg-black{
        font-size:2.8rem;
		    background:none;
    }
    
    /* .l-mv {
        min-height: inherit;
        min-width: inherit;
        margin: 0 0 2rem;
        padding: 0;
        position: relative;
    }

    .l-mv-wrapper {
        width: 100%;
        display: block;
    }

    .l-mv-logo {
        margin: auto;
        padding: 0;
        position: absolute;
        width: 100%;
        max-width: 500px;
        background: none;
        text-align: center;
        top: 1rem;
        left: 0;
        right: 0;
    }

    .l-mv-logo img {
        width: 95%;
        max-width: 300px;
    }

    .l-mv-box {
        width: 100%;
        margin: 0;
    }

    .l-mv-box p {
        margin: 0;
    }

    .l-mv .sindan {
        margin: 0 auto 0 0;
        position: absolute;
        width: 100%;
        height: 290px;
        background: url(img/mv-human.png) no-repeat center bottom;
        background-position: left 50% bottom calc(153px - 13rem);
        background-size: 55vw;
        top: 0;
    }

    .l-mv-title {
        width: 100%;
        min-height: 13rem;
        margin: 0;
        padding: 27rem 0 1rem 1rem;
        font-size: 1.8rem;
        display: flex;
        align-items: center;
    }

    .l-mv p {
        padding: 0 2rem;
        color: #333;
    }

    .l-mv-check {
        display: none;
    }

    .l-mv:before, .l-mv:after {
        width: 100%;
        background-size: cover;
    }

    .l-mv:after {
        right: 0;
    }

    .l-mv .callout .callout_item {
        background-size: contain;
        width: 156px;
        line-height: 1.2;
    }

    .l-mv .callout .callout_item01 {
        top: 8rem;
        left: 0;
        padding: 2.4rem 3.7rem 2.4rem 1.7rem;
        font-size: 1.2rem;
    }

    .l-mv .callout .callout_item02 {
        top: 16rem;
        left: 0;
        padding: 2.4rem 4.7rem 2.4rem 0.7rem;
        font-size: 1.2rem;
    }

    .l-mv .callout .callout_item03 {
        top: 7rem;
        right: 2px;
        background-position: center center;
        padding: 2.4rem 1rem 2.4rem 2.7rem;
        font-size: 1.2rem;
        width: 132px;
    } */
    /*
    .top .threeColumnBox_ttl {
        padding: 1rem 0;
        position: relative;
        z-index: 1;
        margin: 0 0 2rem;
    }

    .top .threeColumnBox_ttl:before {
        background-size: 50px auto;
        width: 50px;
        height: 40px;
        left: 0;
        z-index: -1;
    }

    .top .threeColumnBox_ttl:after {
        background-size: 30px auto;
        right: 0;
        z-index: -1;
        margin: auto;
        content: '';
        display: block;
        position: absolute;
        top: auto;
        bottom: 0;
        width: 95px;
        height: 70px;
        background: url(img/bg-cloud.png) no-repeat left top;
        opacity: 0.5;
    } */
    h2.l-mv-title {
        font-size: 2rem;
		background: #111111;
    }
	.kw {
    max-width: 100%;
}
    .l-section-inner {
        padding-top: 2rem;
        background-size: 20%;
    }
    .l-parts01 {
        padding: 0 0 4rem 0;
        background: #111111 url(img/3sen_bg_sp.jpg) no-repeat;
        background-size: 100% auto;
    }
    .l-parts01-column3 {
        min-width: inherit;
    }
    .l-parts01-column3:after {
        content: none;
    }
    .l-parts01-column3__box {
        width: 96%;
        margin: 2rem auto 0;
        position: relative;
    }
    .l-parts01-column3__box:after {
        content: "";
        width: 100vw;
        height: 7rem;
        background: url(img/bg_waveblue_l_top.svg) no-repeat left bottom;
        background-size: 120% auto;
        top: 4rem;
        right: 50%;
        transform: translateX(50%);
        z-index: -1;
        position: absolute;
    }
    .l-parts01-column3__box .catch-image {
        width: 80%;
        margin: 0 auto;
    }
    .l-parts01-column3__box .catch-text, .l-parts01-column3__box .catch-body {
        padding: 0;
    }
    .clinicList_item {
        margin-top: 6rem;
    }
    .l-parts06 {
        padding: 0 0 3rem;
		background-size: 80%;
    }
	  .l-parts07 {
		    padding: 0 0 3rem;
		background-size: 100%;
    }
	
	  .l-parts08 {
		    padding: 0 0 1rem;
		background-size: 100%;
    }
    .top_h2 {
        margin: 0 0 3rem 0;
        padding: 2rem 0;
    }
    .l-parts02 .top_h2 {
        background-size: 100% auto;
    }
    .l-parts04 .top_h2 {
        background-size: 100% auto;
    }
    .l-parts02 {
        padding: 1rem 0 6rem;
    }
    .l-parts02-white {
        width: 100%;
        margin: 0 0 6rem 0;
        padding: 0 0 2rem 0;
    }
    .l-parts02-white-inner {
        width: 100%;
        margin: 0 auto;
        padding: 0 1.5rem;
    }
    .l-parts02-white__title .catch-title {
        padding: 2rem 1.5rem;
        /*background: #0e1b88 url(img/title_bg_07.png) no-repeat left bottom;
        background-size: 240px auto;*/
        font-size: 2rem;
        background-size: auto 35%;
    }
	.l-parts02-white__title .catch-title span{
        font-size: 3rem;
}

    .l-parts02-white__column2 {
        margin: 2rem auto;
        gap:1rem;
    }
    /*.l-parts02-white__column2 .box {
        width: calc((100% - 1rem) / 2);
        padding: 1rem;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    }*/
    .l-parts02-white__column2 .box {
        width: 100%;
        padding: 1rem;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    }
    .l-parts02-white__column2 .box .label {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 0 1rem 0;
        padding: 1rem;
        line-height: 1.3;
        font-size: 1.4rem;
    }
    .l-parts02-white__column2 .box .data {
        font-size: 1.8rem;
    }
    .l-parts02-white__column2 .box .data span {
        font-size: 3rem;
    }
    .l-parts02-white .title-wrap {
        margin: 2rem 0 2rem 0;
    }
	.l-parts02-white-inner .three-h3 {
    font-size: 2.5rem;
}
    .l-parts02-white .title-wrap .title {
        max-width: 90%;
        padding: 0 1rem;
        font-size: 2rem;
    }
    .l-parts02-white .l-icon-title + p {
        margin: 0;
    }
    .l-parts02-white .block-kuchikomi {
        display: block;
    }
    .block-kuchikomi .box {
        width: 100%;
        margin: 0 0 3rem 0;
    }
    .l-parts02-white .block-kuchikomi .box-head .ttl {
        min-height: 50px;
        padding: 0.5rem 0 0 6rem;
        background: url(img/title_bg_08.png) no-repeat left top;
        background-size: 48px auto;
        font-size: 1.7rem;
    }
	.l-main-area .scroll {
    position: static;
    overflow-x: scroll;
    width: 100%;
}
	.text {
    text-align: center;
		font-size:1.4rem;
}
 .l-main-area .scroll table {
    width: 800px;
    max-width: none;
}
	.l-main-area .scroll img {
    width: 650px;
    max-width: none;
}
    .inyo{
        margin-bottom:1rem!important;
    }
    
    .th-inner{
        padding-top:0;
        padding-bottom:0.1rem;
    }
    
    .l-parts02-white .block-kuchikomi .box-body {
        padding: 1.5rem;
    }
    .l-parts02-white .title-hasLine {
        padding: 0 8rem;
        font-size: 1.8rem;
    }
    .l-parts02-white .title-hasLine:before, .l-parts02-white .title-hasLine:after {
        width: 25%;
    }
    .l-parts02-white .title-hasLine span {
        padding: 0 1rem;
    }
    .l-parts02-white__column3__box {
        width: 100%;
        margin: 0 0 2rem;
    }
    .l-parts02 table.infomation {
        margin: 0;
        border-top: none;
    }
    .l-contents-area .clinicList_item .infomation {
        margin-bottom: 5rem;
        font-size: 1.4rem;
    }
    .l-parts02 table.infomation th, .l-parts02 table.infomation td {
        width: auto;
        margin: -1px;
        height: 4.5rem;
        align-items: center;
        display: flex;
        justify-content: center;
    }
    .l-parts02 table.infomation tr {
        display: inline-grid;
        width: 50%;
        height: 100%;
    }
    .l-contents-area .clinicList_item .infomation2 {
        margin-bottom: 3rem;
        display: table;
        font-size: 1.3rem;
    }
    .l-contents-area .clinicList_item .infomation2 tbody {
        display: table;
    }
    .l-contents-area .clinicList_item .infomation2 tr {
        display: table-row;
    }
    .l-contents-area .clinicList_item .infomation2 th, .l-contents-area .clinicList_item .infomation2 td {
        display: table-cell;
    }
    .l-contents-area .clinicList_item_foot {
        flex-direction: column;
    }
    .l-contents-area .clinicList_item_foot .btnBox, .l-contents-area .clinicList_item_foot .contactOuter {
        width: auto;
    }
    .l-contents-area .clinicList_item_foot .btnBox .btn-tel {
        display: none;
    }
    .l-contents-area .contact {
        margin: 1.5rem auto 0;
        width: 86%;
        justify-content: space-around;
    }
    .top .threeColumnBox_item:last-child:after {
        top: -2.5rem;
        right: -10px;
        width: 105px;
        background-size: contain;
    }
    .l-contents-area .contact li {
        text-align: center;
        position: relative;
    }
    .l-contents-area .contact li:before {
        margin: 0 auto;
        content: "";
        display: block;
        background: #cec6c0;
        background-size: 10px;
        width: 60%;
        height: 1rem;
        position: absolute;
        bottom: -1.2rem;
        right: 20%;
        border-radius: 100%;
    }
    .l-parts03 {
        margin-bottom: 4rem;
    }
    .l-parts03::before {
        bottom: -25px;
        height: 70px;
        background-size: 170% auto;
    }
    .l-parts03-column3__box {
        width: 100%;
        margin: 0 0 2rem;
    }
    .l-parts03-column3__box .btn-link {
        margin-bottom: 0;
    }
    .l-parts03-column3__title {
        text-align: left;
        padding: 2rem 0;
    }
    .l-parts03-column3__title a {
        padding: 0 1rem;
    }
    .l-parts03-column3__title a:after {
        margin: auto;
        content: "";
        display: block;
        background: url(img/arrow01_pink.png) no-repeat right top;
        background-size: 10px;
        width: 12px;
        height: 20px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
    }
    .l-parts03-column3__info dl {
        font-size: 1.2rem;
    }
    .l-parts03-column3__info dl dd {
        padding: 1rem 0 1rem 0;
    }
    p.l-parts03-column3__image {
        margin: 0;
    }
    ul.l-parts03-column3__tag {
        margin: 1rem 0 0;
    }
    .l-parts04 {
        padding: 2rem 0;
        margin-bottom: 0;
        min-width: inherit;
        background: #f2f2f2 url(img/ryokin_bg_sp.png) no-repeat;
        background-size: 90% auto;
        background-position: left top;
    }
	.l-parts04 table {
    margin: 1rem auto;
}
    .top .l-common-title {
        margin-top: 0;
        margin-bottom: 0;
        padding: 4.5rem 3rem;
    }
    .l-parts04 .l-section-inner:after, .l-parts04 .l-section-inner:before {
        content: none;
    }
    .l-parts04-list {
        margin: 16rem 0 0;
        position: relative;
    }
    .l-parts04-listOuter {
        margin-top: 4rem;
    }
    .l-parts04-image {
        margin: auto;
        width: 20rem;
        position: absolute;
        left: 0;
        right: 0;
        top: -8rem;
    }
    .l-parts04-image .label {
        top: 1rem;
        font-size: 1.2rem;
    }
    .l-parts04-image .image-box {
        margin: 0;
        width: 20rem;
        height: 10rem;
    }
    .l-parts04-image.has-after .image-box::after {
        bottom: -252px;
        display: none;
        opacity: 0.2;
        height: 278px;
        background: url(img/l-parts04-list-after-sp.png) repeat-y left top;
    }
    .l-parts04-body {
        width: 100%;
    }
    .l-parts04-body .catch {
        margin: 0 0 0rem 0;
        min-height: 0rem;
        display: flex;
        align-items: center;
        font-size: 2rem;
    }
    .l-parts04-body .catch.margin10 {
        margin-top: 10rem;
    }
    .l-parts05 {
        margin-bottom: 2rem;
    }
    .l-parts05-column2 {
        margin: 0 0 0 1rem;
    }
    .l-parts05-box {
        width: 100%;
        margin: 0 0 3rem;
        padding: 2rem;
    }
    .l-parts05-box:nth-child(2n) {
        margin: 0 0 2rem;
    }
    .l-parts05-catch {
        font-size: 1.8rem;
    }
    .l-parts05 .btn-internal {
        width: 80%;
        margin: 1rem auto 3rem;
        min-width: inherit;
        font-size: 1.6rem;
    }
    .l-contents-area .clinicList_head {
        font-size: 2.3rem;
        margin-top: 0.5rem;
    }
    .l-contents-area .clinicList_heading {
        font-size: 2rem;
    }
    /*
---------------------------------------------

dlList

*/
    .dlList {
        width: 90%;
    }
    .dlList_item {
        margin-bottom: 2rem;
    }
    .dlList_item .dlList_head {
        margin: 0;
        margin-bottom: 1rem;
        padding-right: 0;
        width: auto;
    }
    .dlList_item .dlList_txt {
        width: auto;
    }
    /*
---------------------------------------------

summary

*/
    .summary {
        margin-top: 6rem;
        margin-bottom: 4rem;
        padding: 3rem 2rem 0;
        background-color: #fff;
        border: 4px dotted #ef928d;
        border-radius: 30px;
    }
    .summary_head {
        flex-direction: column;
    }
    .summary_left {
        margin: 0 auto;
        margin-bottom: 3rem;
        width: auto;
        text-align: center;
        width: 20rem;
    }
    .summary_right {
        width: auto;
    }
    .summary .btn-img {
        margin-top: 1rem;
    }
    .summary .btn-img img {
        margin-left: 0;
        max-width: none;
        width: 100%;
    }
    .tblArea {
        margin-top: 5rem;
    }
    .labelBox {
        margin: 0rem 1rem 0;
        padding: 4rem 1rem 2rem;
    }
    .page-flow_head {
        margin-bottom: 1rem;
        width: auto;
    }
    .page-flow-a:before, .page-flow-Wrapper:before {
        width: 200px;
        top: -4rem;
    }
    .page-flow-Wrapper.first {
        padding: 1rem 0 2rem;
        background: none;
    }
    .page-flow_head_top {
        margin: 0 auto 1rem;
        font-size: 6vw;
        text-align: center;
        font-weight: bold;
    }
    .page-flow_head_bottom {
        font-size: 2.2rem;
    }
    .page-flow-a .page-flow_head_bottom {
        padding: 0 2rem;
    }
    .page-flow-q {
        background-image: url(img/page-flow-last_left.png), url(img/page-flow-last_right.png);
        background-repeat: no-repeat, no-repeat;
        background-position: left 10px top 15px, right 4px top 15px;
        background-size: 38px, 50px;
    }
    .page-flow-q_top {
        margin-top: 0;
        margin: 0 1rem;
    }
    .page-flow-q:before, .page-flow-q:after {
        content: none;
    }
    .page-flow-q-btn {
        padding: 0 10px;
    }
    .page-flow-q-btn ul {
        margin-bottom: 0;
        padding-bottom: 1rem;
        flex-direction: column;
    }
    .page-flow-Wrapper .page-flow-q-btn li {
        margin-top: 0;
        padding: 1.5rem 4rem;
        margin-bottom: 1rem;
        height: auto;
        font-size: 1.7rem;
    }
    .page-flow-Wrapper .page-flow-q-btn li:after {
        border-top: 3px solid #ef928d;
        border-right: 3px solid #ef928d;
        right: 15px;
        width: 9px;
        height: 9px;
    }
    .page-flow-q_bottom {
        margin: 1rem;
        font-size: 2.2rem;
    }
    .l-column2 > *, .l-column3 > * {
        width: 100%;
    }
    .page-flow .page-flow_txt {
        margin: 0 auto 1.5rem;
        padding: 0 1.5rem;
        max-width: none;
        width: auto;
    }
    .page-flow-title-btn {
        margin: 0 auto;
        padding: 0 1.5rem;
        width: 90%;
    }
    .page-flow-a {
        padding-bottom: 2rem;
        background: none;
    }
    .page-flow-a .page-flow_head {
        margin-bottom: 2rem;
        width: auto;
    }
    .page-flow-a-btn {
        float: none;
        width: 100%;
    }
    .page-flow-a .btn {
        padding: 0 2rem;
    }
    .page-flow-a-btn a {
        height: auto;
        padding: 1rem 3rem;
        font-size: 2rem;
    }
    .reset_btn {
        padding: 1rem;
        margin-top: 1.5rem;
        height: auto;
        width: auto;
        float: none;
        font-size: 1.6rem;
        border: 0;
    }
    .page-flow-a-btn a:after, .reset_btn:after {
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        right: 15px;
        width: 9px;
        height: 9px;
    }
    .reset_btn:after {
        border-top: 3px solid #9ed2c1;
        border-right: 3px solid #9ed2c1;
    }
    .modaal-close:before, .modaal-close:after {
        background: #fff;
    }
    .modaal-wrapper .modaal-close {
        bottom: auto;
        right: -8px;
        top: -6.3rem;
        border: 3px solid #fff;
    }
    #modal {
        display: none;
    }
    .l-parts06 .box-btn {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .l-parts07 .box-btn .btn {
        width: 48%;
        margin: 0 0 2rem 0;
        padding: 0;
    }
    .l-parts07 .box-btn .btn::after {
        display: none;
    }
    .l-parts07 .box-btn .btn a {
        display: block;
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 1.5rem 2.5rem;
        background: #ffff url(img/arrow02_black.png) no-repeat right 1rem center;
        background-size: 12px auto;
        font-size: 1.8rem;
    }
    .l-parts07 .box-btn .btn a:hover {
        background: #f2f2f2 url(img/arrow02_black.png) no-repeat right 1rem center;
        background-size: 12px auto;
        box-shadow: 0 6px 0 #8f95a6;
        text-decoration: none;
        opacity: 1;
        transform: none;
        transition: none;
    }
    .l-parts06 .frame-wrap {
        margin: 3rem 0;
    }
    .l-parts06 .frame-wrap .frame-head .ttl {
        padding: 0;
        background: #0e1b88;
    }
    .l-parts06 .frame-wrap .frame-head .ttl a {
        display: block;
        padding: 2rem 4rem 2rem 2rem;
        /*background: #0e1b88 url(img/arrow02_white.png) no-repeat right 2rem center;
        background-size: 13px auto;*/
    }
    .l-parts06 .frame-wrap .frame-head .ttl a:hover {
        /*background: #10458a url(img/arrow02_white.png) no-repeat right 2rem center;
        background-size: 13px auto;*/
        text-decoration: none;
        opacity: 1;
    }
    .l-parts06 .frame-wrap .frame-body table {
        margin: 0 0 1rem 0;
        font-size: 1.4rem;
    }
    .l-parts06 .frame-wrap .frame-body table th {
        width: 45%;
        padding: 0.5rem;
    }
    .l-parts06 .frame-wrap .frame-body table td {
        width: 55%;
        padding: 0.5rem;
        text-align: center;
    }
    .l-parts06 .frame-wrap .frame-body table td span {
        color: #f6716a;
        font-size: 2.5rem;
        font-weight: bold;
    }
    .l-parts06 .frame-wrap .frame-body .box-address {
        margin: 2rem 0 0 0;
        padding: 1.2rem 0 0 0;
        border-top: 2px solid #b5bcc6;
    }
    .l-parts06 .frame-wrap .frame-body .box-address .ttl {
        margin: 0 0 0.6rem 0;
        padding: 0 0 0 3rem;
        background: url(img/title_bg_02.png) no-repeat left top;
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1.4;
    }
    .l-parts06 .accordion-item .frame-wrap {
        margin: 0;
    }
    .lasbox:not(:last-of-type){
        margin-bottom: 6rem;
    }
    .accordion-item {
        display: none;
    }
    .accordion-btn {
        position: relative;
        width: 90%;
        height: 56px;
        margin: 0 auto 4rem auto;
        /*background: #0e1b88;
        box-shadow: 0 6px 0 #040d58;*/
        border-radius: 5rem;
        /*color: #fff;*/
        font-size: 1.6rem;
        line-height: 1.1;
        text-align: center;
        cursor: pointer;
    }
    .accordion-btn:hover {
        /*background: #0e1b88;
        box-shadow: 0 6px 0 #040d58;*/
        text-decoration: none;
        opacity: 1;
        transform: none;
    }
    .accordion-btn::before {
        position: absolute;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%);
        font-size: 2rem;
        content: "＋";
    }
    .accordion-btn::after {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        font-size: 1.6rem;
        content: "もっと見る";
    }
    .accordion-btn.is-open::before {
        position: absolute;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%);
        content: "ー";
    }
    .accordion-btn.is-open::after {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        font-size: 1.6rem;
        content: "閉じる";
    }
    /*--------------------------------------
    　spMenuBox
    ---------------------------------------*/
    /*navWrap*/
    #navWrap {
        box-sizing: border-box;
        width: 100%;
        height: auto;
        background-color: #faf5d2;
        margin: 0 auto;
    }
    /*navTop*/
    #navWrap .navTop {
        width: 100%;
        background-color: #fff;
        border-bottom: 1px solid #b5b5b5;
        position: fixed;
        top: 0;
        opacity: 0;
        z-index: -1;
        transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        -ms-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -webkit-transition: all 0.3s ease;
    }
    body.open #navWrap .navTop {
        top: 0 !important;
        opacity: 1 !important;
        z-index: 9999 !important;
    }
    #navWrap .navTopInner {
        display: table;
        width: 100%;
        padding: 0.5rem 0;
        position: relative;
    }
    #navWrap .siteName {
        /* display: table-cell;
        vertical-align: middle; */
        font-size: 1.2rem;
        font-weight: 500;
        line-height: 1.4;
        padding: 1.2rem 6rem 1.2rem 1rem;
        /* border-right: 1px solid #bbb; */
        border-bottom: 1px solid #333;
        text-align: left;
    }
    /* #navWrap .siteName img {
        height: 50px;
        width: auto;
    }
    #navWrap .recommendBtn {
        display: table-cell;
        vertical-align: middle;
        width: calc(50.5% - 41px);
        font-size: 1.1rem;
        text-align: center;
        color: #8c8200;
        padding: 0 1.2rem;
        border-right: 1px solid #bbb;
        position: relative;
        background: #f5f5dc;
    }
    #navWrap .recommendBtn::after {
        content: '';
        position: absolute;
        right: 3px;
        bottom: 3px;
        border-top: 4px solid transparent;
        border-right: 4px solid #8c8200;
        border-bottom: 4px solid #8c8200;
        border-left: 4px solid transparent;
        z-index: 1;
    } */
    #menuBtn {
        background: rgba(20, 37, 189, 0.9);
        position: fixed;
        top: 0.6rem;
        right: 0.6rem;
        display: table-cell;
        vertical-align: middle;
        box-sizing: content-box;
        width: 46px;
        height: 46px;
        /* padding: 0 1.0rem; */
        cursor: pointer;
        z-index: 9999;
    }
    #menuBtn .menu {
        width: 24px;
        height: 18px;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        outline: none;
        border: none;
        background: #000;
        background: url("img/sp_ico_menu.png") center no-repeat;
        background-size: 100%;
    }
    body.open #menuBtn .menu {
        width: 24px;
        height: 18px;
        background: url("img/sp_ico_close.png") center no-repeat;
        background-size: 100%;
    }
    /*navSp*/
    #navSp {
        position: fixed;
        top: 0;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.94);
        z-index: 999;
        display: none;
    }
    #navSp > div {
        height: 100%;
        overflow-y: scroll;
        /*-webkit-overflow-scrolling: touch;*/
    }
    #navSp a {
        text-decoration: none;
    }
    /* 以下装飾など */
    #navSp .navBox {}
    #navSp .navBox:first-child {
        border-top: 1px solid #333;
        overflow: hidden;
    }
    #navSp .navBox .sttl a, #navSp .sitemap a {
        display: block;
        box-sizing: border-box;
        font-size: 1.4rem;
        line-height: 1.4;
        background: url("img/arrow02_black.png") 96% center no-repeat;
        background-size: 10px 8px;
        padding: 1.5rem 9% 1.5rem 1.5rem;
    }
    #navSp .navBox .tglMenu a {
        background: url("img/arrow02_black_down.png") 96% center no-repeat;
        background-size: 8px 10px;
    }
    #navSp .navBox .sttl.collapsible a {
        background: url("img/arrow02_black_down.png") 96% center no-repeat;
        background-size: 8px 10px;
    }
    #navSp .navBox .sttl a br {
        display: none;
    }
    #navSp .navBox .sttl.open > a {
        background: url("img/arrow_black_up.png") 96% center no-repeat;
        background-size: 8px 10px;
    }
    #navSp .navBox .sttl, #navSp .sitemap {
        border-bottom: 1px solid #333;
        padding: 0;
        margin: 0;
    }
    #navSp .sitemap {
        margin: 0 0 100px;
    }
    #navSp .navBox .accChild {
        display: none;
        font-size: 1.3rem;
        padding: 0;
        box-sizing: border-box;
        background-color: rgba(255, 255, 255, 0.8);
    }
    #navSp .navBox .accChild li {
        float: none;
    }
    #navSp .navBox .accChild li a {
        display: block;
        box-sizing: border-box;
        background: url("img/arrow02_black.png") 95.5% center no-repeat;
        background-size: 8px 7px;
        border-bottom: 1px solid #333;
        padding: 1.2rem 9% 1.2rem 2.5rem;
    }
    #navSp .navBox .accChild li .subList li a {
        padding-left: 4rem;
        position: relative;
    }
    #navSp .navBox .accChild li .subList li a::before {
        content: "└";
        display: block;
        position: absolute;
        top: 14px;
        left: 22px;
        margin-right: 0.4rem;
    }
    #navSp .navBox .accChild li a:first-child {}
    /*navBottom*/
    #navBottom {
        display: block;
        width: 85%;
        position: relative;
        margin: 7.5% auto 7.5%;
    }
    #navBottom a {
        display: block;
        text-decoration: none;
        background: url("img/banner_bg.png") left top repeat;
        border-top: 3px solid #bee6a0;
        padding: 4%;
        position: relative;
        z-index: 1;
    }
    #navBottom a::before {
        content: "";
        background: url("img/banner_illust01.png") no-repeat;
        background-size: 100% auto;
        width: 49px;
        height: 86px;
        position: absolute;
        top: -10px;
        right: -8px;
    }
    #navBottom a::after {
        content: "";
        background: url("img/banner_illust02.png") no-repeat;
        background-size: 100% auto;
        width: 40px;
        height: 64px;
        position: absolute;
        left: -8px;
        bottom: -10px;
    }
    #navBottom .tit {
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0.01em;
        padding: 0 15% 0 3%;
        margin-bottom: 1rem;
    }
    #navBottom .txtArea {
        background-color: #fff;
        padding: 0 0 6%;
    }
    #navBottom .catch {
        font-size: 1.3rem;
        line-height: 1.4;
        letter-spacing: 0.01em;
        border-bottom: 1px dotted #ccc;
        padding: 3.5% 5%;
    }
    #navBottom .txt {
        padding: 3.5% 5%;
    }
    #navBottom .txt p {
        font-size: 1.3rem;
        line-height: 1.5;
        letter-spacing: 0.01em;
        color: #508291;
        margin: 0;
    }
    #navBottom .btn {
        width: 75%;
        font-size: 1.3rem;
        line-height: 1;
        letter-spacing: 0.01em;
        text-align: center;
        color: #fff;
        background-color: #82b4c3;
        border-radius: 5px;
        padding: 3.5% 4% 3.2% 4%;
        margin: 0 auto;
        box-shadow: 2px 2px 0px rgba(80, 130, 145, 1);
    }
    body.open {
        height: inherit !important;
    }
    .toc_parts {
        width: 100%;
        margin: 1rem 0 3rem;
        padding: 1.5rem 2.5rem 1.5rem;
    }
    .toc_parts .ttl {
        font-size: 1.6rem;
        border-left: 2px solid #293ad1;
    }
    #toc {
        margin: 1.5rem 0 0 0;
        padding: 1rem 0 0;
    }
    #toc .chapter .chapter-h {
        margin: 1rem 0;
        padding: 0 0 0 3rem;
        font-size: 1.5rem;
        line-height: 1.6;
    }
    #toc ul.chapter .chapter-h::before {
        top: 11px;
        font-size: 1.8rem;
    }
    #toc li.chapter-h.chapter-h-three {
        margin: 0.5rem 0 0.5rem 2rem;
    }
    #toc li.chapter-h.chapter-h-three::before {
        top: 6px;
        width: 6px;
        height: 6px;
    }
    #toc li.chapter-h-three + .chapter-h-two {
        margin-top: 2rem;
    }
}
/* SP_End */