@charset "utf-8";

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.no__link {
    pointer-events: none;
}

/* flex */
.flex,
.flexA,
.flexB,
.flexC {
    display: flex;
    flex-wrap: wrap;
}

.flexA {
    justify-content: space-around;
}

.flexB {
    justify-content: space-between;
}

.flexC {
    justify-content: center;
}

/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
    margin: 0 auto;
    padding: 0 15px;
    max-width: 1430px;
    box-sizing: border-box;
}

@media all and (max-width: 896px) {
    .content {
        padding: 0 16px;
        display: block;
        max-width: inherit;
    }
}

/*------------------------------------------------------------
	font
------------------------------------------------------------*/
.dinSerif {
    font-family: "din-condensed", sans-serif;
    font-style: normal;
    font-weight: 400;
}

/*------------------------------------------------------------
	pageTop
------------------------------------------------------------*/
.pageTop {
    position: fixed;
    right: 40px;
    bottom: 30px;
    width: 60px;
    z-index: 50;
}

.pageTop a:hover {
    opacity: 0.7;
}

@media all and (max-width: 896px) {
    .pageTop {
        right: 16px;
        width: 32px;
        bottom: 86px;
    }
}

/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
    margin: -33px 0 28px;
    height: 294px;
    background: url(../img/common/page_title_bg.jpg) no-repeat center top/cover;
}

.pageTitle .bg {
    height: 100%;
}

.pageTitle .page_heading {
    font-weight: bold;
}

.pageTitle .content {
    padding-top: 8px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
}

.pageTitle .text {
    font-size: 3.6rem;
    line-height: 1.4;
    font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
    letter-spacing: 0.075em;
}

.pageTitle .text .sm {
    margin: 0 0 8px 3px;
    display: block;
    font-size: 1.3rem;
    letter-spacing: 0.075em;
    font-weight: normal;
}

.pageTitle .text .en {
    margin: -5px 0 0 8px;
    display: block;
    color: #C90420;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    font-family: "din-condensed", sans-serif;
    font-style: normal;
    font-weight: 500;
}

@media all and (max-width: 896px) {
    .pageTitle {
        margin: -26px 0 8px;
        background: none;
        height: inherit;
    }

    .pageTitle .topText {
        margin-bottom: 10px;
        padding: 0 3px;
        font-size: 1.3rem;
        text-align: center;
        font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝B", "MS Mincho", serif;
    }

    .pageTitle .content {
        padding: 74px 10px 0 37px;
        align-items: flex-start;
    }

    .pageTitle .bg {
        height: 259px;
        background: url(../img/common/sp_page_title_bg.jpg) no-repeat center center/cover;
    }

    .pageTitle .text {
        font-size: 2.3rem;
        line-height: 1.3;
    }

    .pageTitle .text .en {
        margin: -2px 0 0 6px;
        font-size: 1.1rem;
        letter-spacing: 0.1em;
    }
}

@media all and (max-width: 374px) {
    .pageTitle .topText {
        font-size: 1.2rem;
    }
}

/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
    margin-bottom: 53px;
}

#pagePath .content {
    max-width: 1386px;
}

#pagePath ul {
    display: inline-block;
    position: relative;
}

#pagePath ul::before {
    position: absolute;
    content: "";
    display: none;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 5px;
    border-bottom: 0.5px solid #BCBCBC;
}

#pagePath ul li {
    display: inline-block;
}

#pagePath ul li,
#pagePath ul li a {
    color: #BCBCBC;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
}

#pagePath ul li a {
    padding-right: 5px;
    border-bottom: 0.5px solid #BCBCBC;
}

@media all and (min-width: 897px) {
    #pagePath ul li a:hover {
        color: #C90420;
        border-color: #C90420;
    }
}

@media all and (max-width: 896px) {
    #pagePath {
        margin-bottom: 29px;
    }

    #pagePath .content {
        padding-left: 32px;
        max-width: inherit;
    }

    #pagePath ul::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 1px;
        left: 0;
        bottom: 5px;
        border-bottom: 0.5px solid #BCBCBC;
    }

    #pagePath ul li,
    #pagePath ul li a {
        font-size: 1.2rem;
    }

    #pagePath ul li a {
        padding-right: 5px;
    }
}

/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
    margin: 0 auto;
    width: 240px;
    position: relative;
}

.comBtn a {
    display: block;
    padding: 10px 30px 9px;
    font-size: 1.5rem;
    text-align: center;
    border: 1px solid #323232;
    background: #323232 url("../img/common/icon04.png") no-repeat right 10px center/21px;
}

.comBtn.red a {
    border-color: #C90420;
    background-color: #C90420;
}

@media all and (min-width: 897px) {
    .comBtn a:hover {
        color: #323232;
        background-color: #fff;
        background-image: url("../img/common/icon05.png");
    }

    .comBtn.red a:hover {
        color: #C90420;
        background-image: url("../img/common/icon04_red.png");
    }
}

@media all and (max-width: 896px) {
    .comBtn a {
        padding: 11px 30px 9px;
        background-position: right 7px center;
    }
}

/*------------------------------------------------------------
	comBtn02
------------------------------------------------------------*/
.comBtn02 {
    margin: 0 auto;
    max-width: 295px;
}

.comBtn02 a {
    padding: 7px 40px 6px 13px;
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.075em;
    font-weight: bold;
    line-height: 1.3;
    border-radius: 10px;
    border: 1px solid #c90420;
    background: #c90420 url("../img/common/icon08.png") no-repeat right 15px center/30px;
}

@media all and (min-width: 897px) {
    .comBtn02 a:hover {
        color: #c90420;
        background-color: #fff;
        background-image: url("../img/common/icon09.png");
    }
}

@media all and (min-width: 897px) and (max-width: 930px) {
    .comBtn02 a {
        padding-right: 28px;
        padding-left: 10px;
        background-size: 24px;
        background-position: right 5px center;
    }
}

@media all and (max-width: 896px) {
    .comBtn02 a {
        padding: 8px 40px 6px 13px;
        line-height: 1.2;
        background-position: right 13px center;
    }
}

/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
.comImgBox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}

.comImgBox .textBox {
    width: 48%;
}

.comImgBox .textBox p {
    margin-bottom: 53px;
    letter-spacing: 0.05em;
    line-height: 1.625;
}

.comImgBox .photoBox {
    margin-top: -6px;
    width: 48.58%;
    overflow: hidden;
    border-radius: 10px;
}

.comImgBox .photoBox img {
    width: 100%;
}

.comImgBox .textBox .headLine01 {
    line-height: 1.61;
    font-size: 3.5rem;
}

@media all and (min-width: 897px) and (max-width: 1240px) {
    .comImgBox .textBox p {
        margin-bottom: 20px;
    }
}

@media all and (min-width: 897px) and (max-width: 1060px) {
    .comImgBox .textBox .headLine01 {
        font-size: 3.4rem;
    }
}

@media all and (max-width: 896px) {
    .comImgBox {
        display: block;
    }

    .comImgBox .textBox {
        width: auto;
    }

    .comImgBox .textBox p {
        margin-bottom: 27px;
        letter-spacing: 0.025em;
        line-height: 1.6;
    }

    .comImgBox .textBox p:last-of-type {
        margin-bottom: 53px;
    }

    .comImgBox .photoBox {
        margin: 0 0 30px;
        width: auto;
    }

    .comImgBox .textBox .headLine01 {
        margin: 0 0 103px 24px;
        line-height: 1.61;
        font-size: 1.9rem;
    }

    .comImgBox .textBox .headLine01 .en {
        margin-top: 23px;
        font-size: 2.4rem;
    }
}

/*------------------------------------------------------------
	comImgBox02
------------------------------------------------------------*/
.comImgBox02 {
    margin-bottom: 94px;
}

.comImgBox02 .imgBox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.comImgBox02 .imgBox .photoBox {
    margin-top: 2px;
    width: 396px;
    order: 1;
    box-sizing: border-box;
}

.comImgBox02 .imgBox .photoBox.border img {
    border: 1px solid #f2f2f2;
}

.comImgBox02 .imgBox .photoBox img {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

.comImgBox02 .imgBox .textBox {
    position: relative;
    width: calc(100% - 430px);
}

.comImgBox02 .imgBox .textBox.btnBox {
    padding-bottom: 55px;
}

.comImgBox02 .imgBox .textBox p {
    line-height: 1.625;
}

.comImgBox02 .imgBox .textBox .comBtn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}

.comImgBox02 .imgBox.large .photoBox {
    width: 41%;
}

.comImgBox02 .imgBox.large .textBox {
    width: 55%;
}

@media all and (min-width: 897px) and (max-width: 1200px) {
    .comImgBox02 .imgBox .photoBox {
        width: 45%;
    }

    .comImgBox02 .imgBox .textBox {
        width: 50%;
    }
}

@media all and (min-width: 897px) and (max-width: 1000px) {
    .comImgBox02 .imgBox .textBox p {
        font-size: 1.4rem;
    }
}

@media all and (max-width: 896px) {
    .comImgBox02 {
        margin-bottom: 90px;
    }

    .comImgBox02 .imgBox {
        display: block;
    }

    .comImgBox02 .imgBox .photoBox {
        margin: 0 0 22px;
        width: auto;
    }

    .comImgBox02 .imgBox .textBox {
        width: auto;
    }

    .comImgBox02 .imgBox .textBox p {
        margin-bottom: 24px;
        line-height: 1.6;
    }

    .comImgBox02 .imgBox .textBox p:last-of-type {
        margin-bottom: 0;
    }

    .comImgBox02 .imgBox.large .photoBox {
        width: auto;
    }

    .comImgBox02 .imgBox.large .textBox {
        width: auto;
    }

    .comImgBox02 .imgBox .textBox .comBtn {
        margin-top: 36px;
        position: relative;
        transform: none;
        left: 0;
    }

    .comImgBox02 .imgBox .textBox.btnBox {
        padding-bottom: 0;
    }
}

/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
    margin-bottom: 32px;
    font-size: 3.4rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    line-height: 1.25;
    font-feature-settings: "palt";
}

.headLine01 .en {
    display: block;
    font-size: 2.6rem;
    font-family: "din-condensed", sans-serif;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0;
}

@media all and (max-width: 896px) {
    .headLine01 {
        margin: 0 0 32px 22px;
        font-size: 1.9rem;
        letter-spacing: 0;
        line-height: 1.25;
    }

    .headLine01 .en {
        margin-top: -1px;
        font-size: 1.5rem;
        line-height: 1;
    }
}

/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
    margin-bottom: 20px;
    padding-left: 39px;
    position: relative;
    font-size: 1.9rem;
    font-weight: bold;
    letter-spacing: 0.075em;
}

.headLine02::before {
    position: absolute;
    content: "";
    left: 3px;
    top: 4px;
    width: 18px;
    height: 18px;
    background-color: #C90420;
}

@media all and (max-width: 896px) {
    .headLine02 {
        margin-bottom: 20px;
        padding-left: 23px;
        font-size: 1.7rem;
    }

    .headLine02::before {
        left: 0;
        top: 3px;
        width: 15px;
        height: 15px;
    }
}

/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
    margin-bottom: 30px;
    padding-bottom: 12px;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.075em;
    border-bottom: 1px solid #C90420;
}

@media all and (min-width: 897px) and (max-width: 1000px) {
    .headLine03 {
        font-size: 2.2rem;
    }
}

@media all and (max-width: 896px) {
    .headLine03 {
        margin-bottom: 24px;
        padding: 0 0 10px;
        padding-bottom: 8px;
        position: relative;
        font-size: 1.9rem;
        letter-spacing: 0.025em;
        line-height: 1.64;
        border: none;
    }

    .headLine03::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 2px;
        left: 0;
        bottom: 0;
        background-color: #C90420;
    }
}

@media all and (max-width: 374px) {
    .headLine03 {
        font-size: 1.6rem;
    }
}

/*------------------------------------------------------------
	popBox
------------------------------------------------------------*/
.mfp-auto-cursor .mfp-content {
    text-align: center;
}

.popBox {
    padding: 0 10px;
    box-sizing: border-box;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: left;
    z-index: 10;
}

.popBox#pick .pickBox {
    margin: 0 auto 25px;
    padding: 60px 74px 64px;
    box-sizing: border-box;
    max-width: 1100px;
    border-radius: 10px;
    border: 1px solid #c90420;
    background-color: #fff;
}

.popBox#pick .pickBox li {
    width: 42.1%;
}

.popBox#pick .pickBox li a {
    display: block;
}

.popBox#pick .pickBox li a:hover {
    opacity: 0.7;
}

.popBox#pick .pickBox li .ttl {
    margin-bottom: 26px;
    color: #c90420;
    letter-spacing: 0.05em;
    font-size: 2.4rem;
    font-weight: bold;
    background: url("../img/common/icon06.png") no-repeat right 4px center/41px;
}

.popBox#pick .pickBox li .pho {
    margin-bottom: 25px;
    border-radius: 10px;
    overflow: hidden;
}

.popBox#pick .pickBox li .text {
    color: #323232;
    line-height: 1.625;
}

.popBox .button {
    width: 100%;
    text-align: center;
}

.popBox .button a {
    padding: 4px 0 4px 52px;
    font-size: 3.3rem;
    letter-spacing: 0.1em;
    font-family: "din-condensed", sans-serif;
    font-style: normal;
    font-weight: 400;
    background: url("../img/common/icon07.png") no-repeat left center/26px;
}

.popBox .button a:hover {
    opacity: 0.7;
}

.popBox#treatment .treatUl {
    margin: 0 auto 25px;
    max-width: 1100px;
}

.popBox#treatment .treatUl::after {
    content: "";
    width: calc((100% - 40px)/3);
}

.popBox#treatment .treatUl>li {
    padding: 26px 24px 45px;
    box-sizing: border-box;
    width: calc((100% - 40px)/3);
    border-radius: 10px;
    border: 1px solid #c90420;
    background-color: #fff;
}

.popBox#treatment .treatUl>li.on {
    box-shadow: 0 3px 6px #323232;
}

.popBox#treatment .treatUl .photo img {
    width: 100%;
}

.popBox#treatment .treatUl .photo {
    margin-bottom: 31px;
}

.popBox#treatment .treatUl .ttl {
    margin: 0 0 30px 12px;
    color: #c90420;
    font-weight: bold;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
}

.popBox#treatment .treatUl .linkList {
    margin-left: 16px;
}

.popBox#treatment .treatUl .linkList li {
    margin-bottom: 14px;
}

.popBox#treatment .treatUl .linkList li:last-child {
    margin-bottom: 0;
}

.popBox#treatment .treatUl .linkList li a {
    padding: 2px 45px 2px 12px;
    display: block;
    color: #323232;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    background: url("../img/common/icon11.png") left center/ 7px, url("../img/common/icon09.png") right 15px center/ 30px;
    background-repeat: no-repeat;
}

.mfp-bg {
    background: rgba(50, 50, 50, 0.3);
}

.popBox#treatment .treatUl.show03 li:nth-child(1),
.popBox#treatment .treatUl.show02 li:nth-child(1),
.popBox#treatment .treatUl.show01 li:nth-child(2) {
    order: 1;
}

.popBox#treatment .treatUl.show03 li:nth-child(3),
.popBox#treatment .treatUl.show02 li:nth-child(2),
.popBox#treatment .treatUl.show01 li:nth-child(1) {
    order: 2;
}

.popBox#treatment .treatUl.show03 li:nth-child(2),
.popBox#treatment .treatUl.show02 li:nth-child(3),
.popBox#treatment .treatUl.show01 li:nth-child(3) {
    order: 3;
}

.popBox#treatment .treatUl::after {
    order: 5;
}

@media all and (min-width: 897px) {
    .popBox#treatment .treatUl .linkList li a:hover {
        color: #C90420;
    }
}

@media all and (max-width: 896px) {
    .mfp-container {
        padding: 0 !important;
    }

    .mfp-wrap {
        overflow: auto;
    }

    .mfp-bg {
        opacity: 1;
        background-color: #F0F0F0;
    }

    .popBox {
        padding: 0;
        position: relative;
        margin: 27px 18px;
        z-index: 100;
    }

    .popBox#pick .pickBox {
        padding: 38px 15px 64px;
        max-width: inherit;
    }

    .popBox#pick .pickBox .pickUl {
        display: block;
    }

    .popBox#pick .pickBox li {
        margin-bottom: 38px;
        padding: 0 10px 36px;
        width: auto;
        border-bottom: 1px solid #e8e8e8;
    }

    .popBox#pick .pickBox li:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
        border: none;
    }

    .popBox#pick .pickBox li .ttl {
        margin-bottom: 18px;
        font-size: 1.8rem;
        background-size: 28px;
    }

    .popBox#pick .pickBox li .pho {
        margin-bottom: 18px;
    }

    .popBox#pick .pickBox li .text {
        line-height: 1.6;
    }

    .popBox .button a {
        padding: 4px 7px 4px 37px;
        bottom: 10px;
        font-size: 2.4rem;
        background-image: url("../img/common/icon18.png");
        background-size: 19px;
    }

    .popBox .button a {
        color: #323232;
    }

    .popBox#treatment {
        margin: 27px 17px;
    }

    .popBox#treatment .treatUl {
        margin-bottom: 20px;
        display: block;
        max-width: inherit;
    }

    .popBox#treatment .treatUl::after {
        width: auto;
    }

    .popBox#treatment .treatUl>li {
        padding: 26px 22px 40px;
        display: none;
        width: auto;
        min-height: 580px;
    }

    .popBox#treatment .treatUl>li.on {
        display: block;
        box-shadow: none;
    }

    .popBox#treatment .treatUl .photo {
        margin-bottom: 28px;
    }

    .popBox#treatment .treatUl .ttl {
        margin: 0 0 28px 14px;
    }

    .popBox#treatment .treatUl .linkList {
        margin-left: 17px;
    }

    .popBox#treatment .treatUl .linkList li a {
        background-position: left top 12px, right 5px center;
    }
}

/*------------------------------------------------------------
	fixUl
------------------------------------------------------------*/
.fixUl {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 20;
}

.fixUl li {
    width: 50%;
}

.fixUl li .ico {
    display: inline-block;
    width: 28px;
}

.fixUl li a {
    padding: 13px 35px 15px 27px;
    border-right: 1px solid #fff;
    display: block;
    font-size: 1.2rem;
    letter-spacing: 0.025em;
    text-align: right;
    line-height: 1.53;
    background: #C90420;
}

.fixUl li.tel a {
    padding-right: 32px;
}

.fixUl li.tel .inner {
    width: 36px;
}

.fixUl li:last-child a {
    border-right: none;
}

.fixUl li .big {
    margin-right: 2px;
    display: block;
    font-weight: bold;
    font-size: 1.7rem;
    letter-spacing: 0.075em;
}

.fixUl li.web .big {
    margin-right: 0;
    letter-spacing: 0.025em;
}

.fixUl li .inner {
    margin-top: 5px;
    width: 28px;
    display: inline-block;
}

.fixUl li .text {
    width: calc(100% - 35px);
}

.fixUl .widBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    max-width: 170px;
}

@media all and (max-width: 374px) {
    .fixUl li a {
        padding: 13px 10px 15px;
    }

    .fixUl li a .inner {
        width: 24px;
    }

    .fixUl li.tel .inner {
        width: 28px;
    }

    .fixUl li .text {
        width: calc(100% - 30px);
    }

    .fixUl li .big {
        font-size: 1.6rem;
    }
}

/*------------------------------------------------------------
	fadeIn
------------------------------------------------------------*/
.fadeInUp {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    transition: all 1.2s;
    transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1) !important;
}

.fadeInUp.on {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.fadeInLeft,
.fadeInRight {
    opacity: 0;
    transition: all 1.2s;
    transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1) !important;
}

.fadeInLeft {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
}

.fadeInRight {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
}

.fadeInLeft.on,
.fadeInRight.on {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.delay01 {
    transition-delay: 0.2s;
}

.delay02 {
    transition-delay: 0.4s;
}

.delay03 {
    transition-delay: 0.6s;
}

.delay04 {
    transition-delay: 0.8s;
}

@media all and (max-width: 896px) {}

/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBar {
    width: 300px;
    box-sizing: border-box;
    background-color: #fff;
}

#sideBar .sTextDl dt {
    padding: 22px 10px 21px;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.075em;
    text-align: center;
    background-color: #C90420;
}

#sideBar .sTextDl dd {
    margin-bottom: 40px;
}

#sideBar .sTextDl dd:last-child {
    margin-bottom: 0;
}

#sideBar .sTextDl .linkList a {
    padding: 19px 15px 15px;
    display: block;
    color: #000;
    font-size: 1.5rem;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #f2f2f2;
    background: url(../img/common/icon19.png) no-repeat right 17px center/6px;
}

@media all and (min-width: 897px) {
    #sideBar .sTextDl .linkList a:hover {
        color: #C90420;
    }
}

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

/*------------------------------------------------------------
	conts
------------------------------------------------------------*/
#conts {
    order: 1;
    width: calc(100% - 400px);
}

@media all and (min-width: 897px) and (max-width: 1200px) {
    #conts {
        width: calc(100% - 350px)
    }
}

@media all and (max-width: 896px) {
    #conts {
        padding: 0 16px;
        box-sizing: border-box;
        width: auto;
    }
}

/*------------------------------------------------------------
	comTopBox
------------------------------------------------------------*/
.comTopBox {
    margin-bottom: 78px;
    padding: 30px 30px 37px;
    border-radius: 10px;
    border: 1px solid #F2F2F2;
}

.comTopBox .ttl {
    margin-bottom: -5px;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.075em;
}

.comTopBox .linkList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.comTopBox .linkList li {
    width: 48%;
    border-bottom: 1px solid #F2F2F2;
}

.comTopBox .linkList li a {
    padding: 25px 10px 15px 27px;
    display: flex;
    align-items: center;
    height: 100%;
    position: relative;
    color: #323232;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    box-sizing: border-box;
}

.comTopBox .linkList li a h2,
.comTopBox .linkList li a p {
    font-weight: 500;
}

.comTopBox .linkList li a::before {
    width: 6px;
    height: 8px;
    margin-top: 5px;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    background: url(../img/common/icon21.png) no-repeat left center/100%;
}

@media all and (min-width: 897px) {
    .comTopBox .linkList a:hover {
        color: #C90420;
    }
}

@media all and (max-width: 896px) {
    .comTopBox {
        margin: 0 auto 76px;
        padding: 18px 23px 23px;
        border-radius: 12px;
    }

    .comTopBox .ttl {
        margin-bottom: 10px;
        font-size: 1.4rem;
    }

    .comTopBox .linkList {
        margin: 0 -4px 7px;
        display: block;
        position: relative;
        overflow: hidden;
    }

    .comTopBox .linkList::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 30px;
        left: 0;
        z-index: 1;
        bottom: 0;
        background: linear-gradient(rgba(255, 255, 255, 0.8) 0%, #fff 100%);
    }

    .comTopBox .linkList.on::before {
        display: none;
    }

    .comTopBox .linkList li {
        width: auto;
    }

    .comTopBox .linkList li:nth-child(n+4) {
        display: none;
    }

    .comTopBox .linkList li a {
        padding: 14px 5px 13px 22px;
        font-size: 1.2rem;
        line-height: 1.67;
        height: auto;
    }

    .comTopBox .linkList li a::before {
        margin-top: 5px;
        left: 7px;
        top: 15px;
        transform: translateY(0);
        background-position: left top;
    }

    .comTopBox .btn {
        margin: 0 0 -15px auto;
        position: relative;
        z-index: 3;
    }

    .comTopBox .btn {
        margin: 0 auto;
        width: 117px;
    }

    .comTopBox .btn a {
        display: block;
        padding: 3px 10px;
        color: #323232;
        font-size: 1.1rem;
        text-align: center;
        border: 1px solid #C90420;
        border-radius: 12px;
        background-color: #fff;
    }

    .comTopBox .btn .txt02 {
        display: none !important;
    }

    .comTopBox .btn::after {
        width: calc(100% + 10px);
        height: 100%;
        position: absolute;
        left: -10px;
        top: 0;
        background-color: #fff;
        content: '';
        z-index: -1;
    }

    .comTopBox .btn.on a {
        text-align: center;
    }

    .comTopBox .btn.on .txt01 {
        display: none !important;
    }

    .comTopBox .btn.on .txt02 {
        display: block !important;
    }

    .comTopBox .linkList.on {
        height: auto;
        overflow: inherit;
    }
}

/*------------------------------------------------------------
	comStepUl
------------------------------------------------------------*/
.comStepUl li {
    margin-bottom: 62px;
    padding: 54px 42px 49px;
    position: relative;
    border: 1px solid #bcbcbc;
}

.comStepUl li:last-child {
    margin-bottom: 0;
}

.comStepUl li::before {
    position: absolute;
    content: "";
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 14px;
    bottom: -39px;
    background: url(../img/common/icon23.png) no-repeat center bottom/100%;
}

.comStepUl li:last-child::before {
    display: none;
}

.comStepUl li .num {
    position: absolute;
    min-width: 94px;
    box-sizing: border-box;
    left: 42px;
    top: -15px;
    padding: 1px 15px 0;
    color: #fff;
    font-size: 1.9rem;
    line-height: 1.4;
    text-align: center;
    font-family: "din-condensed", sans-serif;
    font-style: normal;
    font-weight: 500;
    background-color: #C90420;
}

.comStepUl li .imgBox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}

.comStepUl li .imgBox .photoBox {
    width: 220px;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

.comStepUl li .imgBox .photoBox.border {
    border: 1px solid #f2f2f2;
}

.comStepUl li .imgBox .photoBox img {
    width: 100%;
}

.comStepUl li .imgBox .textBox {
    width: calc(100% - 284px);
}

.comStepUl li .ttl {
    margin-bottom: 29px;
    font-weight: bold;
    font-size: 1.5rem;
    letter-spacing: 0.075em;
    align-items: center;
}

.comStepUl li .text {
    font-size: 1.5rem;
    line-height: 1.6;
    text-align: justify;
    text-justify: inter-ideograph;
}

.comStepUl li .inner {
    margin-top: 57px;
    padding: 26px 24px 19px;
    background-color: #F6F6F6;
}

.comStepUl li .inner .title {
    margin-bottom: 12px;
    color: #000;
    font-weight: bold;
    letter-spacing: 0.025em;
}

.comStepUl .ttl .txt {
    margin-right: 12px;
    padding: 2px 10px 0;
    display: inline-block;
    width: 94px;
    box-sizing: border-box;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: 0;
    background-color: #C90420;
}

.comStepUl .ttl .right {
    width: calc(100% - 110px);
}

.comStepUl.large li .imgBox .photoBox {
    width: 44.57%;
}

.comStepUl.large li .imgBox .textBox {
    width: 52%;
}

@media all and (min-width: 897px) and (max-width: 1080px) {
    .comStepUl li .imgBox .photoBox {
        width: 40%;
    }

    .comStepUl li .imgBox .textBox {
        width: 53%;
    }

    .comStepUl .ttl .txt {
        font-size: 1.4rem;
        min-width: 80px;
    }
}

@media all and (max-width: 896px) {
    .comStepUl li {
        padding: 30px 15px 31px;
    }

    .comStepUl li .num {
        min-width: 64px;
        left: 15px;
        top: -14px;
        padding: 4px 6px 2px;
        font-size: 1.4rem;
    }

    .comStepUl li .imgBox {
        display: block;
    }

    .comStepUl li .imgBox .photoBox {
        margin-bottom: 22px;
        width: auto;
    }

    .comStepUl li .imgBox .photoBox img {
        width: 100%;
    }

    .comStepUl li .imgBox .textBox {
        width: auto;
    }

    .comStepUl li .ttl {
        margin-bottom: 21px;
        line-height: 1.6;
        display: block;
    }

    .comStepUl li .text {
        margin-right: 9px;
    }

    .comStepUl li .inner {
        margin-top: 29px;
        padding: 31px 24px 29px;
    }

    .comStepUl .ttl .right {
        width: auto;
        display: block;
    }

    .comStepUl li .inner .title {
        margin-bottom: 16px;
        font-size: 1.6rem;
    }

    .comStepUl li .inner .text {
        margin-right: 6px;
        text-align: left;
    }

    .comStepUl .ttl .txt {
        margin: 0 0 14px;
        padding: 3px 4px 1px;
        display: block;
        font-size: 1.4rem;
        width: auto;
    }

    .comStepUl.large li .imgBox .photoBox {
        width: auto;
    }

    .comStepUl.large li .imgBox .textBox {
        width: auto;
    }
}

/*------------------------------------------------------------
	comMenuArea
------------------------------------------------------------*/
.comMenuArea {
    margin-top: 141px;
}

.comMenuArea h3,
.comMenuArea p {
    margin-left: 1px;
    padding: 15px 30px 14px;
    color: #FFF;
    font-size: 1.8rem;
    background-color: #C90420;
}

.comMenuList {
    display: flex;
    flex-wrap: wrap;
    padding: 11px 9px 0;
    background-color: #F6F6F6;
    border: 1px solid #F2F2F2;
    border-top: none;
}

.comMenuList li {
    margin: 0 10px 10px 0;
    width: calc((100% - 20px) / 3);
    color: #707070;
    font-size: 1.6rem;
    background-color: #FFF;
}

.comMenuList li:nth-child(3n) {
    margin-right: 0;
}

.comMenuList li a {
    padding: 5px 45px 5px 18px;
    min-height: 51px;
    height: 100%;
    display: flex;
    align-items: center;
    color: #323232;
    box-sizing: border-box;
    background: url("../img/common/icon22.png") no-repeat right 15px center / 24px;
}

@media all and (min-width: 897px) {
    .comMenuList li a:hover {
        color: #C90420;
        background-image: url(../img/common/icon22_red.png);
    }
}

@media all and (max-width: 896px) {
    .comMenuList {
        padding: 7px 7px 3px;
        display: block;
    }

    .comMenuArea h3,
    .comMenuArea p {
        margin-left: 0;
        padding: 22px 19px 17px;
        font-size: 1.7rem;
        background: #C90420 url("../img/common/icon25.png") no-repeat right 21px center / 20px;
    }

    .comMenuArea h3.on,
    .comMenuArea p.on {
        background-image: url("../img/common/line01.png");
    }

    .comMenuList li {
        margin-bottom: 5px;
        width: 100%;
        font-size: 1.4rem;
    }

    .comMenuList li a {
        padding: 6px 45px 4px 12px;
        background-position: right 13px center;
    }
}

/*------------------------------------------------------------
	comCheckList
------------------------------------------------------------*/
.comCheckList {
    border-top: 1px solid #F2F2F2;
    border-bottom: 1px solid #F2F2F2;
}

.comCheckList li {
    margin-bottom: -1px;
    position: relative;
    display: flex;
    padding: 25px 30px 24px 0;
    width: 50%;
    color: #000;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.27;
    box-sizing: border-box;
    border-bottom: 1px solid #F2F2F2;
}

.comCheckList li .inBg {
    padding: 5px 0 5px 61px;
    display: inline-block;
    background: url("../img/common/icon24.png") no-repeat left 10px top -6px/ 39px;
}

.comCheckList.round li .inBg {
    background-image: url(../img/common/icon27.png);
    background-size: 20px;
    background-position: left 20px top 6px;
}

.comCheckList.error li .inBg {
    background-image: url(../img/common/icon28.png);
    background-size: 20px;
    background-position: left 20px top 6px;
}

.comCheckList li::after {
    position: absolute;
    width: 1px;
    right: 0;
    top: 11px;
    bottom: 11px;
    background-color: #F2F2F2;
    content: "";
}

.comCheckList li:nth-child(2n)::after {
    display: none;
}

.comCheckList.oneli {
    display: block;
    border-bottom: none;
}

.comCheckList.oneli li {
    padding-right: 10px;
    width: 100%;
    letter-spacing: 0.025em;
}

.comCheckList.oneli li::after {
    display: none;
}

@media all and (min-width: 897px) and (max-width: 1050px) {
    .comCheckList li {
        font-size: 1.4rem;
    }
}

@media all and (max-width: 896px) {
    .comCheckList {
        display: block;
    }

    .comCheckList li {
        padding: 5px 15px 4px 0;
        padding: 16px 15px 13px 0;
        width: 100%;
        font-size: 1.4rem;
        /*		min-height: 58px;*/
        box-sizing: border-box;
    }

    .comCheckList li .inBg {
        padding: 5px 0 5px 25px;
        background-position: left -3px top 4px;
        background-size: 19px;
    }

    .comCheckList li::after {
        display: none;
    }

    .comCheckList.oneli li {
        padding: 5px 15px 4px 0;
        color: #000;
        line-height: 1.37;
        min-height: 58px;
        background-position: left -4px top 9px;
        background-size: 19px;
    }

    .comCheckList.round li .inBg {
        background-image: url(../img/common/sp_icon27.png);
        background-size: 13px;
        background-position: left 1px top 8px;
    }

    .comCheckList.error li .inBg {
        background-image: url(../img/common/sp_icon28.png);
        background-size: 13px;
        background-position: left 1px top 8px;
    }
}

/*------------------------------------------------------------
	comTextDl
------------------------------------------------------------*/
.comTextDl {
    margin-bottom: 24px;
    padding: 38px 31px 36px;
    font-size: 1.6rem;
    line-height: 1.63;
    border: 1px solid #C90420;
}

.comTextDl dt {
    margin-bottom: 20px;
    color: #000;
    font-weight: bold;
    letter-spacing: 0.025em;
}

@media all and (max-width: 896px) {
    .comTextDl {
        margin-bottom: 16px;
        padding: 30px 14px 27px;
    }
}

/*------------------------------------------------------------
	comBgBox
------------------------------------------------------------*/
.comBgBox {
    margin-bottom: 17px;
    padding: 35px 38px 28px;
    font-size: 1.5rem;
    line-height: 1.67;
    background-color: #F6F6F6;
}

.comBgBox dt {
    margin-bottom: 17px;
    padding: 1px 39px;
    color: #000;
    letter-spacing: 0.025em;
    font-weight: bold;
    background: url("../img/common/icon26.png") no-repeat left top / 23px;
}

.comBgBox dd {
    margin-left: 3px;
    text-align: justify;
    text-justify: inter-ideograph;
}

@media all and (max-width: 896px) {
    .comBgBox {
        padding: 29px 16px 34px 16px;
    }

    .comBgBox dt {
        margin-bottom: 16px;
        padding: 0 0 0 24px;
        font-size: 1.6rem;
        line-height: 1.5;
        background-size: 15px;
        background-position: left top 4px;
    }

    .comBgBox dd {
        margin-left: 0;
        line-height: 1.6;
        letter-spacing: 0;
        text-align: left;
    }
}


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

------------------------------------------------------------*/
@media all and (max-width: 896px) {}

/*------------------------------------------------------------
	追加分
------------------------------------------------------------*/
@media all and (max-width: 896px) {
    .comTopBox .linkList.no_linkList::before {
        display: none;
    }
}