@charset "utf-8"; /* CSS Document */
/*--------------------------------------
　Main Index
---------------------------------------*/
#contents {
    width: 100%;
    /* z-index: 1; */
    position: relative;
    /* background: #eff3fa; */
}

.addInner {
    width: 1100px;
    margin: 0 auto;
}

/*--------------------------------------
　visArea
---------------------------------------*/
#visArea {
    margin: 0 auto;
}

#visArea .mainArea {
    background: url(img/mv_pic_pc.png) center bottom no-repeat;
    background-size: cover;
    width: 100%;
}

#visArea .mainArea .siteNameArea {
    margin: 0 0 30px;
}

#visArea .mainArea .siteName {
    font-size: 4.0rem;
    line-height: 1;
    margin: 0 0 10px;
    width: 32rem;
}

#visArea .mainArea .siteName img {
    margin: 0 auto;
    width: 100%;
}

#visArea .mainArea .mainTxtBox {
    box-sizing: border-box;
    width: 1100px;
    /* background: rgba(255,255,255,0.8); */
    padding: 40px 50px;
    margin: 0 auto 0;
    z-index: 2;
    position: relative;
}

#visArea .mainArea .catchArea {
    margin: 0 auto 0;
}

#visArea .mainArea .catchArea .catch {
    display: inline-block;
    font-size: 5.5rem;
    font-weight: bold;
    line-height: 1.45;
    text-align: left;
    color: #00acde;
    margin: 0 0 20px;
}

#visArea .mainArea .catchArea .catch span {
    font-size: 2.5rem;
    color: #20374d;
}

#visArea .mainArea .catchArea .catch span.catchspan {
    font-size: 3.8rem;
    display: block;
}

/*--------------------------------------
　footer
---------------------------------------*/
/*--------------------------------------
　float img
---------------------------------------*/
#index .float-wrap .fl {
    width: 550px;
    margin: 0 40px 10px 0;
    text-align: center;
}

#index .float-wrap .fr {
    width: 550px;
    margin: 0 0 10px 40px;
}

#index .float-wrap .catch {
    text-align: center;
    font-size: 3.0rem;
}

#index .float-wrap .catch a {
    display: inline-block;
    text-align: center;
    padding-right: 3rem;
    background: url(img/arrow_gray.png) no-repeat right 50%;
}

#index .float-wrap .catch a span {
    display: block;
    font-size: 1.2rem;
    font-weight: normal;
    color: #548f99;
}

/*--------------------------------------
　box-wrap
---------------------------------------*/
/*--------------------------------------
　frame-wrap
---------------------------------------*/
#index h3 + .frame-wrap {
    margin: 0 auto;
}

#index .frame-wrap.hoverColor .frame-head {
    padding: 0;
}

#index .frame-wrap.hoverColor .frame .frame-head a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 1.4rem 2.4rem 1.4rem 1.4rem;
    background: url(img/arrow_gray.png) no-repeat right 14px top 50% #dcdcdc;
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: bold;
    text-align: center;
}

#index .frame-wrap.hoverColor .frame .frame-head a:hover {
    background-color: #00acde;
    opacity: 1;
}

/*--------------------------------------
オリジナル
---------------------------------------*/
/***** addParts01　使用していません *****/
/***** addParts03　使用していません *****/
/***** addParts02 企業BOX *****/
.addParts02 {
    width: 100%;
    background-color: #fff;
    padding: 2.6rem 6.5rem;
    margin: 6rem 0 0;
    position: relative;
}

.addParts02 p {
    margin: 0;
}

.addParts02 .addParts02Catch {
    display: table;
    margin: 0 auto 3rem;
    font-size: 2.0rem;
    font-weight: bold;
    color: #4e5e61;
    position: relative;
    padding: 1rem 2.6rem;
}

.addParts02 .addParts02Catch::before {
    content: "";
    display: block;
    width: 31px;
    height: 31px;
    border-top: solid 1px #548f99;
    border-left: solid 1px #548f99;
    position: absolute;
    left: 0;
    top: 0;
}

.addParts02 .addParts02Catch::after {
    content: "";
    display: block;
    width: 31px;
    height: 31px;
    border-bottom: solid 1px #548f99;
    border-right: solid 1px #548f99;
    position: absolute;
    right: 0;
    bottom: 0;
}

.addParts02 .addParts02Name {
    background-color: #548f99;
    padding: 1.6rem;
    text-align: center;
    color: #fff;
    margin: 0 0 2.7rem;
}

#contents .addParts02 .addParts02Name h3 {
    display: table;
    margin: 0 auto;
    padding: 0 8.5rem;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.4;
    color: #fff;
    position: relative;
}

#contents .addParts02 .addParts02Name h3::before, #contents .addParts02 .addParts02Name h3::after {
    content: "";
    width: 50px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
}

#contents .addParts02 .addParts02Name h3::after {
    left: auto;
    right: 0;
}

#contents .addParts02 h4 {
    font-size: 2.5rem;
    font-weight: bold;
    margin: 6rem 0 1rem;
    padding: 0 0 0 36px;
    position: relative;
}

#contents .addParts02 h4::before {
    content: "";
    width: 18px;
    height: 4px;
    background-color: #bba17e;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -2px;
}

/*slideTxtArea*/
.addParts02 .slideTxtArea {
    width: calc(100% - 40px);
    padding: 20px;
    margin: 0 auto 0;
    position: relative;
    z-index: 2;
}

.addParts02 .caption {
    margin: 0;
}

.addParts02 .slideTit {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
    margin: 0 0 8px;
}

.addParts02 .slideTxt {
    line-height: 1.6;
}

/*テキスト動き*/
.addParts02 .slideTxtArea {
    opacity: 0;
    transition: all 1.0s 0s ease;
    transition-delay: 300ms;
}

.addParts02 .slick-slide.slick-current .slideTxtArea, .addParts02 .slick-slide.is-active-next .slideTxtArea {
    opacity: 1;
}

.addParts02 .slideTxtInner {
    opacity: 0;
    margin-left: -15px;
    transition: all 0.5s 0s ease;
    transition-delay: 600ms;
}

.addParts02 .slick-slide.slick-current .slideTxtInner, .addParts02 .slick-slide.is-active-next .slideTxtInner {
    opacity: 1;
    margin-left: 0;
}

/***** addParts04　目次　*****/
.addParts04 {
    width: 1100px;
    margin: 0 auto 6rem;
    border: #bfbfbf solid 1px;
    padding: 3rem 4.0rem;
    box-shadow: 2px 2px 5px rgba(108,108,108,0.3);
}

.addParts04 .addParts04Tit {
    padding-left: 1.6rem;
    line-height: 40px;
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 0 30px;
    border-bottom: #548f99 solid 1px;
}

.addParts04 .addParts04Tit::before {
    content: "INDEX";
    color: #548f99;
    font-size: 4.0rem;
    line-height: 1;
    margin-right: 24px;
}

.addParts04 .addParts04Tit::after {
    content: "";
    width: 1px;
    height: 16px;
    background-color: #333;
    position: absolute;
    left: 127px;
    top: 15px;
}

#contents .addParts04 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#contents .addParts04 ul li {
    width: 46%;
    margin-top: 1rem;
}

#contents .addParts04 ul li a {
    display: block;
    text-decoration: none;
    background: url(img/arrow_gray.png) no-repeat right 50%;
    padding-right: 3rem;
}

#contents .addParts04 ul li a:hover {
    color: #00acde;
}

/***** addParts05　基本　*****/
#contents section.sponsor-section::after {
    background: url(img/bg02.png) center top no-repeat;
    height: 511px;
    width: 280px;
    content: "";
    position: absolute;
    opacity: 1;
    z-index: 0;
    top: auto;
    right: 0;
    bottom: 170px;
    opacity: 0.5;
    /* optional */
    transform: translateY(var(--scroll-offset, 0px));
    transition: transform 0.1s ease-out;
    /* optional */
}

#contents section.sponsor-section .addParts05.bg01 {
    margin: 0 auto;
    padding: 5rem;
    background: url(img/parts05bg01.png) center bottom -15rem no-repeat #f4f7fc;
}

#index section.water-type-section {
    position: relative;
    overflow: hidden;
}

#index section.water-type-section::before {
    content: "";
    position: absolute;
    top: -150px;
    left: 0;
    width: 200%;
    height: 100%;
    z-index: 0;
    opacity: 1;
    background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1200 200" xmlns="http://www.w3.org/2000/svg"><path d="M0,100 C150,200 350,0 600,100 C850,200 1050,0 1200,100 L1200,0 L0,0 Z" fill="%23ffffff"/></svg>') repeat-x;
    background-size: cover;
    animation: waveMoveWaterType 20s linear infinite;
}

@keyframes waveMoveWaterType {
    0% {
        background-position-x: 0;
    }

    100% {
        background-position-x: -600px;
    }
}

#index section.water-type-section::after {
    background: url(img/bg01.png) bottom center no-repeat;
    height: 490px;
    width: 273px;
    content: "";
    position: absolute;
    z-index: 0;
    top: -13rem;
    left: 0;
    opacity: 0.5;
    transform: translateY(var(--scroll-offset, 0px));
    transition: transform 0.1s ease-out;
    /* optional */
}

#contents section.water-type-section .addParts05.bg01 {
    background: none;
    padding: 2rem 0;
}

#contents section.water-type-section .addParts05 .addParts05Tit {
    margin: 0 auto;
    text-align: center;
    position: relative;
}

#contents section.water-type-section .addParts05 .addParts05Tit span {
    background: url(img/type.png) no-repeat center;
    background-size: auto 1.2rem;
    margin: auto;
    display: flex ;
    width: 40%;
    height: 1.2rem;
}

section.eco-touch-section {
    background: #fff;
    padding-bottom: 10rem;
    margin-top: -3rem;
    position: relative;
    z-index: 0;
}

section.eco-touch-section .addParts08 {
    margin-top: 5rem;
    position: relative;
}

#contents section.eco-touch-section::before {
    background: url(img/bg01.png) center center no-repeat;
    height: 520px;
    width: 273px;
    content: "";
    position: absolute;
    z-index: 0;
    top: -25rem;
    left: 0;
    opacity: 0.5;
    transform: translateY(var(--scroll-offset, 0px));
    transition: transform 0.1s ease-out;
    /* optional */
}

#contents section.eco-touch-section::after {
    background: url(img/bg05.png) center center no-repeat;
    background-size: cover;
    height: 17vw;
    width: 15vw;
    content: "";
    position: absolute;
    z-index: 0;
    top: 53%;
    right: 0;
    opacity: 0.5;
    transform: translateY(var(--scroll-offset, 0px));
    transition: transform 0.1s ease-out;
    /* optional */
}

#contents section.eco-touch-section .addParts05 .addParts05Tit {
    margin: 4rem auto;
    text-align: center;
}

#contents section.eco-touch-section .addParts05 .addParts05Tit h2 span {
    background: none;
    margin: auto;
    display: contents;
    color: #f97d00;
}

#contents section.eco-touch-section .addParts05 .addParts05Tit span {
    background: url(img/eco-touch.png) no-repeat center;
    background-size: auto 1.2rem;
    margin: auto;
    display: flex;
    width: 40%;
    height: 1.2rem;
}

#contents section.eco-touch-section .addParts05 .addParts05Tit h2 {
    text-align: center;
    font-size: 3rem;
    line-height: 1.4;
    color: #20374d;
    margin-top: 2rem;
}

#contents .addParts05.bg01 {
    position: relative;
    width: 1100px;
    margin: auto;
    background: #f4f7fc;
    padding: 5rem;
}

#contents .addParts05 .addInner {
    width: 100%;
}

section.sponsor-section .sponsor-header {
    background: #00acde;
    /* padding: 1rem; */
    text-align: center;
    padding: 0;
}

section.sponsor-section .sponsor-header a {
    display: block;
    font-weight: bold;
    color: #333;
    background: url(img/ico_arrow01.png) right bottom 1px no-repeat;
    background-size: 31px auto;
    padding: 20px;
}

#contents section.facility-section {
    position: relative;
}

#contents section.facility-section::before {
    background: url(img/bg04.png) bottom center no-repeat;
    height: 500px;
    width: 273px;
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    opacity: 0.5;
    top: -120px;
    transform: translateY(var(--scroll-offset, 0px));
    transition: transform 0.1s ease-out;
    /* optional */
}

/* 全体ラップ */
#contents section.facility-section .addParts05 {
    padding: 120px 0 60px;
    margin-top: 14rem;
    margin: 14rem auto;
    max-width: 1300px;
}

#contents section.facility-section .addParts05.bg03 {
    padding: 0 0 60px;
    margin-top: 10rem;
}

section.sponsor-section {
    background: #fff;
}

/* 全体ラップ */
#contents section.facility-section .addParts05.hotel-section {
    background: url(img/hotel-section01.png) center bottom no-repeat #00a3de;
    background-size: cover;
}

#contents section.facility-section .addParts05.hospital-section {
    background: url(img/hospital-section01.png) center top no-repeat #00a3de;
    /* 背景の青 */
    background-size: cover;
}

#contents section.facility-section .addParts05.gym-section {
    background: url(img/gym-section01.png) center top no-repeat #00a3de;
    /* 背景の青 */
    background-size: cover;
}

#contents section.facility-section .addParts05.supermarket-section {
    background: url(img/supermarket-section01.png) center top no-repeat #00a3de;
    /* 背景の青 */
    background-size: cover;
}

/* 内部コンテンツ */
#contents section.facility-section .addParts05.hotel-section .addInner, #contents section.facility-section .addParts05.hospital-section .addInner, #contents section.facility-section .addParts05.gym-section .addInner, #contents section.facility-section .addParts05.supermarket-section .addInner {
    max-width: 1100px;
    margin: 0 auto;
    /* background: #ffffff; */
    padding: 60px 40px 40px;
    position: relative;
    border-radius: 5px;
}

/* タイトルセクション */
#contents section.facility-section .addParts05Tit.hotel-title, #contents section.facility-section .addParts05Tit.hospital-title, #contents section.facility-section .addParts05Tit.gym-title, #contents section.facility-section .addParts05Tit.supermarket-title {
    display: flex;
    align-items: center;
    background: #20374d;
    color: #fff;
    padding: 10px 20px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 80px;
    margin-top: -24.5rem;
    min-height: 13rem;
}

#contents section.facility-section .addParts05Tit.hotel-title h3, #contents section.facility-section .addParts05Tit.hospital-title h3, #contents section.facility-section .addParts05Tit.gym-title h3, #contents section.facility-section .addParts05Tit.supermarket-title h3 {
    margin: 0 10rem 0 0;
    font-size: 3rem;
    padding: 1rem 0 1rem 65px;
    color: #fff;
    text-align: left;
}

#contents section.facility-section .addParts05 .addParts05Tit.hotel-title span, #contents section.facility-section .addParts05 .addParts05Tit.hospital-title span, #contents section.facility-section .addParts05 .addParts05Tit.gym-title span, #contents section.facility-section .addParts05 .addParts05Tit.supermarket-title span {
    background: none;
    width: 100%;
    color: #fff;
    font-size: 1.6rem;
}

#contents section.facility-section .addParts05Tit.hotel-title::after, #contents section.facility-section .addParts05Tit.hospital-title::after, #contents section.facility-section .addParts05Tit.gym-title::after, #contents section.facility-section .addParts05Tit.supermarket-title::after {
    content: "";
    position: absolute;
    background: #20374d;
    top: 0;
    right: 100%;
    bottom: 0;
    width: 9999px;
    z-index: 0;
}

#contents section.facility-section .addParts05Tit.hotel-title i.icon-hotel {
    background: url(img/hotel-icon.png) no-repeat center center;
    background-size: auto 5rem;
    width: 4.8rem;
    height: 5rem;
    position: absolute;
    left: 0;
    z-index: 1;
    top: 5px;
}

#contents section.facility-section .addParts05Tit.hospital-title i.icon-hospital {
    background: url(img/hospital-icon.png) no-repeat center center;
    background-size: auto 5rem;
    width: 5.1rem;
    height: 5rem;
    position: absolute;
    left: 0;
    z-index: 1;
    top: 5px;
}

#contents section.facility-section .addParts05Tit.gym-title i.icon-gym {
    background: url(img/spa-icon.png) no-repeat center center;
    background-size: auto 4rem;
    width: 5.3rem;
    height: 4rem;
    position: absolute;
    left: 0;
    z-index: 1;
    top: 12px;
}

#contents section.facility-section .addParts05Tit.supermarket-title i.icon-supermarket {
    background: url(img/supermarket-icon.png) no-repeat center center;
    background-size: auto 5rem;
    width: 5rem;
    height: 5rem;
    position: absolute;
    left: 0;
    z-index: 1;
    top: 5px;
}

/* サブタイトル */
#contents section.facility-section .addParts05Tit p {
    padding: 2rem 2rem;
    font-size: 14px;
    font-weight: normal;
    color: #fff;
    border-left: solid 1px #fff;
    margin: 0;
}

/* BEFORE / AFTER 比較セクション */
#contents section.facility-section .compare-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

#contents section.facility-section .compare-box {
    width: 47%;
    text-align: center;
    position: relative;
    margin-top: 5rem;
}

#contents section.facility-section .compare-box.before::before {
    background: url(img/arrow_bl.png) no-repeat center;
    background-size: auto 94px;
    height: 94px;
    width: 47px;
    content: "";
    position: absolute;
    z-index: 0;
    top: 35%;
    right: -55px;
}

#contents section.facility-section .compare-label {
    font-weight: bold;
    background: #ccc;
    color: #000;
    display: inline-block;
    padding: 5px 18px;
    font-size: 14px;
    position: absolute;
    left: 10px;
    margin: 0;
    top: -16px;
}

#contents section.facility-section .compare-label.yellow {
    background: #ffcc00;
    color: #000;
}

#contents section.facility-section .compare-img img {
    width: 100%;
    height: auto;
    background: #ccc;
    /* プレースホルダー背景 */
}

/* 節水対策セクション */
#contents section.facility-section .indexTitWrap01 {
    margin-bottom: 35px;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: 5px 40px 15px;
    border-radius: 5px;
}

#contents section.facility-section .indexTitWrap01 .indexTit {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 15px;
    /* background: none; */
    background-size: 3.5rem auto;
    color: #09264a;
    margin: 2rem 0;
    padding: 1rem 50px 1rem;
    width: 100%;
    text-align: left;
    border-bottom: 1px solid #00acde;
}

#contents section.facility-section .indexTitWrap01 div.indexTit {
    display: table-cell;
    vertical-align: middle;
    padding: 3rem 2rem;
}

#contents section.facility-section .indexTitWrap01 .indexTxt p {
    margin: 0 auto 20px;
}
#contents section.facility-section .indexTitWrap01 .indexTxt .btn-link {
    margin: 5px auto;
}
/* 下部セクション */
#contents section.facility-section .addParts06 {
    /* background: #f9f9f9; */
    padding: 0;
    border-radius: 5px;
}

#contents section.facility-section .addParts06TitWrap h3 {
    font-size: 18px;
    margin-bottom: 15px;
}

#contents section.facility-section .highlight-label {
    background: #ffcc00;
    padding: 4px 8px;
    font-weight: bold;
    display: inline-block;
    font-size: 1.8rem;
    margin-bottom: 1rem;
}

#contents section.facility-section .addParts06TitWrap p {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 10px;
}

#contents section.facility-section .addParts05 .addParts05Tit span {
    background: url(img/example.png) no-repeat center;
    background-size: auto 1.2rem;
    margin: auto;
    display: flex ;
    width: 40%;
    height: 1.2rem;
}

.sponsor-body {
    margin: 3rem 0 0;
}

#contents .addParts05.bg02 {
    background-color: #324649;
    color: #fff;
}

#contents .addParts05.bg03 {
    background-color: transparent;
    padding: 8rem 0 5rem;
    margin-top: -3rem;
}

#contents .addParts05.bg03 .addInner {
    width: 1100px;
    margin: 0 auto;
}

#contents .addParts05.bg03.point-add {
    padding: 0 0 5rem;
}

#contents .addParts05.bg03.point-add ul li::before {
    content: '';
    background: url(img/fv_list.png) left top 0.2rem no-repeat;
    background-size: 17px auto;
    width: 17px;
    height: 24px;
    padding-right: 0.9rem;
}

#contents .addParts05.bg03.point-add .indexTitWrap02 {
    margin: 0 auto;
    padding: 20px 30px;
    width: 80%;
    border-radius: 5px;
}

#contents .addParts05.bg03.point-add .indexTitWrap02 .indexTxt ul {
    margin: 10px auto;
    padding: 0;
}

#contents .indexTxt ul.link-list li a {
    margin: 0;
    padding-right: 2rem;
    background: url(img/arrow_blue.png) no-repeat right 50% / 1.6rem auto;
    text-decoration: none;
    width: 100%;
}

#contents .indexTxt ul.link-list li .sp_br {
        display: none;
    }

ul.link-list li span.text:hover {
    color: #00acde;
}

ul.link-list li span.text {
    font-weight: bold;
}

ul.link-list li {
    display: flex;
}

ul.link-list li a {
}

#contents .addParts05 .addParts05Tit {
    margin: 4rem auto;
    text-align: center;
    position: relative;
}

#contents .addParts05 .addParts05Tit span {
}

#contents .addParts05 .addParts05Tit h2 {
    text-align: center;
    font-size: 3rem;
    line-height: 1.4;
    color: #20374d;
    margin-top: 2rem;
}

#contents .addParts05.bg02 .addParts05Tit h2 {
    color: #fff;
}

#contents .addParts05 .addParts05Tit h2 a {
    color: #20374d;
    display: inline-block;
    padding: 0 3rem;
    background: url(img/arrow_blue.png) no-repeat right 50%;
}

#contents .addParts05 .addParts05Tit h2 a:hover {
    color: #00acde;
}

#contents .addParts05 .box-wrap {
    margin: 4rem auto;
}

/***** addParts06　メリット　*****/
.addParts06 {
    background-color: #fff;
    padding: 7rem 4rem;
    color: #333;
    /* box-shadow: 2px 2px 5px rgba(108,108,108,0.3); */
}

.addParts06 .addParts06TitWrap {
    background: #eff3fa;
    margin: 25px auto 25px;
    padding: 2rem 4rem 1.5rem;
    border-radius: 5px;
}

#index .addParts06 .addParts06TitWrap h4 {
    font-size: 2.5rem;
    margin: 0;
    padding: 0;
    line-height: 1.5;
    background: none;
    color: #09264a;
}

#contents .addParts06 .addParts06TitWrap h3 {
    font-size: 2.9rem;
    color: #bba17e;
    font-weight: bold;
}

#contents .addParts06 .addParts06BoxWrap {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
}

#contents .addParts06 .addParts06BoxWrap .addParts06Box::before {
    display: none;
}

#contents .addParts06 .addParts06BoxWrap .addParts06Box {
    background: #c7dee2;
    padding: 2rem;
    margin: 20px 0 0;
}

#contents .addParts06 .addParts06BoxWrap .addParts06Box:nth-child(2) {
    margin: 20px 3rem 0;
}

#contents .addParts06 .addParts06BoxWrap .addParts06Box h4 {
    background-image: url(img/ico_cost.svg);
    background-position: top center;
    background-size: 70px;
    background-repeat: no-repeat;
    padding-top: 86px;
    font-size: 2.3rem;
    font-weight: bold;
    text-align: center;
}

#contents .addParts06 .addParts06BoxWrap .addParts06Box:nth-child(2) h4 {
    background-image: url(img/ico_yield.svg);
}

#contents .addParts06 .addParts06BoxWrap .addParts06Box:nth-child(3) h4 {
    background-image: url(img/ico_people.svg);
}

/***** .addParts07 メリット・デメリット　*****/
.addParts07 {
    border: #d2d2d2 solid 1px;
    background-color: #fff;
    box-shadow: 2px 2px 5px rgba(108,108,108,0.3);
    padding: 3rem 4.5rem;
}

#contents .addParts07 h3 {
    text-align: center;
    font-weight: bold;
    color: #c4a57c;
    font-size: 3.0rem;
    line-height: 1.4;
}

#contents .addParts07 h3 span {
    color: #333;
    font-size: 1.8rem;
    display: block;
}

#contents .addParts07 .addParts07BoxWrap {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
}

#contents .addParts07 .addParts07BoxWrap .addParts07Box::before {
    display: none;
}

#contents .addParts07 .addParts07BoxWrap .addParts07Box {
    width: 48%;
    background: #c7dee2;
    padding: 2rem;
    margin: 20px 0 0;
}

#contents .addParts07 .addParts07BoxWrap .addParts07Box h4 {
    color: #324649;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    padding: 104px 0 22px;
    background-image: url(img/ico_merit.png);
    background-repeat: no-repeat;
    background-position: top center;
    position: relative;
}

#contents .addParts07 .addParts07BoxWrap .addParts07Box:last-child h4 {
    background-image: url(img/ico_demerit.png);
}

#contents .addParts07 .addParts07BoxWrap .addParts07Box h4::after {
    contents: "";
    width: 46px;
    height: 3px;
    background-color: #548f99;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -23px;
}

/***** addParts08 ボタン横並び　*****/
#contents .addParts08 ul {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
}

#contents .addParts08 ul li::before {
    display: none;
}

#contents .addParts08 ul li {
    padding: 0;
    width: 23%;
    margin: 1.4rem 0 0 0;
}

#contents .addParts08 ul li a {
    text-decoration: none;
    display: block;
    background: #20374d;
    padding: 0 2rem 1.6rem;
    text-align: center;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: bold;
    color: #fff;
    border-radius: 5px;
}

#contents .addParts08.facility-buttons ul {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
}

#contents .addParts08.facility-buttons ul li {
    padding: 0;
    width: 23.9%;
    margin: 1.4rem 0 0 0;
}

#contents .addParts08.facility-buttons ul li a {
    height: 10rem;
    padding: 2rem 2rem 2rem 9rem;
    border-radius: 0;
    text-align: left;
    display: flex;
    align-items: center;
    border-radius: 5px;
}

#contents .addParts08.facility-buttons .icon.icon-hotel {
    background: url(img/hotel-icon.png) no-repeat left center;
    background-size: 4rem auto;
    width: 4rem;
    height: 5rem;
    display: flex;
    margin-bottom: auto;
    position: absolute;
    left: 3rem;
}

#contents .addParts08.facility-buttons .icon.icon-hospital {
    background: url(img/hospital-icon.png) no-repeat left center;
    background-size: 4rem auto;
    width: 4rem;
    height: 5rem;
    display: flex;
    margin-bottom: auto;
    position: absolute;
    left: 3rem;
}

#contents .addParts08.facility-buttons .icon.icon-onsen {
    background: url(img/spa-icon.png) no-repeat left center;
    background-size: 4rem auto;
    width: 4rem;
    height: 5rem;
    display: flex;
    margin-bottom: auto;
    position: absolute;
    left: 3rem;
}

#contents .addParts08.facility-buttons .icon.icon-supermarket {
    background: url(img/supermarket-icon.png) no-repeat left center;
    background-size: 4rem auto;
    width: 4rem;
    height: 5rem;
    display: flex;
    margin-bottom: auto;
    position: absolute;
    left: 3rem;
}

#contents .addParts08 ul li a span.num01::before {
    background: url(img/001.png) no-repeat center;
    background-size: auto 36px;
    content: "";
    width: 75px;
    height: 36px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
    filter: drop-shadow(1px 0 0 #00acde) drop-shadow(-1px 0 0 #00acde) drop-shadow(0 1px 0 #00acde) drop-shadow(0 -1px 0 #00acde);
}

#contents .addParts08 ul li a span.num02::before {
    background: url(img/002.png) no-repeat center;
    background-size: auto 36px;
    content: "";
    width: 75px;
    height: 36px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
    filter: drop-shadow(1px 0 0 #00acde) drop-shadow(-1px 0 0 #00acde) drop-shadow(0 1px 0 #00acde) drop-shadow(0 -1px 0 #00acde);
}

#contents .addParts08 ul li a span.num03::before {
    background: url(img/003.png) no-repeat center;
    background-size: auto 36px;
    content: "";
    width: 75px;
    height: 36px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
    filter: drop-shadow(1px 0 0 #00acde) drop-shadow(-1px 0 0 #00acde) drop-shadow(0 1px 0 #00acde) drop-shadow(0 -1px 0 #00acde);
}

#contents .addParts08 ul li a span.num04::before {
    background: url(img/004.png) no-repeat center;
    background-size: auto 36px;
    content: "";
    width: 75px;
    height: 36px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
    filter: drop-shadow(1px 0 0 #00acde) drop-shadow(-1px 0 0 #00acde) drop-shadow(0 1px 0 #00acde) drop-shadow(0 -1px 0 #00acde);
}

#contents .addParts08 ul li a::before {
    content: "";
    width: 15px;
    height: 22px;
    position: absolute;
    bottom: -12px;
    left: 0;
    right: 0;
    margin: auto;
    background: url(img/arrow_blue_down.png) no-repeat center;
}

#contents .addParts08 ul li a:hover {
    background-color: #00acde;
}

/***** addParts09 特集 *****/
.addParts09 {
}

#contents .operator-section .addInner {
    display: block;
    border: solid 1px #ffffff;
    padding: 6rem 10rem 2rem;
    background-color: transparent;
    color: #fff;
    position: relative;
    border-radius: 5px;
    background: rgb(0 93 124 / 0.3);
    backdrop-filter: blur(10px);
}

#contents .operator-section .addInner p {
    color: #fff;
    text-align: left;
    padding: 0;
}

#contents .operator-section .addInner .btn-link {
    text-align: right;
}

#contents .operator-section .addInner .highlight {
    font-weight: bold;
    background: none;
    font-size: 4rem;
    color: #f9cd00;
}

#contents .operator-section .addInner .btn-link a {
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
    text-align: right;
}

#contents .operator-section .addInner .btn-link a:hover {
    color: #00acde;
}

c #index .operator-section .addParts09 h2 {
    text-align: center;
    font-size: 2.2rem;
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
}

/***** addParts10 *****/
.addParts10 {
    padding: 4rem 0;
}

.addParts10BoxWrap.effect-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.addParts10 .addParts10BoxWrap.effect-grid .addParts10Box:nth-child(2n) .addParts10BoxTxt {
    padding: 0;
}

.addParts10 .addParts10BoxWrap.effect-grid .addParts10Box {
    display: flex;
    flex-direction: column;
    margin: 0;
    background: #f4f7fc;
    padding: 1.5rem 2.5rem;
    margin-bottom: 1rem;
    width: 49.5%;
}

.addParts10 .addParts10BoxWrap.effect-grid .addParts10Box:nth-child(2n) {
    flex-direction: column;
}

.addParts10 .addParts10BoxWrap.effect-grid .addParts10Box .addParts10BoxImg {
    width: 100%;
    object-fit: cover;
}

.addParts10 .addParts10BoxWrap.effect-grid .addParts10Box .addParts10BoxTxt {
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    position: relative;
    background: #f4f7fc;
    text-align: center;
}

.addParts10 .addParts10BoxWrap.effect-grid .addParts10Box .addParts10BoxTxt::before, .addParts10 .addParts10BoxWrap.effect-grid .addParts10Box .addParts10BoxTxt::after {
    display: none;
}

#index .addParts10 .addParts10BoxWrap.effect-grid .addParts10Box .box-label {
    background: #00addf;
    display: inline-block;
    padding: 3px 10px;
    margin-bottom: 1.5rem;
    margin-left: 0.9rem;
}

#index .addParts10 .addParts10BoxWrap.effect-grid .addParts10Box .box-label .label-title {
    color: #fff;
    font-weight: bold;
    margin-bottom: 1rem;
}

#index .addParts10 .addParts10BoxWrap.effect-grid .addParts10Box .btn-link {
    max-width: 1100px;
    margin: 30px 0;
    text-align: right;
}

#index .addParts10 .addParts10BoxWrap.effect-grid .addParts10Box h4 {
    font-size: 2.5rem;
    font-weight: bold;
    margin: 2rem auto 2rem;
    padding: 0;
    line-height: 1.3;
    background: none;
    position: relative;
    color: #20374d;
}

#anc03.addParts10Box {
    display: flex;
    flex-direction: row-reverse;
    margin: 0 auto 10rem;
}

.addParts10 .addParts10BoxWrap .addParts10Box {
    display: flex;
    flex-direction: row-reverse;
    margin: 0 auto 0;
}

.addParts10 .addParts10BoxWrap .addParts10Box:nth-child(2n) {
    flex-direction: row;
}

.addParts10 .addParts10BoxWrap .addParts10Box:nth-child(2n) .addParts10BoxTxt {
    padding: 3rem 6rem 3rem 3rem;
}

.addParts10 .addParts10BoxWrap .addParts10Box:nth-child(2n) .addParts10BoxTxt h3::after {
    right: 0;
    left: auto;
}

#index .addParts10 .addParts10BoxWrap .addParts10Box:nth-child(2n) .box-label {
    margin-left: 0;
}

.addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxImg {
    width: 50%;
    object-fit: cover;
    overflow: hidden;
    position: relative;
}

.addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt {
    box-sizing: border-box;
    width: 50%;
    padding: 3rem 3rem 3rem 6rem;
    position: relative;
    background: #f4f7fc;
}

#index .addParts10 .addParts10BoxWrap .addParts10Box .box-label {
    background: #20374d;
    display: inline-block;
    padding: 3px 10px;
    margin-bottom: 1.5rem;
    margin-left: 3rem;
    margin-top: -3px;
    border-radius: 5px;
}

#index .addParts10 .addParts10BoxWrap .addParts10Box .box-label .label-title {
    color: #fff;
    font-weight: bold;
    margin-bottom: 1rem;
}

#index .addParts10 .addParts10BoxWrap .addParts10Box .btn-link {
    max-width: 1100px;
    margin: 30px auto 0;
    text-align: right;
}

#index .addParts10 .addParts10BoxWrap .addParts10Box h4 {
    font-size: 2rem;
    font-weight: bold;
    margin: 2rem auto 2rem;
    padding: 0;
    line-height: 1.3;
    background: none;
    position: relative;
    color: #00acde;
}

#anc02.addParts10Box {
    display: flex;
    flex-direction: row;
}

#anc02.addParts10Box .addParts10BoxTxt {
    box-sizing: border-box;
    width: 100%;
    padding: 3rem 3rem 3rem 6rem;
    position: relative;
    background: #f4f7fc;
    margin-bottom: 1rem;
}

.addParts10Box .addParts10BoxTxt h3::after {
    content: " ";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #20374d;
    position: absolute;
    top: auto;
    right: auto;
    left: 0;
    bottom: 0;
    -webkit-transform: none;
    transform: none;
}

.addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt::before {
    content: " ";
    border-style: solid;
    border-width: 60px 60px 0 0;
    border-color: #203753 transparent transparent transparent;
    position: absolute;
    left: 0;
    top: 0;
}

.addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt::after {
    background: url(img/001.png) no-repeat center;
    background-size: auto 40px;
    content: "";
    width: 62px;
    height: 40px;
    position: absolute;
    top: 18px;
    left: 8px;
    filter: drop-shadow(1px 0 0 #00acde) drop-shadow(-1px 0 0 #00acde) drop-shadow(0 1px 0 #00acde) drop-shadow(0 -1px 0 #00acde);
}

#anc02.addParts10Box .addParts10BoxTxt::after {
    background: url(img/002.png) no-repeat center;
    background-size: auto 40px;
    width: 68px;
}

#anc03.addParts10Box .addParts10BoxTxt::after {
    background: url(img/003.png) no-repeat center;
    background-size: auto 40px;
    width: 68px;
}

#anc04.addParts10Box .addParts10BoxTxt::after {
    background: url(img/004.png) no-repeat center;
    background-size: auto 40px;
    width: 68px;
    left: auto;
    right: 8px;
}

.addParts10 .addParts10BoxWrap .addParts10Box:nth-child(2n) .addParts10BoxTxt::before {
    border-width: 0 60px 60px 0;
    border-color: transparent #20374d transparent transparent;
    position: absolute;
    left: auto;
    right: 0;
}

#contents .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt h3 {
    margin: 0;
    text-align: left;
    font-size: 3rem;
    font-weight: bold;
    padding: 0 0 3rem;
    position: relative;
    color: #20374d;
    display: block;
}

#anc02 .addParts10BoxTxt h3::after {
    width: 100%;
}

#contents .addParts10 .addParts10BoxWrap .addParts10Box:nth-child(2n) .addParts10BoxTxt h2::after {
    top: auto;
    right: 0;
    left: auto;
    bottom: 0;
}

#contents .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt h2 a {
    display: inline-block;
    text-decoration: none;
    color: #333;
    background: url(img/arrow_gray.png) no-repeat 99% 50%;
    padding-right: 2rem;
}

#contents .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt h2 a:hover {
    background: url(img/arrow_green.png) no-repeat 99% 50%;
    color: #00acde;
    opacity: 1;
}

/***** 見出し　*****/
#index h3 {
    max-width: none;
    display: table;
    margin: 6rem auto 1rem;
    font-size: 3.2rem;
    background-color: transparent;
    padding: 0 0 2rem;
    /* border-bottom: #c9d5d7 solid 5px; */
    border-left: none;
}

.indexTitWrap01 {
    display: table;
    width: 100%;
    /* background-color: #548f99; */
    color: #fff;
    position: relative;
    margin: 0 0 4rem;
}

.indexTitWrap01::after {
    display: none;
}

#index .indexTitWrap01 .indexTit {
    display: table-cell;
    vertical-align: middle;
    padding: 3rem 1rem;
    text-align: center;
    font-size: 2.5rem;
    color: #fff;
    width: 346px;
    /* border-right: solid 2px #fff; */
}

#index .indexTitWrap01 .indexTit span {
    font-size: 2.0rem;
}

.indexTitWrap01 .indexTxt {
    display: table-cell;
    vertical-align: middle;
    padding: 0;
}

#contents .indexTitWrap01 .indexTxt ul {
    background: #fff6cc;
    margin: 25px auto 50px;
    padding: 15px 15px 10px;
    font-weight: bold;
    width: 70%;
    border-radius: 5px;
}

#index .indexTitWrap01 .indexTxt p {
    margin-bottom: 0;
}

.indexTitWrap01 .indexTxt p:first-child {
    margin-top: 0;
}

.indexTitWrap02 {
    margin: 20px auto;
    padding: 30px;
    background: #f2f2f2;
    position: relative;
    border-left: solid 5px #f6bd00;
}

#index .indexTitWrap02 .indexTit {
    font-size: 2.5rem;
    position: relative;
    color: #20374d;
}

#index .indexTitWrap02 .indexTit::before {
    content: "";
    position display: block;
    background: url(img/point-matome.png) no-repeat center;
    background-size: auto 1.2rem;
    margin: 0;
    display: flex;
    width: 4.5rem;
    height: 1.2rem;
}

.sponsor-block {
    display: block !important;
}

#index section.water-saving-section .water-saving-message .caption {
    text-align: center;
}

#index section.water-saving-section .water-saving-message .caption a {
   color: #999;
   }

@media screen and (max-width: 599px) {
    /*------------
 Index
 ------------*/#contents {
        width: 100%;
    }

    #index {
    }

    .addInner {
        width: 92%;
        margin: 0 auto;
    }

    /*--------------------------------------
  visArea
 ---------------------------------------*/
    #visArea {
        margin: 0 auto 2rem;
    }

    #visArea .mainArea {
        background-size: cover;
        min-height: 10px;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        /* padding: 5%; */
    }

    #visArea .mainArea .mainTxtBox {
        width: 100%;
        padding: 0;
        margin: 0 auto;
    }

    #visArea .mainArea .catchArea {
        margin: 0 auto 0;
        padding: 0 5%;
    }

    #visArea .mainArea .catchArea .catch {
        font-size: 7vw;
    }

    #visArea .mainArea .txtArea {
    }

    /*--------------------------------------
  footer
 ---------------------------------------*/
    /*--------------------------------------
  box-wrap
 ---------------------------------------*/
    #contents .box-wrap .box {
        width: 18vw;
        height: 18vw;
    }

    #contents .addParts05 .sponsor-sec .box-wrap.number {
        display: flex;
        justify-content: flex-end;
        gap: 61px;
        padding: 30px 0;
        /* background: #f0f8fa; */
        width: 75%;
        margin-top: -13rem;
    }

    /*type-a*/
    #contents .box-wrap .type-a .box-body p {
        width: calc(100% - 95px);
    }

    /*type-b*/
    #contents .box-wrap .type-b {
        padding: 3.0rem 0 3.0rem;
    }

    /*--------------------------------------
  frame-wrap
 ---------------------------------------*/
    .addInner .frame-wrap {
        width: 90%;
        max-width: 100%;
    }

    #contents .frame {
        width: 100%;
        margin: 0 0 3rem;
    }

    /*--------------------------------------
　float img
 ---------------------------------------*/
    #index .float-wrap .fl, #index .float-wrap .fr {
        width: 100%;
        margin: 0 0 10px 0;
        text-align: center;
    }

    #index .float-wrap .catch {
        font-size: 2rem;
    }

    #index .float-wrap .catch a span {
        font-size: 1rem;
    }

    /*--------------------------------------
 オリジナル
 ---------------------------------------*/
    /***** addParts02 *****/
    .addParts02 {
        padding: 1.6rem;
    }

    /*block*/
    .addParts02 .addParts02Catch {
        font-size: 1.2rem;
        line-height: 1.4;
        text-align: center;
    }

    #contents .addParts02 .addParts02Name h3 {
        padding: 0 3.2rem;
        font-size: 2rem;
    }

    #contents .addParts02 .addParts02Name h3::before, #contents .addParts02 .addParts02Name h3::after {
        width: 20px;
    }

    #contents .addParts02 .addParts02Name div {
        font-size: 1.2rem;
    }

    /*slideTxtArea*/
    .addParts02 .slideTxtArea {
        width: calc(100% - 30px);
        padding: 2rem 0 1rem 1rem;
        margin: -1.5rem auto 0;
        position: relative;
        z-index: 2;
    }

    .addParts02 .caption {
        margin: 0 0 1.2rem;
    }

    .addParts02 .slideTit {
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.5;
        margin: 0 0 8px;
    }

    .addParts02 .slideTxt {
        line-height: 1.6;
    }

    /*テキスト動き*/
    .addParts02 .slideTxtArea {
        opacity: 0;
        transition: all 1.0s 0s ease;
        transition-delay: 300ms;
    }

    .addParts02 .slick-slide.slick-current .slideTxtArea, .addParts02 .slick-slide.is-active-next .slideTxtArea {
        opacity: 1;
    }

    .addParts02 .slideTxtInner {
        opacity: 0;
        margin-left: -15px;
        transition: all 0.5s 0s ease;
        transition-delay: 600ms;
    }

    .addParts02 .slick-slide.slick-current .slideTxtInner, .addParts02 .slick-slide.is-active-next .slideTxtInner {
        opacity: 1;
        margin-left: 0;
    }

    #contents .addParts02 h4 {
        font-size: 1.6rem;
        margin: 2rem 0 1rem;
    }

    /***** addParts04 *****/
    .addParts04 {
        width: 92%;
        margin: 0 auto 2rem;
        padding: 1.6rem;
    }

    .addParts04 .addParts04Tit {
        padding-left: 1.6rem;
        line-height: 30px;
        padding-bottom: 10px;
    }

    .addParts04 .addParts04Tit::before {
        font-size: 3rem;
    }

    .addParts04 .addParts04Tit::after {
        left: 116px;
        top: 9px;
    }

    #contents .addParts04 ul {
        display: block;
    }

    #contents .addParts04 ul li {
        width: 100%;
    }

    /***** addParts05 *****/
    #contents .addParts05 {
        padding: 3rem 0;
        margin: 0;
    }

    #contents .addParts05 .addParts05Tit {
        margin: 0 auto 2rem;
    }

    #contents section.sponsor-section .sponsor-highlight {
        padding: 0;
        font-size: 4.3vw;
    }

    #contents section.sponsor-section .sponsor-highlight strong {
        font-size: 6.3vw;
    }

    #contents .addParts05 .addParts05Tit h2 {
        font-size: 2.2rem;
    }

    #contents .addParts05 .addParts05Tit span {
        font-size: 1.0rem;
    }

    /***** addParts06 *****/
    .addParts06 {
        padding: 1.6rem;
    }

    .addParts06 .addParts06TitWrap {
        width: 100%;
        margin: 0 auto;
        /* background: none; */
        padding: 15px;
    }

    #contents .addParts06 .addParts06TitWrap h3 {
        background: url(img/ico_merit.png) no-repeat left 50%;
        background-size: 40px auto;
        min-height: 40px;
        padding: 0 0 0 50px;
        font-size: 1.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #contents .addParts06 .addParts06BoxWrap .addParts06Box h4 {
        font-size: 2rem;
    }

    #contents .addParts06 .addParts06BoxWrap {
        display: block;
    }

    #contents .addParts06 .addParts06BoxWrap .addParts06Box:nth-child(2) {
        margin: 20px 0 0;
    }

    /***** addParts07 *****/
    .addParts07 {
        padding: 2rem 1.6rem;
    }

    #contents .addParts07 h3 {
        font-size: 1.8rem;
    }

    #contents .addParts07 h3 span {
        font-size: 1.4rem;
    }

    #contents .addParts07 .addParts07BoxWrap {
        display: block;
    }

    #contents .addParts07 .addParts07BoxWrap .addParts07Box {
        width: auto;
    }

    /***** addParts08 *****/
    #contents .addParts08 ul {
        flex-wrap: wrap;
    }

    #contents .addParts08 ul li {
        width: 24.5%;
    }

    #contents .addParts08 ul li a {
        /* background: url(img/arrow_gray.png) no-repeat right 1rem top 50% #c7dee2; */
        padding: 1.2rem 1rem 2rem;
        font-size: 3.5vw;
        line-height: 0.8;
    }

    /***** addParts09 *****/
    .addParts09 {
        padding: 4rem 0;
    }

    .addParts09 a::before {
        width: 120px;
        line-height: 30px;
        font-size: 2rem;
        position: absolute;
        top: -15px;
        left: 50%;
        margin-left: -60px;
    }

    .addParts09 a::after {
        width: 80px;
        height: 80px;
        background-size: 100% auto;
    }

    .addParts09 a {
        padding: 2.4rem 1.6rem;
    }

    #contents .addParts09 h2 {
        font-size: 1.6rem;
    }

    #contents .addParts09 h2 span.type01 {
        font-size: 1.7rem;
    }

    #contents .addParts09 h2 span.type02, #contents .addParts09 h2 span.type03 {
        font-size: 2rem;
    }

    /***** addParts09 *****/
    .addParts10 {
        padding: 2rem 0;
    }

    .addParts10 .addParts10BoxWrap .addParts10Box {
        display: block;
        margin: 2rem auto 0;
    }

    #contents .operator-section .addInner .btn-link a {
        padding: 1.6rem 2.8rem;
        text-align: right;
        text-decoration: none;
        border: none;
        box-shadow: none;
        background: url(img/ico_arrow.png) no-repeat right 0.5rem center;
        background-size: 16px auto;
    }

    /***** 見出し *****/
    #index h3 {
        margin: 3rem auto 2rem;
        font-size: 1.9rem;
    }

    .indexTitWrap01 {
        display: block;
        padding: 1.6rem;
        text-align: left;
    }

    #index .indexTitWrap01 .indexTit {
        display: inline-block;
        padding: 0 0 1rem;
        text-align: center;
        font-size: 1.7rem;
        color: #fff;
        width: auto;
        border-right: none;
        border-bottom: solid 2px #fff;
    }

    .indexTitWrap01 .indexTxt {
        display: block;
        padding: 0;
        margin-top: 1rem;
    }

    #contents .indexTitWrap01 .indexTxt ul li {
        padding: 0;
        font-size: 3vw;
    }

    #contents .indexTitWrap01 .indexTxt p:first-child {
        margin-top: 0;
    }

    .indexTitWrap02 {
        padding: 0 0 0 2rem;
    }

    #index .indexTitWrap02 .indexTit {
        font-size: 2rem;
    }

    #index .indexTitWrap02 .indexTit::before {
        font-size: 1.0rem;
    }

    .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxImg {
        width: 100%;
    }

    .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt {
        width: 100%;
        padding: 3rem 1.6rem;
    }

    #contents .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt p {
        padding: 0 ;
    }

    .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt::before {
        border-width: 40px 40px 0 0;
    }

    .addParts10 .addParts10BoxWrap .addParts10Box:nth-child(2n) .addParts10BoxTxt::before {
        border-width: 40px 40px 0 0;
        left: 0;
        right: auto;
        border-color: #20374d transparent transparent transparent;
    }

    #contents .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt h2 {
        font-size: 1.8rem;
    }

    #contents .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt h2::after {
        width: 100%;
    }

    /*btn*/
    #contents .addParts02 .btn-web {
    }

    #contents .addParts02 .btn-web a {
    }

    #contents .addParts02 .btn-tel {
    }

    #contents .addParts02 .btn-tel a {
    }

    #contents .addParts05.bg01 {
        width: 100%;
    }

    #contents .addParts05.bg03 .addInner {
        width: 100%;
        padding: 0 2rem;
    }

    #g-nav {
        display: none !important;
    }

    .addParts10Box .addParts10BoxTxt h3::after {
        width: 100%;
    }

    #visArea .mainArea .catchArea .catch span {
        font-size: 3.5vw;
    }
}

.section-label {
    display: flex;
    align-items: center;
    font-size: 1rem;
    margin-bottom: 1rem;
}

.label-number {
    font-size: 1.5rem;
    font-weight: bold;
    color: #00a0e6;
    margin-right: 0.5em;
}

.effect-detail {
    display: flex;
    margin-top: 10px;
    gap: 1rem;
}

.effect-col {
    width: 50%;
}

.effect-col:nth-child(2) .effect-label {
    font-size: 1.85rem;
    color: #333;
    padding: 5rem 1rem 1rem;
    color: #fff;
    text-align: center;
    font-weight: bold;
    background: url(img/effect-col02.png) top 1rem center no-repeat #00acde;
    background-size: 34px auto;
}

.effect-col:nth-child(2) .effect-value.blue {
}

.effect-label {
    font-size: 1.85rem;
    color: #333;
    padding: 5rem 1rem 1rem;
    background: #20374d;
    color: #fff;
    text-align: center;
    font-weight: bold;
    background: url(img/effect-col01.png) top 1rem center no-repeat #20374d;
    background-size: 25px auto;
    border-radius: 5px 5px 0 0;
}

.effect-col.carbon .effect-label {
    background: url(img/effect-col03.png) top 0.5rem center no-repeat #20374d;
    background-size: 47px auto;
}

.effect-value {
    font-weight: bold;
    font-size: 2.7rem;
    padding: 1rem;
    background: #ffffff;
    color: #2d4357;
    text-align: center;
    border-radius: 0 0 5px 5px;
}

.effect-detail span {
    font-size: 1.4rem;
}

.effect-value.blue span, .effect-value.blue {
    color: #00acde;
    color: #f97d00;
}

.addParts10Box {
    background: #fff;
    padding: 0;
    margin: 1rem 0;
    ^: 0; }

.addParts05Tit.center {
    text-align: center;
}

.small-label {
    color: #00a0e6;
    font-size: 0.75rem;
    display: block;
    margin-bottom: 0.3em;
}

.addParts08.facility-buttons ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em;
    margin-top: 2em;
}

.addParts08.facility-buttons li a {
    background: #112b45;
    color: #fff;
    padding: 1em 2em;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
}

.addParts08 .icon {
    display: block;
    margin-bottom: 0.5em;
    font-size: 1.5em;
}

.operator-label {
    padding: 0.3em 2em;
    background: #fff;
    color: #00acde;
    font-weight: bold;
    margin: auto;
    position: absolute;
    font-size: 1.8rem;
    top: -17px;
    left: 0;
    right: 0;
    width: 15rem;
    border-radius: 5px;
}

.operator-main {
    font-size: 1.5em;
    font-weight: bold;
    color: #fff;
    text-align: center;
    display: block;
}

.operator-team {
    font-size: 1.2em;
    color: #fff;
    text-align: center;
    display: block;
}

.highlight {
    font-weight: bold;
    background: linear-gradient(to bottom, rgba(205, 185, 159, 0) 0%, rgba(205, 185, 159, 0) 64%, rgb(249 205 0) 65%, rgb(249 205 0) 100%);
}

.operator-section {
    background: url(img/operator01.png) center bottom no-repeat #00A3DE;
    padding: 5em 0;
    text-align: center;
    background-size: cover;
    margin-top: -3rem;
}

.btn-link a {
    color: #0d0d0e;
    font-weight: bold;
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    #contents section.eco-touch-section::after {
        height: 1.3%;
        width: 17%;
        background-size: cover;
        top: 63%;
    }

    #contents section.facility-section::before {
        background: url(img/bg04.png) bottom center no-repeat;
        height: 3%;
        width: 25%;
        background-size: cover;
        content: "";
        position: absolute;
        z-index: 0;
        left: 0;
        opacity: 0.5;
        top: 2rem;
    }

    #contents .addParts08.facility-buttons .icon.icon-hotel, #contents .addParts08.facility-buttons .icon.icon-hospital, #contents .addParts08.facility-buttons .icon.icon-onsen, #contents .addParts08.facility-buttons .icon.icon-supermarket {
        left: 0;
        margin: auto;
        right: 0;
        top: 7px;
    }

    #index section.water-type-section::after {
        height: 20%;
        width: 23%;
        background-size: cover;
        top: -5rem;
    }

    #index section.water-type-section {
        margin-top: 6rem;
        padding-bottom: 5rem;
    }

    #contents .operator-section .addInner {
        display: block;
        border: solid 1px #ffffff;
        padding: 6rem 2rem 2rem;
        background-color: transparent;
        color: #fff;
        position: relative;
    }

    .operator-main {
        font-size: 4vw;
    }

    #contents .operator-section .addInner .highlight {
        font-size: 7vw;
        letter-spacing: -0.5px;
    }

    .operator-team {
        font-size: 4vw;
        color: #fff;
        text-align: center;
        display: block;
    }

    #contents section.eco-touch-section .addParts08 ul li a span::before {
        background-size: auto 25px !important;
    }

    .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxImg img {
        object-fit: cover;
        height: 40vw;
    }

    section.sponsor-section {
        padding-bottom: 10rem;
        margin-bottom: -10rem;
        margin-top: -4rem;
    }

    #anc02.addParts10Box .addParts10BoxTxt::after, #anc03.addParts10Box .addParts10BoxTxt::after, #anc04.addParts10Box .addParts10BoxTxt::after, .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt::after {
        background-size: auto 30px;
        width: 50px;
        height: 30px;
        top: 5px;
        left: 5px;
    }

    #index .addParts10 .addParts10BoxWrap .addParts10Box .box-label {
        padding: 5px 16px 5px;
        margin-left: -1.6rem;
        margin-top: 1.5rem;
    }

    #contents .addParts10 .addParts10BoxWrap .addParts10Box .addParts10BoxTxt h3 {
        font-size: 5vw;
    }

    #anc02.addParts10Box .addParts10BoxTxt {
        padding: 3rem 1.6rem;
    }

    #visArea .mainArea .catchArea .catch span.catchspan {
        font-size: 6vw;
        display: block;
    }

    #visArea .mainArea .siteName {
        font-size: 4.0rem;
        line-height: 1;
        margin: 60px 0 0;
        width: 100%;
        text-align: left;
    }

    #contents ul li {
        font-size: 1.3rem;
        min-height: 12px;
        padding: 0 0 0.3rem 8%;
        position: relative;
    }

    #index section.water-saving-section::before {
        background-size: cover;
        bottom: -2.2rem;
        height: 15%;
    }

    .sponsor-body {
        display: flex;
        flex-direction: column;
    }

    .sponsor-sec {
    }

    .sponsor-description {
    }

    #contents .sponsor-description p {
        padding: 0;
    }

    .sponsor-sec .box-wrap.number .box {
    }

    #contents .addParts05 .sponsor-sec .box-wrap.number {
        gap: 40px;
        width: 100%;
        max-width: 100%;
        display: flex;
        justify-content: center;
        margin-top: -3rem;
    }

    #contents section.sponsor-section .addParts05.bg01 {
        padding: 5rem 1.6rem;
        margin: 0 auto;
        width: 90%;
    }

    #contents section.eco-touch-section .addParts05 .addParts05Tit h2 span {
        font-size: 7vw;
    }

    section.eco-touch-section .addParts08 {
        /* padding: 0 1rem; */
    }

    #contents .addParts05.bg03 {
    }

    #index .addParts10 .addParts10BoxWrap .addParts10Box .btn-link {
    }

    #index .addParts10 .addParts10BoxWrap.effect-grid .addParts10Box .btn-link {
        max-width: 1100px;
        margin: 30px auto;
        text-align: right;
    }

    .effect-detail {
    flex-direction: column;
    }

    .effect-col {
    display: flex;
    width: 100%;
    }

    .addParts10 .addParts10BoxWrap.effect-grid .addParts10Box {
        padding: 1rem 1.6rem;
        width: 100%;
    }

    #anc03.addParts10Box {
        display: flex;
        flex-direction: column;
        margin: 0 auto 10rem;
    }

    .addParts10 .addParts10BoxWrap .addParts10Box:nth-child(2n) .addParts10BoxTxt {
        padding: 3rem 1.6rem;
    }

    #contents .addParts05.bg03 {
        background-color: transparent;
        padding: 8rem 0 2rem;
        margin-top: -3rem;
    }

    #contents section.facility-section .addParts05.bg03 {
        padding: 0 0 15px;
        margin-top: 5rem;
    }

    .addParts08.facility-buttons {
        padding: 0;
    }

    #contents .addParts08.facility-buttons ul {
        padding: 0;
        margin: 0;
        display: flex;
        justify-content: center;
        gap: 0.5em;
    }

    #contents .addParts08.facility-buttons ul li {
        padding: 0;
        width: 23%;
        margin: 1.4rem 0 0 0;
    }

    #contents .addParts08.facility-buttons ul li a {
        height: 11rem;
        padding: 6rem 0.5rem 2rem 0.5rem;
        border-radius: 0;
        display: flex;
        align-items: center;
        flex-direction: column;
        font-size: 2.8vw;
        line-height: 1.2;
        justify-content: center;
        text-align: center;
    }

    #contents section.sponsor-section::after {
        height: 20%;
        width: 35%;
        background-size: cover;
        position: absolute;
        z-index: 1;
        top: -10%;
        right: 0;
        opacity: 0.5;
    }

    #contents section.eco-touch-section::before {
        background: url(img/bg01.png) center center no-repeat;
        height: 3%;
        width: 30%;
        background-size: cover;
        content: "";
        position: absolute;
        z-index: 0;
        top: -8rem;
        left: 0;
        opacity: 0.5;
    }

    #contents .addParts05 .addParts05Tit h2 a {
        color: #20374d;
        display: inline-block;
        padding: 0 3rem;
        background: url(img/arrow_blue.png) no-repeat right 50%;
        font-size: 5.5vw;
    }

    .effect-col:nth-child(2) .effect-label, .effect-label {
        font-size: 3vw;
        line-height: 3.9vw;
        border-radius: 5px 0 0 5px;
        padding: 0 4rem 0 6rem;
        color: #fff;
        text-align: left;
        font-weight: bold;
        background-position: left 1.5rem center;
        background-size: 25px auto;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: 50%;
    }

.effect-col.carbon .effect-label {
        font-size: 3vw;
        line-height: 3.9vw;
        border-radius: 5px 0 0 5px;
        padding: 1rem 4rem 1rem 6rem;
        color: #fff;
        text-align: left;
        font-weight: bold;
        background-position: left 1.5rem center;
        background-size: 25px auto;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: 50%;
        background-size: 30px auto;
}

    
    
    .effect-detail span {
    font-size: 4vw;
}

    .effect-value {
        font-size: 7vw;
        padding: 0 0.5rem 0 2.5rem;
        width: 100%;
        display: flex;
        align-items: baseline;
        justify-content: flex-start;
        border-radius: 0 5px 0 5px;
    }

    #contents .addParts05.bg03.point-add {
        padding: 0 0 5rem;
        margin: 0 auto 5rem;
        width: 91%;
    }

    /* タイトルセクション */
    #contents section.facility-section .addParts05Tit.hotel-title, #contents section.facility-section .addParts05Tit.hospital-title, #contents section.facility-section .addParts05Tit.gym-title, #contents section.facility-section .addParts05Tit.supermarket-title {
        display: flex;
        align-items: center;
        background: #20374d;
        color: #fff;
        padding: 10px 0 10px 10px;
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 35px;
        margin-top: -18rem;
        min-height: 11rem;
        width: 100%;
        flex-direction: column;
        justify-content: center;
    }

    #contents section.facility-section .addParts05Tit.hotel-title h3, #contents section.facility-section .addParts05Tit.hospital-title h3, #contents section.facility-section .addParts05Tit.gym-title h3, #contents section.facility-section .addParts05Tit.supermarket-title h3 {
        font-size: 5.5vw;
        width: 80%;
        margin: 0;
        padding: 1rem 0 1rem 15px;
    }

    #contents section.facility-section .addParts05 .addParts05Tit.hotel-title span, #contents section.facility-section .addParts05 .addParts05Tit.hospital-title span, #contents section.facility-section .addParts05 .addParts05Tit.gym-title span, #contents section.facility-section .addParts05 .addParts05Tit.supermarket-title span {
        background: none;
        width: 100%;
        color: #fff;
        font-size: 1.6rem;
    }

    #contents section.facility-section .addParts05Tit.hotel-title::after, #contents section.facility-section .addParts05Tit.hospital-title::after, #contents section.facility-section .addParts05Tit.gym-title::after, #contents section.facility-section .addParts05Tit.supermarket-title::after {
        content: "";
        position: absolute;
        background: #20374d;
        top: 0;
        right: 99.5%;
        bottom: 0;
        width: 9999px;
        z-index: 0;
    }

    #contents section.facility-section .addParts05Tit.hotel-title i.icon-hotel {
        background: url(img/hotel-icon.png) no-repeat center center;
        background-size: 4.5rem auto;
        width: 6rem;
        height: 5.5rem;
        position: absolute;
        left: -60px;
        z-index: 1;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    #contents section.facility-section .addParts05Tit.hospital-title i.icon-hospital {
        background: url(img/hospital-icon.png) no-repeat center center;
        background-size: 5rem auto;
        width: 5rem;
        heig;
        height: 5rem;
        position: absolute;
        left: -60px;
        z-index: 1;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    #contents section.facility-section .addParts05Tit.gym-title i.icon-gym {
        background: url(img/spa-icon.png) no-repeat center center;
        background-size: 6rem auto;
        width: 6rem;
        height: 5rem;
        position: absolute;
        left: -60px;
        z-index: 1;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    #contents section.facility-section .addParts05Tit.supermarket-title i.icon-supermarket {
        background: url(img/supermarket-icon.png) no-repeat center center;
        background-size: 5rem auto;
        width: 5rem;
        height: 5rem;
        position: absolute;
        left: -60px;
        z-index: 1;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    /* サブタイトル */
    #contents section.facility-section .addParts05Tit p {
        padding: 0.5rem 0 0rem 0;
        font-size: 14px;
        border-left: solid 0px #fff;
        border-top: solid 1px #fff;
        width: 80%;
        text-align: left;
    }

    /* BEFORE / AFTER 比較セクション */
    #contents section.facility-section .compare-section {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
    }

    #contents section.facility-section .compare-box {
        width: 47%;
        text-align: center;
        position: relative;
        margin-top: 5rem;
    }

    #contents section.facility-section .compare-box.before::before {
        background: url(img/arrow_bl.png) no-repeat center;
        background-size: auto 94px;
        height: 94px;
        width: 47px;
        content: "";
        position: absolute;
        z-index: 0;
        top: 35%;
        right: -55px;
    }

    #contents section.facility-section .compare-label {
        font-weight: bold;
        background: #ccc;
        color: #000;
        display: inline-block;
        padding: 5px 18px;
        font-size: 14px;
        position: absolute;
        left: 10px;
        margin: 0;
        top: -16px;
    }

    #contents section.facility-section .compare-label.yellow {
        background: #ffcc00;
        color: #000;
    }

    #contents section.facility-section .compare-img img {
        width: 100%;
        height: auto;
        background: #ccc;
        /* プレースホルダー背景 */
    }

    /* 節水対策セクション */
    #contents section.facility-section .indexTitWrap01 {
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
        padding: 1rem 2rem;
    }

    #contents section.facility-section .indexTitWrap01 .indexTit {
        font-size: 4.5vw;
        font-weight: bold;
        margin-bottom: 15px;
        /* background: none; */
        color: #09264a;
        margin: 1rem 0;
        padding: 1rem 0 1rem 36px;
        width: 100%;
        text-align: left;
        background-size: 2.7rem auto;
    }

    #contents section.facility-section .indexTitWrap01 div.indexTit {
        display: table-cell;
        vertical-align: middle;
        padding: 3rem 2rem;
    }

    #contents section.facility-section .indexTitWrap01 .indexTxt p {
        margin: 0 auto 20px;
        padding: 0;
    }


    #contents section.facility-section .indexTitWrap01 .indexTxt .btn-link {
    margin: 2rem auto;
}
    
    #contents .indexTitWrap01 .indexTxt ul {

    width: 85%;
}
    /* 下部セクション */
    #contents section.facility-section .addParts06 {
   
        padding: 0;
    }

    #contents section.facility-section .addParts06TitWrap h3 {
        font-size: 18px;
        margin-bottom: 15px;
    }

    #contents section.facility-section .highlight-label {
        background: #ffcc00;
        padding: 4px 8px;
        font-weight: bold;
        display: inline-block;
        font-size: 1.8rem;
    }

    #contents section.facility-section .addParts06TitWrap p {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 10px;
    }

    #contents section.facility-section .addParts05 .addParts05Tit span {
        background: url(img/example.png) no-repeat center;
        background-size: auto 1.2rem;
        margin: auto;
        display: flex ;
        width: 40%;
        height: 1.2rem;
    }

    #contents section.facility-section .addParts05.hotel-section .addInner, #contents section.facility-section .addParts05.hospital-section .addInner, #contents section.facility-section .addParts05.gym-section .addInner, #contents section.facility-section .addParts05.supermarket-section .addInner {
        max-width: 1100px;
        margin: 0 auto;
        /* background: #fff; */
        padding: 0;
        position: relative;
        width: 90%;
    }

    #index section.water-type-section::before {
        height: 25%;
        width: 100%;
        top: -100px;
    }

    #contents .addParts05.bg03.point-add .indexTitWrap02 {
        padding: 15px 15px 10px;
        width: 100%;
    }

    #contents section.facility-section .addParts05.hotel-section, #contents section.facility-section .addParts05.hospital-section, #contents section.facility-section .addParts05.gym-section, #contents section.facility-section .addParts05.supermarket-section {
        margin-top: 25vw;
        padding: 90px 0 25px;
    }

    #index .addParts10 .addParts10BoxWrap .addParts10Box h4 {
        font-size: 4.5vw;
    }

    #index .addParts10 .addParts10BoxWrap.effect-grid .addParts10Box h4 {
        font-size: 4.5vw;
    }

    #contents .addParts05.bg03.point-add .indexTitWrap02 .indexTxt ul li{
    margin: 10px auto;
    padding: 0;
}
    
	
}
h1[id], h2[id], h3[id],
[id^="anc"] {
  scroll-margin-top: 120px;
  display: block;         /* 必要に応じて指定 */
}