/* web font */
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@300;400;500;700;800;900&display=swap");
/*
font-family: 'M PLUS 1p', sans-serif;
Light 300
Regular 400
Medium 500
Bold 700
Extra-bold 800
Black  900
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");

/*
font-family: 'Noto Sans JP', sans-serif;
font-weight:400; Regular
font-weight:500; Medium
font-weight:700; bold
font-weight:900; Black
*/


/* -----------------------------------------------------------
 Reset CSS
----------------------------------------------------------- */
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

table,
tbody,
td,
tfoot,
th,
thead {
    margin: 0;
    padding: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

input[type="submit"],
input[type="button"],
button {
    border-radius: 0;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

p,
ul li a {
    text-decoration: none;
}

a {
    color: #59b2d6;
    text-decoration: none;
}

/* -----------------------------------------------------------
 Parts CSS
----------------------------------------------------------- */

/* breadcrumb */
#breadcrumb {
    width: 100%;
    background-color: #f3f3f3;
}

#breadcrumb .breadcrumb-list {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto 2em;
    padding: 10px 30px;
    overflow: hidden;
}

#breadcrumb .breadcrumb-list li {
    display: inline-block;
    font-weight: 700;
    white-space: nowrap;
    position: relative;
    padding-right: 15px;
    transform: rotate(0.03deg);
}

#breadcrumb .breadcrumb-list li+li {
    padding: 0 17px 0 12px;
}

#breadcrumb .breadcrumb-list li::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 5px;
    height: 5px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(-50%) rotate(45deg);
}

#breadcrumb .breadcrumb-list li:last-child::after {
    content: none;
}

#breadcrumb .breadcrumb-list li a {
    text-decoration: none;
    color: #000;
}

#contact-form #breadcrumb .breadcrumb-list {
    margin-bottom: 1em;
}


@media screen and (max-width: 960px) {
    #breadcrumb .breadcrumb-list {
        width: 100%;
        margin: 0 auto 2em;
        padding: calc(20/750*100vw) 1em;
        overflow: hidden;
        font-size: 1.6rem;
    }

    #breadcrumb .breadcrumb-list li::after {
        content: "";
        position: absolute;
        top: 49%;
        right: 0;
        width: 4px;
        height: 4px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: translateY(-50%) rotate(45deg);
    }
}

/*headline*/

.headline {
    width: 100%;
    height: 420px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 130px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.headline .page-title {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    text-align: center;
}

.headline .page-title__inner {
    color: #fff;
    font-family: "M PLUS 1p", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", "メイリオ", Meiryo, "ＭＳ ゴシック", Osaka, sans-serif;
    font-weight: 700;
    line-height: 1.6;
}

.headline .page-title__inner span {
    display: inline-block;
    font-size: 3.6rem;
}

.headline.price {
    background-image: url("../images/price/price-BG.jpg");
}

.headline.service {
    background-image: url("../images/service/service-BG.jpg");
}

.headline.reason {
    background-image: url("../images/reason/reason-BG.jpg");
}

.headline.collection {
    background-image: url("../images/collection/collection-BG.jpg");
}

.headline.area {
    background-image: url("../images/area/area-BG.jpg");
}

.headline.flow {
    background-image: url("../images/flow/flow-BG.jpg");
}

.headline.contact {
    background-image: url("../images/contact/contact-BG.jpg");
}

.headline.privacy {
    background-image: url("../images/privacy/privacy-BG.jpg");
}

.headline.company {
    background-image: url("../images/company/company-BG.jpg");
}

.headline.news {
    background-image: url("../images/news/news-BG.jpg");
}

.headline.sitemap {
    background-image: url("../images/sitemap/sitemap-BG.jpg");
}


@media screen and (max-width: 960px) {
    .headline {
        height: calc(300/750*100vw);
        margin-top: calc(110/750*100vw);
    }

    .headline .page-title {
        width: 100%;
        padding: 1.5em;
        align-items: center;
    }

    .headline .page-title__inner {
        line-height: 1.3;
    }

    .headline .page-title__inner small {
        font-size: 2rem;
    }

    .headline .page-title__inner span {
        font-size: 2.8rem;
        letter-spacing: .05em;
    }

    .headline.contact {
        background-position: 60% 0;
    }
}

/*BUTTON */

.text-link01 {
    color: #59b2d6;
    text-decoration: underline;
}

.text-link01:hover {
    text-decoration: none;
}

.link-text-arrow {
    color: #59b2d6;
    position: relative;
    padding-right: 15px;
}

.link-text-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 5px;
    height: 5px;
    border-top: 2px solid #59b2d6;
    border-right: 2px solid #59b2d6;
    transform: translateY(-50%) rotate(45deg);
}

.text-arrow01 {
    color: #000000;
    text-decoration: none;
}

.text-arrow01 span {
    display: inline-block;
    position: relative;
    padding-right: 20px;
    padding-bottom: 3px;
}

.text-arrow01 span::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: translateY(-50%) rotate(45deg);
}

.text-arrow01 span::after {
    content: "";
    width: calc(100% - 20px);
    height: 1px;
    background-color: #333;
    position: absolute;
    bottom: 0;
    left: 0;
}

.text-arrow01:hover {
    opacity: .9;
    transition: .4s all;
}

.text-arrow01:hover span::before {
    right: 0;
    transition: .4s all;
}

.text-arrow01:hover span::after {
    opacity: 0;
    transition: .4s all;
}

.btn-arrow {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-image: -moz-linear-gradient(90deg, rgba(44, 93, 113, 1) 0%, rgba(89, 178, 214, 1) 100%);
    background-image: -webkit-linear-gradient(90deg, rgba(44, 93, 113, 1) 0%, rgba(89, 178, 214, 1) 100%);
    background-image: -ms-linear-gradient(90deg, rgba(44, 93, 113, 1) 0%, rgba(89, 178, 214, 1) 100%);
    background-image: linear-gradient(90deg, rgba(44, 93, 113, 1) 0%, rgba(89, 178, 214, 1) 100%);
    color: #fff;
    font-size: 1.8rem;
    font-weight: 800;
    text-align: center;
    min-width: 315px;
    height: 65px;
    padding: 8px 30px 8px 10px;
    letter-spacing: .08em;
}

.btn-arrow span {
    transform: rotate(0.03deg);
}

.btn-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 40px;
    width: 6px;
    height: 6px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}

.btn-arrow:hover::after {
    right: 35px;
    transition: .4s all;
}

.btn-frame {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    min-width: 375px;
    min-height: 90px;
    padding: 8px 25px 8px 10px;
    background-color: #fff;
    border: 2px solid #000;
}

.btn-center {
    width: 100%;
    margin: 2em auto;
    text-align: center;
}


@media screen and (max-width: 960px) {
    .btn-center {
        width: calc(100% - 2em);
        margin: 2em auto;
    }

    .btn-arrow {
        min-width: 100%;
        min-height: calc(100/750*100vw);
        padding: 8px .5em;
    }

    .btn-frame {
        min-width: 100%;
        min-height: calc(120/750*100vw);
        font-size: 1.6rem;
    }
}

/*text*/

.text-description {
    position: relative;
    z-index: 2;
    line-height: 1.875;
    margin-bottom: 2em;
}

.text-description p {
    letter-spacing: -0.02em;
    transform: rotate(0.03deg);
}

.text-description p+p {
    margin-top: 1em;
}

.text-description p.note {
    font-size: 1.4rem;
}

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

.lead-text {
    font-size: 1.8rem;
    font-weight: 400;
    text-align: center;
    margin-bottom: 2em;
    letter-spacing: -.01em;
    transform: rotate(0.03deg);
}

.note-text {
    font-size: 1.2rem;
}


@media screen and (max-width: 960px) {
    .text-description {
        line-height: 1.5;
    }

    .lead-text {
        font-size: 1.5rem;
        text-align: left;
    }

    .note-text {
        font-size: 1.2rem;
    }
}

/*title*/

.title-type-blk01 {
    line-height: 1.6;
    margin-bottom: .5em;
    font-weight: 800;
    letter-spacing: -.03em;
    transform: rotate(0.03deg);
}

.title-type-blk01 small {
    font-size: 2.4rem;
}

.title-type-blk01 span {
    font-size: 4rem;
    color: #59b2d6;
}

.title-type-blk01.center {
    text-align: center;
}

.title-type-blk02 {
    margin-bottom: 2.5em;
    text-align: center;
    position: relative;
}

.title-type-blk02 h2 {
    font-size: 4rem;
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: .2em;
}

.title-type-blk02 .title-en {
    font-size: 1.8rem;
    font-weight: 800;
    color: #59b2d6;
    line-height: 1.4;
    transform: rotate(0.03deg);
}

.title-type01 {
    margin-bottom: .5em;
    font-size: 4rem;
    font-weight: 800;
    color: #59b2d6;
    line-height: 1.2;
}

.title-type01.center {
    text-align: center;
}

.title-type02 {
    margin-bottom: .5em;
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1.63;
    transform: rotate(0.03deg);
}

.title-type02.center {
    text-align: center;
}

.title-type03 {
    margin-bottom: 1em;
    font-size: 4rem;
    font-weight: 800;
    line-height: 1.63;
    transform: rotate(0.03deg);
}

.title-type03.center {
    text-align: center;
}

.underline-title {
    font-size: 2.4rem;
    font-weight: bold;
    padding: 15px 0 20px;
    position: relative;
    margin-bottom: 1.5em;
    line-height: 1.5;
}

.underline-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
}

.underline-title small {
    display: inline-block;
    margin-left: 20px;
    font-size: 1.6rem;
    font-weight: 400;
}

.title-bg-green {
    padding: 10px 1em;
    font-size: 1.8rem;
    font-weight: 700;
    background-color: #aae1ac;
    text-align: center;
    margin: 2em auto;
}

.title-sideline {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: 2em;
}

.title-sideline span {
    display: inline-block;
    font-size: 3rem;
    font-weight: 800;
    position: relative;
    z-index: 10;
    padding: 0 20px;
    text-align: center;
    background-color: #fff;
}

.title-sideline::after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


@media screen and (max-width: 960px) {
    .title-type-blk01 small {
        font-size: 2rem;
    }

    .title-type-blk01 span {
        font-size: 2.8rem;
    }

    .title-type-blk02 {
        margin-bottom: 2em;
    }

    .title-type-blk02 h2 {
        font-size: 2.8rem;
    }

    .title-type-blk02 .title-en {
        font-size: 1.6rem;
    }

    .title-type01 {
        font-size: 3rem;
    }

    .title-tyep02 {
        font-size: 2rem;
    }

    .title-type03 {
        margin-bottom: .5em;
        font-size: 2.6rem;
    }

    .underline-title {
        padding-top: .5em;
        padding-bottom: 1em;
        margin-bottom: 1em;
        line-height: 1.4;
    }

    .underline-title small {
        margin-left: 0;
        margin-top: .3em;
    }

    .title-sideline span {
        font-size: 2.4rem;
        padding: 0 1em;
    }
}

/*list*/

.category-list {
    max-width: 1200px;
    margin: 0 auto 80px;
    padding: 0 1em;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
}

.category-list li a {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 275px;
    height: 60px;
    padding: .2em .5em;
    line-height: 1.4;
    color: #0f9501;
    font-weight: 700;
    border: 2px solid #59b2d6;
    background-color: #fff;
    text-decoration: none;
}

.category-list li a:hover {
    opacity: .7;
    color: #fff;
    background-color: #59b2d6;
    transition: .4s all;
}

.tag-list .tag-icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: .2em 1em;
    background-color: #aae1ac;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    color: #000;
    text-decoration: none;
    margin-right: 10px;
    margin-bottom: .3em;
}

.tag-list .tag-icon:last-child {
    margin-right: 0;
}

.tag-list .tag-icon:hover {
    opacity: .7;
    transition: .4s all;
}


@media screen and (max-width: 960px) {
    .category-list {
        max-width: 100%;
        margin: 0 auto 2em;
        padding: 0 .5em;
        gap: .5em;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }

    .category-list li a {
        max-width: 100%;
        height: calc(80/$breakpoint-md*100vw);
    }

    .category-list li a:hover {
        opacity: 1;
    }

    .tag-list .tag-icon {
        padding: .2em .5em;
        margin-right: .2em;
        margin-bottom: .2em;
    }

    .tag-list .tag-icon:hover {
        opacity: 1;
    }
}

.list-number li {
    text-indent: -1.1em;
    margin-left: 1.1em;
}

.list-number li+li {
    margin-top: 1em;
}

/*table*/

/* tbl-type01 */
.tbl-type01 {
    width: 100%;
    margin-bottom: 30px;
    border-collapse: collapse;
    border-bottom: 1px solid #aeaeae;
}

.tbl-type01 caption {
    font-size: 2.4rem;
    font-weight: 800;
    color: #59b2d6;
    transform: rotate(0.03deg);
}

.tbl-type01 th,
.tbl-type01 td {
    padding: 30px 0;
    box-sizing: border-box;
    text-align: left;
    border-bottom: 1px solid #aeaeae;
    /*background: #fff;*/
    transform: rotate(0.03deg);
}

.tbl-type01 th {
    width: 290px;
    text-align: left;
    font-weight: 700;
}


@media screen and (max-width: 960px) {
    .tbl-type01 {
        width: 100%;
        margin-bottom: 3em;
        border-bottom: 0;
    }

    .tbl-type01 caption {
        font-size: 2rem;
    }

    .tbl-type01 th,
    .tbl-type01 td {
        display: block;
        padding: .3em;
    }

    .tbl-type01 th {
        width: 100%;
        border-bottom: 0;
        padding: 1em .2em 0;
    }

    .tbl-type01 tr:last-child td {
        border-bottom: 0;
    }
}

/*icon*/

.icon-new {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 1em;
    font-size: 1.2rem;
    font-weight: 500;
    color: #fff;
    background-color: #ba2222;
}

/*詳細ページbox*/

body.detail section {
    padding: 45px 0 60px;
    transform: rotate(0.03deg);
}

body.detail .content {
    max-width: 1100px;
}

.article-detail h3 {
    font-size: 1.8rem;
    font-weight: 700;
    position: relative;
    padding: 10px 0;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.article-detail h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
}

.article-detail p {
    display: block;
}

.article-detail p+p {
    margin-top: 1.5em;
}

.article-detail strong {
    font-weight: bold;
}

.article-detail em {
    font-style: italic;
}

.article-detail blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}

.article-detail .aligncenter {
    display: block;
    margin: 0 auto;
}

.article-detail .alignright {
    float: right;
    margin-left: 1em;
}

.article-detail .alignleft {
    float: left;
    margin-right: 1em;
}

.article-detail .alignnone+.alignnone {
    margin-left: 10px;
}

.article-detail img[class*="wp-image-"],
.article-detail img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}

.article-detail .clearfix {
    overflow: hidden;
    zoom: 1;
}

.article-detail .clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.sns-list {
    display: flex;
    align-items: center;
    margin: 2em auto 4em;
}

.sns-list li.fb .fb_iframe_widget {
    display: inline-flex;
}

.sns-list li+li {
    margin-left: 1em;
}


@media screen and (max-width: 960px) {
    body.detail section {
        padding: 2em 0 3em;
    }

    body.detail .content {
        max-width: 100%;
    }

    body.detail .content .status {
        margin-bottom: .2em;
    }

    .article-detail .eyecatch {
        margin-bottom: 1em;
    }

    .article-detail p+p {
        margin-top: 1.5em;
    }

    .article-detail .alignnone {
        width: 100%;
    }

    .article-detail .alignnone+.alignnone {
        margin-left: 0;
    }
}

.related-nav.content {
    padding: 0;
}

/*pager*/

.btn-arrow-text {
    display: inline-block;
    color: #000;
    font-size: 1.6rem;
    position: relative;
    text-decoration: none;
}

.btn-arrow-text.next {
    padding-right: 30px;
}

.btn-arrow-text.next::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    width: 5px;
    height: 5px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(-50%) rotate(45deg);
}

.btn-arrow-text.next:hover {
    opacity: .7;
    transition: .4s all;
}

.btn-arrow-text.next:hover::before {
    right: 0;
    transition: .4s all;
}

.btn-arrow-text.back {
    padding-left: 30px;
}

.btn-arrow-text.back::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 5px;
    width: 5px;
    height: 5px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(-50%) rotate(225deg);
}

.btn-arrow-text.back:hover {
    opacity: .7;
    transition: .4s all;
}

.btn-arrow-text.back:hover::before {
    left: 0;
    transition: .4s all;
}


@media screen and (max-width: 960px) {
    .related-nav.content {
        padding: 0 1em;
    }

    .btn-arrow-text.next {
        padding-right: calc(40/750*100vw);
    }

    .btn-arrow-text.back {
        padding-left: calc(40/750*100vw);
    }
}

/*step flow list*/

.flow-list {
    display: flex;
    max-width: 1020px;
    padding: 0 10px;
    margin: 0 auto;
}

.flow-list+.flow-list {
    margin-top: 37px;
}

.flow-list__arw {
    width: 64px;
    flex-shrink: 0;
    margin-right: 50px;
    display: flex;
    flex-direction: column;
    position: relative;
}

.flow-list__arw img {
    position: relative;
    z-index: 5;
}

.flow-list__arw::after {
    content: "";
    height: calc(100% - 10px);
    width: 5px;
    background-color: #59b2d6;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.flow-list__arw::before {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    border: 10px solid transparent;
    border-left: 10px solid #59b2d6;
    z-index: 2;
}

.flow-list__info {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.flow-list#flow01 .flow-list__arw::after {
    background-color: #59b2d6;
}

.flow-list#flow01 .flow-list__arw::before {
    border-left: 10px solid #59b2d6;
}

.flow-list#flow02 .flow-list__arw::after {
    background-color: #59b2d6;
}

.flow-list#flow02 .flow-list__arw::before {
    border-left: 10px solid #59b2d6;
}

.flow-list#flow03 .flow-list__arw::after {
    background-color: #59b2d6;
}

.flow-list#flow03 .flow-list__arw::before {
    border-left: 10px solid #59b2d6;
}

.flow-list#flow03.last-step .flow-list__arw::after {
    content: none;
}

.flow-list#flow03.last-step .flow-list__arw::before {
    content: none;
}

.flow-list#flow04 .flow-list__arw::after {
    background-color: #59b2d6;
}

.flow-list#flow04 .flow-list__arw::before {
    border-left: 10px solid #59b2d6;
}

.flow-list#flow04.last-step .flow-list__arw::after {
    content: none;
}

.flow-list#flow04.last-step .flow-list__arw::before {
    content: none;
}

.flow-list#flow05 .flow-list__arw::after {
    background-color: #59b2d6;
}

.flow-list#flow05 .flow-list__arw::before {
    border-left: 10px solid #59b2d6;
}

.flow-list dl {
    width: calc(100% - 385px);
    flex-shrink: 0;
    margin-right: 30px;
}

.flow-list dl dt.title-main {
    font-size: 2.4rem;
    font-weight: 800;
    margin-bottom: .3em;
    color: #59b2d6;
}

.flow-list dl dt.title-sub {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 1em;
    transform: rotate(0.03deg);
}

.flow-list dl dt.title-circle {
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: .5em;
    transform: rotate(0.03deg);
    position: relative;
    text-indent: -1.4em;
    margin-left: 1.4em;
}

.flow-list dl dt.title-circle::before {
    content: "●";
    color: #59b2d6;
    padding-right: 5px;
}

.flow-list dl dt.title-blk01 {
    line-height: 1.6;
    padding-bottom: 1em;
    margin-bottom: 1.5em;
    font-weight: 800;
    letter-spacing: -.03em;
    transform: rotate(0.03deg);
    border-bottom: 1px solid #b2b2b2;
}

.flow-list dl dt.title-blk01 small {
    font-size: 1.8rem;
}

.flow-list dl dt.title-blk01 span {
    font-size: 3rem;
    color: #59b2d6;
}

.flow-list dl dd {
    line-height: 1.5;
    transform: rotate(0.03deg);
}

.flow-list dl dd+.title-circle {
    margin-top: 1em;
}

.flow-list dl dd.img {
    margin-top: 0.8em;
    margin-bottom: 37px;
}

.flow-list figure {
    width: 365px;
    height: 240px;
    overflow: hidden;
    flex-shrink: 0;
    line-height: 0;
}

.flow-list figure img {
    width: 100%;
}


@media screen and (max-width: 960px) {
    .flow-list {
        padding: 0;
    }

    .flow-list+.flow-list {
        margin-top: 1.5em;
    }

    .flow-list__arw {
        width: calc(100/750*100vw);
        margin-right: 1em;
    }

    .flow-list__arw::after {
        content: "";
        height: calc(100% - 10px);
        width: 5px;
        background-color: #a7d1a4;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
    }

    .flow-list__arw::before {
        content: "";
        position: absolute;
        bottom: -10px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        box-sizing: border-box;
        width: 10px;
        height: 10px;
        border: 10px solid transparent;
        border-left: 10px solid #a7d1a4;
        z-index: 2;
    }

    .flow-list__info {
        display: flex;
        justify-content: space-between;
        flex-direction: column-reverse;
    }

    .flow-list dl {
        width: 100%;
        margin-right: 0;
    }

    .flow-list dl dt {
        font-size: 2.4rem;
        margin-bottom: .5em;
    }

    .flow-list dl dt.title-main {
        font-size: 2.4rem;
        margin-bottom: .3em;
    }

    .flow-list dl dt.title-sub {
        font-size: 1.6rem;
        margin-bottom: .8em;
        line-height: 1.4;
    }

    .flow-list dl dt.title-circle {
        font-size: 1.6rem;
    }

    .flow-list dl dt.title-blk01 {
        padding-bottom: .5em;
        margin-bottom: 1em;
        line-height: 1.2;
    }

    .flow-list dl dt.title-blk01 small {
        font-size: 1.6rem;
        line-height: 1.4;
    }

    .flow-list dl dt.title-blk01 span {
        font-size: 2.4rem;
        line-height: 1.4;
    }

    .flow-list dl dd {
        margin-bottom: .5em;
    }

    .flow-list figure {
        width: 100%;
        height: auto;
        overflow: visible;
        margin-bottom: 1em;
    }
}

/* -----------------------------------------------------------
module.css
共通モジュール
----------------------------------------------------------- */
.pos-rela {
    position: relative !important;
}

.v-align-top {
    vertical-align: top !important;
}

img {
    max-width: 100%;
    height: auto;
}

th img,
td img {
    max-width: inherit;
    height: inherit;
}

.cl {
    clear: both;
}

.none {
    display: none !important;
}

/* clearfix */
.cf:before,
.cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}

/* font系 */
.bold {
    font-weight: 800 !important;
}

.normal {
    font-weight: normal !important;
}

.t-col00 {
    color: #000 !important;
}

.t-col01 {
    color: #B90419 !important;
}

.t-col02 {
    color: #59b2d6 !important;
}

.t-col03 {
    color: #808080 !important;
}

/* PC
----------------------------------------------- */
@media screen and (min-width: 901px) {

    .align_r {
        text-align: right !important;
    }

    .align_c {
        text-align: center !important;
    }

    .align_l {
        text-align: left !important;
    }

    .fl_l {
        float: left;
    }

    .fl_r {
        float: right;
    }

    /* view */
    .sp_view {
        display: none;
    }

    .sp_view_flex {
        display: none;
    }

    .print_viwe {
        display: none !important;
    }

    /* font-size */
    .fs9 {
        font-size: 9px !important;
    }

    .fs10 {
        font-size: 10px !important;
    }

    .fs11 {
        font-size: 11px !important;
    }

    .fs12 {
        font-size: 12px !important;
    }

    .fs13 {
        font-size: 13px !important;
    }

    .fs14 {
        font-size: 14px !important;
    }

    .fs15 {
        font-size: 15px !important;
    }

    .fs16 {
        font-size: 16px !important;
    }

    .fs17 {
        font-size: 17px !important;
    }

    .fs18 {
        font-size: 18px !important;
    }

    .fs19 {
        font-size: 19px !important;
    }

    .fs20 {
        font-size: 20px !important;
    }

    .fs21 {
        font-size: 21px !important;
    }

    .fs22 {
        font-size: 22px !important;
    }

    .fs23 {
        font-size: 23px !important;
    }

    .fs24 {
        font-size: 24px !important;
    }

    /* margin-top */
    .mt10_minus {
        margin-top: -10px !important;
    }

    .mt5_minus {
        margin-top: -5px !important;
    }

    .mt0 {
        margin-top: 0 !important;
    }

    .mt5 {
        margin-top: 5px !important;
    }

    .mt10 {
        margin-top: 10px !important;
    }

    .mt15 {
        margin-top: 15px !important;
    }

    .mt20 {
        margin-top: 20px !important;
    }

    .mt25 {
        margin-top: 25px !important;
    }

    .mt30 {
        margin-top: 30px !important;
    }

    .mt35 {
        margin-top: 35px !important;
    }

    .mt40 {
        margin-top: 40px !important;
    }

    .mt45 {
        margin-top: 45px !important;
    }

    .mt50 {
        margin-top: 50px !important;
    }

    .mt70 {
        margin-top: 70px !important;
    }

    .mt80 {
        margin-top: 80px !important;
    }

    .mt100 {
        margin-top: 100px !important;
    }

    /* margin-bottom */
    .mb0 {
        margin-bottom: 0 !important;
    }

    .mb5 {
        margin-bottom: 5px !important;
    }

    .mb10 {
        margin-bottom: 10px !important;
    }

    .mb15 {
        margin-bottom: 15px !important;
    }

    .mb20 {
        margin-bottom: 20px !important;
    }

    .mb25 {
        margin-bottom: 25px !important;
    }

    .mb30 {
        margin-bottom: 30px !important;
    }

    .mb35 {
        margin-bottom: 35px !important;
    }

    .mb40 {
        margin-bottom: 40px !important;
    }

    .mb50 {
        margin-bottom: 50px !important;
    }

    .mb60 {
        margin-bottom: 60px !important;
    }

    .mb70 {
        margin-bottom: 70px !important;
    }

    .mb100 {
        margin-bottom: 100px !important;
    }

    /* margin-right */
    .mr0 {
        margin-right: 0 !important;
    }

    .mr5 {
        margin-right: 5px !important;
    }

    .mr10 {
        margin-right: 10px !important;
    }

    .mr15 {
        margin-right: 15px !important;
    }

    .mr20 {
        margin-right: 20px !important;
    }

    .mr30 {
        margin-right: 30px !important;
    }

    .mr40 {
        margin-right: 40px !important;
    }

    .mr50 {
        margin-right: 50px !important;
    }

    /* margin-left */
    .ml0 {
        margin-left: 0 !important;
    }

    .ml5 {
        margin-left: 5px !important;
    }

    .ml10 {
        margin-left: 10px !important;
    }

    .ml15 {
        margin-left: 15px !important;
    }

    .ml20 {
        margin-left: 20px !important;
    }

    .ml30 {
        margin-left: 30px !important;
    }

    .ml40 {
        margin-left: 40px !important;
    }

    .ml50 {
        margin-left: 50px !important;
    }

    /* padding-top */
    .pt0 {
        padding-top: 0 !important;
    }

    .pt5 {
        padding-top: 5px !important;
    }

    .pt8 {
        padding-top: 8px !important;
    }

    .pt18 {
        padding-top: 18px !important;
    }

    .pt10 {
        padding-top: 10px !important;
    }

    .pt15 {
        padding-top: 15px !important;
    }

    .pt20 {
        padding-top: 20px !important;
    }

    .pt25 {
        padding-top: 25px !important;
    }

    .pt30 {
        padding-top: 30px !important;
    }

    .pt35 {
        padding-top: 35px !important;
    }

    .pt40 {
        padding-top: 40px !important;
    }

    .pt45 {
        padding-top: 45px !important;
    }

    .pt50 {
        padding-top: 50px !important;
    }

    .pt55 {
        padding-top: 55px !important;
    }

    .pt70 {
        padding-top: 70px !important;
    }

    .pt75 {
        padding-top: 75px !important;
    }

    /* padding-bottom */
    .pb0 {
        padding-bottom: 0 !important;
    }

    .pb5 {
        padding-bottom: 5px !important;
    }

    .pb10 {
        padding-bottom: 10px !important;
    }

    .pb15 {
        padding-bottom: 15px !important;
    }

    .pb20 {
        padding-bottom: 20px !important;
    }

    .pb30 {
        padding-bottom: 30px !important;
    }

    .pb40 {
        padding-bottom: 40px !important;
    }

    .pb50 {
        padding-bottom: 50px !important;
    }

    /* padding-right */
    .pr0 {
        padding-right: 0 !important;
    }

    .pr5 {
        padding-right: 5px !important;
    }

    .pr10 {
        padding-right: 10px !important;
    }

    .pr15 {
        padding-right: 15px !important;
    }

    .pr20 {
        padding-right: 20px !important;
    }

    .pr30 {
        padding-right: 30px !important;
    }

    .pr40 {
        padding-right: 40px !important;
    }

    .pr50 {
        padding-right: 50px !important;
    }

    /* padding-left */
    .pl0 {
        padding-left: 0 !important;
    }

    .pl5 {
        padding-left: 5px !important;
    }

    .pl10 {
        padding-left: 10px !important;
    }

    .pl15 {
        padding-left: 15px !important;
    }

    .pl20 {
        padding-left: 20px !important;
    }

    .pl30 {
        padding-left: 30px !important;
    }

    .pl40 {
        padding-left: 40px !important;
    }

    .pl50 {
        padding-left: 50px !important;
    }

    /* width-size px */
    .w60 {
        width: 60px !important;
    }

    .w90 {
        width: 90px !important;
    }

    .w100 {
        width: 100px !important;
    }

    .w120 {
        width: 120px !important;
    }

    .w175 {
        width: 175px !important;
    }

    .w150 {
        width: 150px !important;
    }

    .w200 {
        width: 200px !important;
    }

    .w240 {
        width: 240px !important;
    }

    .w245 {
        width: 245px !important;
    }

    .w280 {
        width: 280px !important;
    }

    .w300 {
        width: 300px !important;
    }

    .w340 {
        width: 340px !important;
    }

    .w400 {
        width: 400px !important;
    }

    .w440 {
        width: 440px !important;
    }

    .w500 {
        width: 500px !important;
    }

    /* width-size % */
    .w100p {
        width: 100% !important;
    }

    .w75p {
        width: 75% !important;
    }

    .w50p {
        width: 50% !important;
    }

    .w25p {
        width: 25% !important;
    }

    .w10p {
        width: 10% !important;
    }

    .w_auto {
        width: auto !important;
    }
}

@media screen and (max-width: 1200px) {
    .md_none {
        display: none !important;
    }
}

/* SP
----------------------------------------------- */
@media screen and (max-width: 900px) {

    /* view */
    .sp_view {
        display: inline-block !important;
    }

    .sp_view_flex {
        display: flex !important;
    }

    .pc_view {
        display: none !important;
    }

    .print_viwe {
        display: none !important;
    }

    /**/
    .align_r_sp {
        text-align: right !important;
    }

    .align_c_sp {
        text-align: center !important;
    }

    .align_l_sp {
        text-align: left !important;
    }

    .fl_l_sp {
        float: left;
    }

    .fl_r_sp {
        float: right;
    }

    /* font-size */
    .fs8_sp {
        font-size: 8px !important;
    }

    .fs9_sp {
        font-size: 9px !important;
    }

    .fs10_sp {
        font-size: 10px !important;
    }

    .fs11_sp {
        font-size: 11px !important;
    }

    .fs12_sp {
        font-size: 12px !important;
    }

    .fs13_sp {
        font-size: 13px !important;
    }

    .fs14_sp {
        font-size: 14px !important;
    }

    .fs15_sp {
        font-size: 15px !important;
    }

    .fs16_sp {
        font-size: 16px !important;
    }

    .fs17_sp {
        font-size: 17px !important;
    }

    .fs18_sp {
        font-size: 18px !important;
    }

    .fs19_sp {
        font-size: 19px !important;
    }

    .fs20_sp {
        font-size: 20px !important;
    }

    .fs21_sp {
        font-size: 21px !important;
    }

    .fs22_sp {
        font-size: 22px !important;
    }

    .fs23_sp {
        font-size: 23px !important;
    }

    .fs24_sp {
        font-size: 24px !important;
    }

    /* margin-top */
    .mt0_sp {
        margin-top: 0 !important;
    }

    .mt5_sp {
        margin-top: 5px !important;
    }

    .mt10_sp {
        margin-top: 10px !important;
    }

    .mt15_sp {
        margin-top: 15px !important;
    }

    .mt20_sp {
        margin-top: 20px !important;
    }

    .mt25_sp {
        margin-top: 25px !important;
    }

    .mt30_sp {
        margin-top: 30px !important;
    }

    .mt35_sp {
        margin-top: 35px !important;
    }

    .mt40_sp {
        margin-top: 40px !important;
    }

    .mt45_sp {
        margin-top: 45px !important;
    }

    .mt50_sp {
        margin-top: 50px !important;
    }

    /* margin-bottom */
    .mb0_sp {
        margin-bottom: 0 !important;
    }

    .mb5_sp {
        margin-bottom: 5px !important;
    }

    .mb10_sp {
        margin-bottom: 10px !important;
    }

    .mb15_sp {
        margin-bottom: 15px !important;
    }

    .mb20_sp {
        margin-bottom: 20px !important;
    }

    .mb25_sp {
        margin-bottom: 25px !important;
    }

    .mb30_sp {
        margin-bottom: 30px !important;
    }

    .mb35_sp {
        margin-bottom: 35px !important;
    }

    .mb40_sp {
        margin-bottom: 40px !important;
    }

    .mb50_sp {
        margin-bottom: 50px !important;
    }

    .mb60_sp {
        margin-bottom: 60px !important;
    }

    .mb70_sp {
        margin-bottom: 70px !important;
    }

    .mb100_sp {
        margin-bottom: 100px !important;
    }

    /* margin-right */
    .mr10_sp_minus {
        margin-right: -10px !important;
    }

    .mr0_sp {
        margin-right: 0 !important;
    }

    .mr5_sp {
        margin-right: 5px !important;
    }

    .mr10_sp {
        margin-right: 10px !important;
    }

    .mr15_sp {
        margin-right: 15px !important;
    }

    .mr20_sp {
        margin-right: 20px !important;
    }

    .mr30_sp {
        margin-right: 30px !important;
    }

    .mr40_sp {
        margin-right: 40px !important;
    }

    .mr50_sp {
        margin-right: 50px !important;
    }

    /* margin-left */
    .ml0_sp {
        margin-left: 0 !important;
    }

    .ml5_sp {
        margin-left: 5px !important;
    }

    .ml7_sp {
        margin-left: 7px !important;
    }

    .ml10_sp {
        margin-left: 10px !important;
    }

    .ml15_sp {
        margin-left: 15px !important;
    }

    .ml20_sp {
        margin-left: 20px !important;
    }

    .ml30_sp {
        margin-left: 30px !important;
    }

    .ml40_sp {
        margin-left: 40px !important;
    }

    .ml50_sp {
        margin-left: 50px !important;
    }

    /* padding-top */
    .pt0_sp {
        padding-top: 0 !important;
    }

    .pt5_sp {
        padding-top: 5px !important;
    }

    .pt10_sp {
        padding-top: 10px !important;
    }

    .pt15_sp {
        padding-top: 15px !important;
    }

    .pt20_sp {
        padding-top: 20px !important;
    }

    .pt25_sp {
        padding-top: 25px !important;
    }

    .pt30_sp {
        padding-top: 30px !important;
    }

    .pt35_sp {
        padding-top: 35px !important;
    }

    .pt40_sp {
        padding-top: 40px !important;
    }

    .pt45_sp {
        padding-top: 45px !important;
    }

    .pt50_sp {
        padding-top: 50px !important;
    }

    /* padding-bottom */
    .pb0_sp {
        padding-bottom: 0 !important;
    }

    .pb5_sp {
        padding-bottom: 5px !important;
    }

    .pb10_sp {
        padding-bottom: 10px !important;
    }

    .pb15_sp {
        padding-bottom: 15px !important;
    }

    .pb20_sp {
        padding-bottom: 20px !important;
    }

    .pb30_sp {
        padding-bottom: 30px !important;
    }

    .pb40_sp {
        padding-bottom: 40px !important;
    }

    .pb50_sp {
        padding-bottom: 50px !important;
    }

    /* padding-right */
    .pr0_sp {
        padding-right: 0 !important;
    }

    .pr5_sp {
        padding-right: 5px !important;
    }

    .pr10_sp {
        padding-right: 10px !important;
    }

    .pr15_sp {
        padding-right: 15px !important;
    }

    .pr20_sp {
        padding-right: 20px !important;
    }

    .pr30_sp {
        padding-right: 30px !important;
    }

    .pr40_sp {
        padding-right: 40px !important;
    }

    .pr50_sp {
        padding-right: 50px !important;
    }

    /* padding-left */
    .pl0_sp {
        padding-left: 0 !important;
    }

    .pl5_sp {
        padding-left: 5px !important;
    }

    .pl10_sp {
        padding-left: 10px !important;
    }

    .pl15_sp {
        padding-left: 15px !important;
    }

    .pl20_sp {
        padding-left: 20px !important;
    }

    .pl30_sp {
        padding-left: 30px !important;
    }

    .pl40_sp {
        padding-left: 40px !important;
    }

    .pl50_sp {
        padding-left: 50px !important;
    }

    /* width-size % */
    .w100_sp {
        width: 100px !important;
    }

    .w100p_sp {
        width: 100% !important;
    }

    .w75p_sp {
        width: 75% !important;
    }

    .w50p_sp {
        width: 50% !important;
    }

    .w25p_sp {
        width: 25% !important;
    }

    .w10p_sp {
        width: 10% !important;
    }

    /* flex-order */
    .order1_sp {
        order: 1 !important;
    }

    .order2_sp {
        order: 2 !important;
    }

    .order3_sp {
        order: 3 !important;
    }

    .order4_sp {
        order: 4 !important;
    }

    .order5_sp {
        order: 5 !important;
    }
}


/* -----------------------------------------------------------
 base.css
----------------------------------------------------------- */
html {
    font-size: 62.5%;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    color: #000000;
    font-family: "M PLUS 1p", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", "メイリオ", Meiryo, "ＭＳ ゴシック", Osaka, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.8;
    position: relative;
    overflow-x: hidden;
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    letter-spacing: .03em;
}

body.menu-open {
    bottom: 0;
    top: 0;
    width: 100%;
    position: fixed;
    overflow: hidden;
    height: 100%;
    -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 960px) {
    html {
        font-size: 62.5%;
        -ms-text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%;
    }

    body {
        width: 100%;
        min-width: 100%;
        font-size: 1.4rem;
    }
}


main {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    margin-bottom: 45px;
}

section {
    padding: 45px 0 80px;
}

#top section {
    padding: 150px 0 100px;
}

.container-fluid {
    padding: 0;
}

.content {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
}

.content__inner {
    margin-bottom: 4em;
}

.content.mid {
    max-width: 1080px;
    width: 100%;
    padding: 0;
}

.content+.content {
    margin-top: 120px;
}


@media screen and (max-width: 960px) {
    section {
        padding: 2rem 0;
    }

    #top section {
        padding: 2rem 0;
    }

    .content {
        width: 100%;
        max-width: 100%;
        padding: 0 1em;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .content.mid {
        padding: 0 1em;
    }

    .content.bg-lightgray {
        padding: 80px 0;
    }

    .content.bg-lightgray {
        padding: 2em 0;
    }

    .content+.content {
        margin-top: 4em;
    }

    .container-fluid {
        width: 100%;
    }

    .container-fluid.bg-lightgray01 {
        padding: 3em 0;
    }
}

/*Header*/

header {
    width: 100%;
    padding: 0 1em;
    background-color: #fff;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.35);
    transition: .4s all;
    position: fixed;
    top: 0;
    z-index: 2500;
}

header.move {
    transition: .4s all;
    background-color: rgba(255, 255, 255, 0.9);
}

header .header-container {
    position: relative;
    max-width: 1200px;
    width: 100%;
    height: 130px;
    box-sizing: border-box;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header .header-inner {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-left: auto;
}

header .header-inner .header-contact {
    display: flex;
    justify-content: space-between;
}

header .header-inner .header-contact dl {
    padding: 12px 15px 0 0;
}

header .header-inner .header-contact dl dt {
    display: flex;
    margin-bottom: 3px;
}

header .header-inner .header-contact dl dt i {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #a0d029;
    width: 91px;
    height: 26px;
    border-radius: 13px;
    color: #000;
    font-size: 1.4rem;
    font-weight: 900;
    transform: rotate(0.03deg);
}

header .header-inner .header-contact dl dt i+i {
    margin-left: 8px;
}

header .header-inner .header-contact dl dd {
    font-size: 1.5rem;
    font-weight: 600;
    transform: rotate(0.03deg);
}

header .header-inner .header-contact__btn {
    display: flex;
}

header .header-inner .header-contact__btn a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 65px;
}

header .header-inner .header-contact__btn a.btn-tel {
    width: 260px;
    color: #fff;
    background-color: #B2D659;
    line-height: 1.2;
    position: relative;
    padding-left: 55px;
    box-sizing: border-box;
}

header .header-inner .header-contact__btn a.btn-tel span {
    font-size: 2.5rem;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
}

header .header-inner .header-contact__btn a.btn-tel small {
    font-size: 1.2rem;
    font-weight: 400;
}

header .header-inner .header-contact__btn a.btn-tel::before {
    content: "";
    background: url("../images/tel-icon.png") no-repeat 0 0/29px 40px;
    width: 29px;
    height: 40px;
    position: absolute;
    top: 40%;
    left: 20px;
    transform: translateY(-50%);
}

header .header-inner .header-contact__btn a.btn-mail {
    width: 245px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    padding-left: 58px;
    background-color: #59b2d6;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-feature-settings: "palt";
}

header .header-inner .header-contact__btn a.btn-mail::before {
    content: "";
    background: url("../images/mail-icon.png") no-repeat 0 0/28px 19px;
    width: 28px;
    height: 19px;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}

header .header-inner .header-contact__btn a:hover {
    opacity: .7;
    transition: .4s all;
}

header .nav-list {
    display: block;
}

.has-child {
    position: relative;
}

.nav-list__child {
    position: absolute;
    margin-left: 10px;
    padding: 0;
    display: none;
    background-color: #dcecf6;
}

header.move .nav-list__child {
    background-color: rgba(220, 236, 246, 0.9);
}

.nav-list__child.open {
    display: block;
}

.nav-list__child li a {
    display: block;
    color: #fff;
    text-decoration: none;
}

header .nav-list__menu {
    display: flex;
    justify-content: space-between;
    margin-top: auto;
}

header .nav-list__menu li {
    transform: rotate(0.03deg);
}

header .nav-list__menu li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    padding: 20px 30px 25px;
    box-sizing: border-box;
    font-size: 1.6rem;
    font-weight: 900;
    color: #000000;
    line-height: 1;
    white-space: nowrap;
}

header .nav-list__menu li a:hover {
    transition: .4s all;
    background-color: #fff;
    color: #59b2d6;
}

@media screen and (max-width: 1024px) {
    .logo img {
        width: 95%;
    }

    header {
        padding: 0;
    }
}

@media screen and (max-width: 960px) {
    header {
        width: 100%;
        padding: 0 0 0 0.2em;
        position: fixed;
        top: 0;
        z-index: 1000;
        overflow: hidden;
    }

    header.active {
        position: fixed;
        top: 0;
        z-index: 2500;
        transition: .4s all;
        box-shadow: none;
    }

    header .header-container {
        max-width: 100%;
        height: calc(110/750*100vw);
    }

    header .logo a {
        display: block;
        width: calc(178/750*100vw);
        line-height: 0;
    }

    header .logo a img {
        width: 100%;
    }

    header .header-inner {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
    }

    header .header-inner .header-contact {
        display: flex;
        justify-content: space-between;
        padding-right: calc(100/750*100vw);
    }

    header .header-inner .header-contact dl {
        padding: 0;
    }

    header .header-inner .header-contact dl dt {
        display: flex;
        margin-bottom: 3px;
    }

    header .header-inner .header-contact dl dt i {
        width: calc(150/750*100vw);
        height: calc(35/750*100vw);
        border-radius: calc(17/750*100vw);
        font-size: 1rem;
    }

    header .header-inner .header-contact dl dt i+i {
        margin-left: 3px;
    }

    header .header-inner .header-contact dl dd {
        font-size: 1.5rem;
        letter-spacing: -.03em;
        line-height: 1;
        margin-top: 0.5em;
    }

    header .header-inner .header-contact__btn {
        display: none;
    }

    header .nav-list {
        display: none;
    }

    .menu-trigger {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2100;
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(100/750*100vw);
        height: calc(110/750*100vw);
    }

    .menu-trigger .menu-hamburger {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(40/750*100vw);
        height: calc(35/750*100vw);
        z-index: 1100;
    }

    .menu-trigger .menu-hamburger span {
        position: absolute;
        right: 0;
        height: 3px;
        background-color: #000;
        width: 100%;
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }

    .menu-trigger .menu-hamburger span:nth-of-type(1) {
        top: 0px;
    }

    .menu-trigger .menu-hamburger span:nth-of-type(2) {
        top: calc(15/750*100vw);
    }

    .menu-trigger .menu-hamburger span:nth-of-type(3) {
        bottom: 0px;
    }

    .menu-trigger.active .menu-hamburger span:nth-of-type(1) {
        -webkit-transform: translateY(calc(13/750*100vw)) rotate(-45deg);
        transform: translateY(calc(13/750*100vw)) rotate(-45deg);
    }

    .menu-trigger.active .menu-hamburger span:nth-of-type(2) {
        opacity: 0;
    }

    .menu-trigger.active .menu-hamburger span:nth-of-type(3) {
        -webkit-transform: translateY(calc(-17/750*100vw)) rotate(45deg);
        transform: translateY(calc(-17/750*100vw)) rotate(45deg);
    }
}

@media screen and (max-width: 420px) {

    header .header-inner .header-contact dl dd {
        font-size: 1rem;
    }

}

/*Footer Contact*/

.footer-contact {
    background: linear-gradient(90deg, #B2D659 0%, #B2D659 50%, #59b2d6 50%, #59b2d6 100%);
}

.footer-contact__inner {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-contact__headline {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2.1rem;
    font-size: 1.8rem;
    font-weight: 800;
    background-color: #fff;
    padding: 10px 20px;
    width: 100%;
    max-width: 410px;
    height: 42px;
    transform: rotate(0.03deg);
}

.footer-contact__tel {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    width: 50%;
    height: 220px;
    padding: 50px 1em;
    background-color: #B2D659;
    box-sizing: border-box;
}

.footer-contact__tel .footer-contact__headline {
    color: #B2D659;
    margin-bottom: 1.5em;
}

.footer-contact__tel dl {
    position: relative;
    padding-left: 55px;
    color: #fff;
    line-height: 1;
}

.footer-contact__tel dl dt {
    line-height: 1;
}

.footer-contact__tel dl dt a {
    color: #fff;
    line-height: 1.2;
    font-size: 4rem;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: .02em;
}

.footer-contact__tel dl dt a:hover {
    opacity: .7;
    transition: .4s all;
}

.footer-contact__tel dl dd {
    font-size: 1.4rem;
    font-weight: 400;
}

.footer-contact__tel dl dd.reception-time {
    line-height: .5;
}

.footer-contact__tel dl dd.note-text {
    line-height: 1;
}

.footer-contact__tel dl::before {
    content: "";
    background: url("../images/tel-icon.png") no-repeat 0 0/43px 60px;
    width: 43px;
    height: 60px;
    position: absolute;
    top: -8px;
    left: 0;
}

.footer-contact__mail {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    width: 50%;
    height: 220px;
    padding: 50px 1em;
    background-color: #59b2d6;
    box-sizing: border-box;
}

.footer-contact__mail .footer-contact__headline {
    color: #59b2d6;
    margin-bottom: 2em;
}

.footer-contact__mail dl {
    position: relative;
    padding-left: 76px;
    color: #fff;
    line-height: 1;
}

.footer-contact__mail dl dt {
    line-height: 1;
}

.footer-contact__mail dl dt a {
    color: #fff;
    line-height: 1.2;
    font-size: 2.4rem;
    font-weight: 700;
}

.footer-contact__mail dl dt a:hover {
    opacity: .7;
    transition: .4s all;
}

.footer-contact__mail dl dd {
    font-size: 1.4rem;
    font-weight: 400;
    transform: rotate(0.03deg);
}

.footer-contact__mail dl dd.reception-time {
    line-height: .5;
}

.footer-contact__mail dl dd.note-text {
    line-height: 1;
}

.footer-contact__mail dl::before {
    content: "";
    background: url("../images/pc-mail-icon.png") no-repeat 0 0/53px 43px;
    width: 53px;
    height: 43px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}


@media screen and (max-width: 960px) {
    .footer-contact__inner {
        flex-direction: column;
        max-width: 100%;
    }

    .footer-contact__headline {
        border-radius: calc(40/750*100vw);
        padding: 1em 1.5em;
        width: 100%;
        font-size: 1.6rem;
        max-width: 100%;
        height: calc(60/750*100vw);
        letter-spacing: -.02em;
    }

    .footer-contact__tel {
        flex-direction: column;
        width: 100%;
        height: auto;
        padding: 2em 1em;
    }

    .footer-contact__tel dl {
        padding-left: calc(65/750*100vw);
    }

    .footer-contact__tel dl dt {
        line-height: 1;
    }

    .footer-contact__tel dl dt a {
        line-height: 1.2;
        font-size: 3.4rem;
        letter-spacing: .02em;
    }

    .footer-contact__tel dl dt a:hover {
        opacity: .7;
        transition: .4s all;
    }

    .footer-contact__tel dl dd {
        font-size: 1.2rem;
        font-weight: 400;
        letter-spacing: -.02em;
    }

    .footer-contact__tel dl dd.reception-time {
        line-height: .5;
    }

    .footer-contact__tel dl dd.note-text {
        line-height: 1;
    }

    .footer-contact__tel dl::before {
        background: url("../images/tel-icon.png") no-repeat 0 0/calc(53/750*100vw) calc(70/750*100vw);
        width: calc(53/750*100vw);
        height: calc(70/750*100vw);
        top: 0;
    }

    .footer-contact__mail {
        width: 100%;
        height: auto;
        padding: 2em 1em;
    }

    .footer-contact__mail .footer-contact__headline {
        color: #59b2d6;
        margin-bottom: 1.5em;
    }

    .footer-contact__mail dl {
        padding-left: calc(76/750*100vw);
    }

    .footer-contact__mail dl dt a {
        line-height: 1.2;
        font-size: 2.4rem;
    }

    .footer-contact__mail dl::before {
        background: url("../images/pc-mail-icon.png") no-repeat 0 0/calc(64/750*100vw) calc(54/750*100vw);
        width: calc(64/750*100vw);
        height: calc(54/750*100vw);
    }
}

/*Footer*/

footer .footer-menu {
    margin: 0 auto;
    padding: 60px 100px;
    display: flex;
    justify-content: space-between;
    background-color: #eef3f6;
}

footer .footer-menu .content {
    max-width: 1200px;
    width: 100%;
    display: flex;
}

footer .footer-menu .menu-list-inbox {
    display: flex;
    margin-left: 3em;
}

footer .footer-menu .company-info {
    width: 350px;
    flex-shrink: 0;
}

footer .footer-menu .company-info dl dt {
    margin-bottom: 1em;
}

footer .footer-menu .company-info dl dd {
    transform: rotate(0.03deg);
    font-weight: 400;
    line-height: 1.5;
}

footer .footer-menu nav {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

footer .footer-menu .menu-list {
    display: flex;
    margin-left: 140px;
}

footer .footer-menu .menu-list__link {
    transform: rotate(0.03deg);
}

footer .footer-menu .menu-list__link dt {
    margin-bottom: .2em;
}

footer .footer-menu .menu-list__link dt a {
    font-size: 1.8rem;
    font-weight: 700;
    color: #000;
    white-space: nowrap;
}

footer .footer-menu .menu-list__link dt a:hover {
    opacity: .6;
    transition: .4s all;
}

footer .footer-menu .menu-list__link dd ul li a {
    color: #000;
    font-size: 1.8rem;
    font-weight: 700;
    white-space: nowrap;
}

footer .footer-menu .menu-list__link dd ul li a::before {
    content: "-";
    padding-right: 10px;
    padding-left: 2px;
}

footer .footer-menu .menu-list__link dd ul li a:hover {
    opacity: .6;
    transition: .4s all;
}

footer .footer-menu .menu-list__link dd ul.sub-list {
    margin-top: .1em;
}

footer .footer-menu .menu-list__link dd ul.sub-list li {
    margin-left: 2.3em;
}

footer .footer-menu .menu-list__link dd ul.sub-list li a::before {
    content: none;
    padding-right: 0;
    padding-left: 0;
}

footer .footer-menu .menu-list__link dd+dt {
    margin-top: .2em;
}

footer .copyright {
    padding: 10px 1em;
    background-color: #3C697C;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-feature-settings: "palt";
    transform: rotate(0.03deg);
}

footer .copyright a,
footer .copyright a:hover,
footer .copyright a:focus,
footer .copyright a:active {
    text-decoration: none;
    color: inherit;
}

@media screen and (max-width: 1024px) {
    footer .footer-menu {
        margin: 0 auto;
        padding: 60px 5px;
    }

    footer .footer-menu .content {
        max-width: 1024px;
        padding: 0 10px;
    }

    footer .footer-menu .menu-list-inbox {
        justify-content: space-around;
    }

    footer .footer-menu .menu-list {
        margin-left: 120px;
    }
}


@media screen and (max-width: 960px) {
    footer .footer-menu {
        display: none;
    }

    footer .copyright {
        padding: 1.5em;
        font-size: 1rem;
        line-height: 1.5;
    }

}

/*sp menu*/

#sp-menu-overlay {
    display: none;
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-color: #fff;
}

#sp-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2100;
    width: 100%;
}


@media screen and (max-width: 960px) {
    #sp-menu-overlay {
        width: 100%;
        top: 0;
    }

    #sp-menu {
        margin-top: calc(110/750*100vw);
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        overflow: auto;
        transform: translateZ(0px);
        -webkit-overflow-scrolling: touch;
    }

    .sp-menu__inner::-webkit-scrollbar {
        width: 3px;
    }

    .sp-menu__inner::-webkit-scrollbar-thumb {
        border-radius: 4px;
        background: #fff;
    }

    .sp-menu__inner::-webkit-scrollbar-track {
        background: #403f44;
    }

    .sp-menu__inner::-webkit-scrollbar-track-piece {
        background: #403f44;
    }

    .sp-menu__inner .sp-menu__scroll {
        flex-direction: column;
        padding-bottom: calc(200/750*100vw);
    }

    .sp-menu__list {
        width: 100%;
        height: calc(100vh - (110/750*100vw));
    }

    .sp-menu__list .sp-menu-info {
        flex-direction: column;
        max-width: 100%;
    }

    .sp-menu__list .sp-menu-info .menu-list {
        justify-content: flex-start;
        flex-direction: column;
    }

    .sp-menu__list .sp-menu-info .menu-list__btn {
        display: flex;
    }

    .sp-menu__list .sp-menu-info .menu-list__btn a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 65px;
    }

    .sp-menu__list .sp-menu-info .menu-list__btn a.btn-tel {
        width: 50%;
        color: #fff;
        background-color: #B2D659;
        line-height: 1.2;
        position: relative;
        padding-left: calc(90/750*100vw);
        box-sizing: border-box;
    }

    .sp-menu__list .sp-menu-info .menu-list__btn a.btn-tel span {
        font-size: 1.5rem;
        font-weight: 700;
        font-family: 'Noto Sans JP', sans-serif;
    }

    .sp-menu__list .sp-menu-info .menu-list__btn a.btn-tel small {
        font-size: 1rem;
        font-weight: 400;
    }

    .sp-menu__list .sp-menu-info .menu-list__btn a.btn-tel::before {
        content: "";
        background: url("../images/tel-icon.png") no-repeat 0 0/calc(40/750*100vw) calc(53/750*100vw);
        width: calc(40/750*100vw);
        height: calc(53/750*100vw);
        position: absolute;
        top: 50%;
        left: calc(40/750*100vw);
        transform: translateY(-50%);
    }

    .sp-menu__list .sp-menu-info .menu-list__btn a.btn-mail {
        width: 50%;
        color: #fff;
        font-size: 1.1rem;
        font-weight: 400;
        padding-left: calc(90/750*100vw);
        background-color: #59b2d6;
        position: relative;
        font-family: 'Noto Sans JP', sans-serif;
        font-feature-settings: "palt";
    }

    .sp-menu__list .sp-menu-info .menu-list__btn a.btn-mail::before {
        content: "";
        background: url("../images/mail-icon.png") no-repeat 0 0/calc(40/750*100vw) calc(27/750*100vw);
        width: calc(40/750*100vw);
        height: calc(27/750*100vw);
        position: absolute;
        top: 50%;
        left: calc(30/750*100vw);
        transform: translateY(-50%);
    }

    .sp-menu__list .sp-menu-info .menu-list__link {
        padding: 2em 1em;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.sub-menu {
        display: flex;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.sub-menu>ul+ul {
        margin-left: 1em;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.sub-menu>ul li {
        line-height: 1.6;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.sub-menu>ul li+li {
        margin-top: .7em;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.sub-menu>ul li a {
        display: inline-block;
        font-size: 1.5rem;
        font-weight: 500;
        color: #000;
        transform: rotate(0.03deg);
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.sub-menu>ul li>ul {
        margin-top: .7em;
        margin-left: 2em;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.sub-menu>ul li>ul li+li {
        margin-top: .5em;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.sub-menu>ul li>ul li a::before {
        content: "-";
        padding-right: 8px;
        color: #000;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.contact {
        border-bottom: 0;
        padding-bottom: 0;
        margin-top: 1.5em;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.contact .btn-contact {
        position: relative;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        background: #fff;
        color: #3d87c3;
        font-family: "M PLUS 1p", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", "メイリオ", Meiryo, "ＭＳ ゴシック", Osaka, sans-serif;
        font-size: 1.2rem;
        font-weight: 500;
        text-align: center;
        min-width: 100%;
        min-height: calc(125/750*100vw);
        padding: 8px 10px;
        position: relative;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.contact .btn-contact::before {
        content: "";
        background: url("/assets/images/common/icon_mail_menu.png") no-repeat 0 0;
        background-size: calc(53/750*100vw) calc(37/750*100vw);
        width: calc(53/750*100vw);
        height: calc(37/750*100vw);
        position: absolute;
        left: calc(100/750*100vw);
        top: 50%;
        transform: translateY(-50%);
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.tel {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.tel a {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        min-width: 100%;
        color: #fff;
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.tel a span {
        font-family: "M PLUS 1p", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", "メイリオ", Meiryo, "ＭＳ ゴシック", Osaka, sans-serif;
        font-size: 1.3rem;
        font-weight: 500;
        display: inline-block;
        margin-right: 1em;
        transform: rotate(0.03deg);
    }

    .sp-menu__list .sp-menu-info .menu-list__link dt.tel a strong {
        font-weight: normal;
        font-size: 2.6rem;
    }

    .sp-menu__list .sp-menu-info .menu-list .logo-menu-btm {
        display: flex;
        margin-top: 1rem;
        padding: 0 1em;
    }

    .sp-menu__list .sp-menu-info .menu-list .logo-menu-btm figure {
        width: calc(192/750*100vw);
        margin-right: 1.3em;
    }

    .sp-menu__list .sp-menu-info .menu-list .logo-menu-btm p {
        color: #000;
        font-size: 1.1rem;
    }
}

/*pageTop*/

#page-top {
    display: none;
    position: fixed;
    align-items: center;
    justify-content: center;
    bottom: 20px;
    right: 20px;
    z-index: 302;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-align: center;
    background-color: #59b2d6;
}

#page-top img {
    vertical-align: middle;
    width: 9px;
    height: 14px;
}


@media screen and (max-width: 960px) {
    #page-top {
        display: flex;
        align-items: center;
        justify-content: center;
        bottom: .5em;
        right: 1em;
        width: calc(80/750*100vw);
        height: calc(80/750*100vw);
    }

    #page-top img {
        width: calc(18/750*100vw);
        height: calc(28/750*100vw);
    }

}



/* -----------------------------------------------------------
price.html
料金システム
----------------------------------------------------------- */

#price .title-type03 {
    margin-bottom: 1.5em;
}

#price .title-sideline {
    margin-bottom: .2em;
}

.tbl-price01 {
    width: 100%;
    border-collapse: collapse;
}

.tbl-price01 th,
.tbl-price01 td {
    padding: 25px;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #d4d4d4;
    background: #fff;
    transform: rotate(0.03deg);
}

.tbl-price01 th:first-child,
.tbl-price01 td:first-child {
    border-left: none;
}

.tbl-price01 th:last-child,
.tbl-price01 td:last-child {
    border-right: none;
}

.tbl-price01 th {
    font-weight: 800;
    background-color: #dcecf6;
    font-size: 1.8rem;
}

.tbl-price01 th.price {
    color: #fff;
    background-color: #6d92b6;
}

.tbl-price01 tr:nth-child(even) td {
    background-color: #f9f9f9;
}

.tbl-price02 {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5em;
}

.tbl-price02 caption {
    font-size: 1.8rem;
    font-weight: 800;
    color: #fff;
    transform: rotate(0.03deg);
    background-color: #6d92b6;
    text-align: left;
    padding: 25px;
}

.tbl-price02 th,
.tbl-price02 td {
    padding: 25px;
    box-sizing: border-box;
    text-align: left;
    border: 1px solid #d4d4d4;
    background: #fff;
    transform: rotate(0.03deg);
}

.tbl-price02 th:first-child,
.tbl-price02 td:first-child {
    border-left: none;
}

.tbl-price02 th:last-child,
.tbl-price02 td:last-child {
    border-right: none;
}

.tbl-price02 th {
    font-weight: 800;
    background-color: #dcecf6;
    font-size: 1.8rem;
}


@media screen and (max-width: 960px) {

    #price .title-type03 {
        margin-bottom: 1.5em;
    }

    .tbl-price01 th,
    .tbl-price01 td {
        padding: .5em .8em;
        transform: rotate(0.03deg);
        font-size: 1.4rem;
    }

    .tbl-price01 th:first-child,
    .tbl-price01 td:first-child {
        border-left: none;
    }

    .tbl-price01 th:last-child,
    .tbl-price01 td:last-child {
        border-right: none;
    }

    .tbl-price01 th:nth-child(4),
    .tbl-price01 td:nth-child(4) {
        white-space: nowrap;
    }

    .tbl-price01 td {
        letter-spacing: -.03em;
    }

    .tbl-price01 th {
        line-height: 1.3;
    }

    .tbl-price01 th.price {
        color: #fff;
        background-color: #6d92b6;
    }

    .tbl-price01 tr:nth-child(even) td {
        background-color: #f9f9f9;
    }

    .tbl-price02 caption {
        font-size: 1.6rem;
        padding: .5em .8em;
    }

    .tbl-price02 th,
    .tbl-price02 td {
        display: block;
        padding: .5em 1em;
        border-left: none;
        border-right: none;
        border-top: none;
        font-size: 1.4rem;
    }

    .tbl-price02 th {
        border-bottom: none;
        line-height: 1.3;
    }
}

.price-box {
    max-width: 1160px;
    width: 100%;
    margin: 55px auto 0;
    display: flex;
    gap: 60px;
    border: 2px solid #59b2d6;
    padding: 30px;
    box-sizing: border-box;
}

.price-box__inner {
    width: calc(100% - 460px);
}

.price-box__title {
    font-size: 2.4rem;
    font-weight: 800;
    margin-bottom: .5em;
    transform: rotate(0.03deg);
}

.price-box h3 {
    font-size: 1.8rem;
    font-weight: 800;
    color: #59b2d6;
    margin-bottom: .5em;
    transform: rotate(0.03deg);
}

.price-box p {
    transform: rotate(0.03deg);
}

.price-box .note-text {
    margin-bottom: 0;
    transform: rotate(0.03deg);
}

.price-box dl {
    margin-top: 1.5em;
    margin-bottom: .5em;
}

.price-box dl dt {
    font-size: 1.8rem;
    font-weight: 800;
    text-align: center;
    margin-bottom: .3em;
}

.price-box dl dt span {
    display: inline-block;
    position: relative;
    padding: 0 25px;
    transform: rotate(0.03deg);
}

.price-box dl dt span::before {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 0;
    background: url("../images/deco-left-icon.png") no-repeat 0 0/10px 20px;
    width: 10px;
    height: 20px;
}

.price-box dl dt span::after {
    content: "";
    position: absolute;
    bottom: 4px;
    right: 0;
    background: url("../images/deco-right-icon.png") no-repeat 0 0/10px 20px;
    width: 10px;
    height: 20px;
}

.price-box dl dd .btn-tel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 95px;
    background-color: #B2D659;
}

.price-box dl dd .btn-tel .btn-tel__centerbox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    line-height: 1.2;
    position: relative;
    padding-left: 50px;
    box-sizing: border-box;
}

.price-box dl dd .btn-tel .btn-tel__centerbox span {
    font-size: 3.6rem;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
}

.price-box dl dd .btn-tel .btn-tel__centerbox small {
    font-size: 1.6rem;
    font-weight: 400;
}

.price-box dl dd .btn-tel .btn-tel__centerbox::before {
    content: "";
    background: url("../images/tel-icon.png") no-repeat 0 0/39px 55px;
    width: 239px;
    height: 55px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}


@media screen and (max-width: 960px) {
    .price-box {
        max-width: 100%;
        margin: 3em auto 0;
        padding: 1.3em;
        gap: 40px;
        flex-direction: column;
    }

    .price-box__inner {
        width: 100%;
    }

    .price-box__title {
        font-size: 2rem;
        text-align: center;
    }

    .price-box h3 {
        font-size: 1.8rem;
        text-align: center;
    }

    .price-box dl {
        margin-bottom: .5em;
    }

    .price-box dl dt {
        font-size: 1.6rem;
    }

    .price-box dl dt span {
        padding: 0 calc(30/750*100vw);
        line-height: 1.4;
    }

    .price-box dl dt span::before {
        background: url("../images/deco-left-icon.png") no-repeat 0 0/calc(20/750*100vw) calc(30/750*100vw);
        width: calc(20/750*100vw);
        height: calc(30/750*100vw);
    }

    .price-box dl dt span::after {
        background: url("../images/deco-right-icon.png") no-repeat 0 0/calc(20/750*100vw) calc(30/750*100vw);
        width: calc(20/750*100vw);
        height: calc(30/750*100vw);
    }

    .price-box dl dd .btn-tel {
        width: 100%;
        height: calc(120/750*100vw);
    }

    .price-box dl dd .btn-tel .btn-tel__centerbox {
        padding-left: calc(60/750*100vw);
    }

    .price-box dl dd .btn-tel .btn-tel__centerbox span {
        font-size: 2.4rem;
    }

    .price-box dl dd .btn-tel .btn-tel__centerbox small {
        font-size: 1.2rem;
    }

    .price-box dl dd .btn-tel .btn-tel__centerbox::before {
        background: url(../images/tel-icon.png) no-repeat 0 0 / calc(53 / 750* 100vw) calc(70 / 750* 100vw);
        width: calc(53 / 750* 100vw);
        height: calc(70 / 750* 100vw);
        top: 15px;
    }
}

/* -----------------------------------------------------------
service.html
サービス
----------------------------------------------------------- */

#service .title-sideline {
    margin-bottom: .2em;
}

.service-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.service-list {
    margin-bottom: 80px;
}

.service-list:nth-child(even) {
    flex-direction: row-reverse;
}

.service-list .img-area {
    display: block;
    width: 48%;
    height: auto;
}

.service-list .img-area img {
    width: 100%;
}

.service-list .service-list-text {
    width: 48%;
}

.service-list .service-list-text h4 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #59b2d6;
    transform: rotate(0.03deg);
}

.service-list .service-list-text p {
    line-height: 1.5;
    transform: rotate(0.03deg);
}

@media screen and (max-width: 960px) {
    .service-list {
        flex-direction: column;
    }

    .service-list:nth-child(even) {
        flex-direction: column;
    }

    .service-list .img-area {
        width: 100%;
    }

    .service-list .service-list-text {
        width: 100%;
    }

    .service-list .service-list-text h4 {
        padding: 1em 1em 0 1em;
    }

    .service-list .service-list-text p {
        padding: 1em;
    }
}

#service .flow-list {
    display: flex;
    max-width: 1200px;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}

#service .flow-list+.flow-list {
    margin-top: 37px;
}

#service .flow-list__arw {
    width: 64px;
    margin-right: 30px;
}

.service-frame {
    max-width: 1160px;
    width: 100%;
    margin: 55px auto 0;
    background-color: #fff;
    border: 2px solid #59b2d6;
    padding: 50px;
    box-sizing: border-box;
}

.service-frame__title {
    font-size: 2.4rem;
    font-weight: 800;
    margin-bottom: 1em;
}

.service-frame__title span {
    display: inline;
    position: relative;
    background: linear-gradient(transparent 83%, #fcac00 0%);
    line-height: 1.2;
    padding: 0 2px;
}

.service-frame__title span em {
    font-size: 3.5rem;
}

.service-frame__list {
    margin-bottom: 1em;
}

.service-frame__list li {
    font-size: 2.4rem;
    font-weight: 700;
    color: #59b2d6;
}

.service-frame p {
    transform: rotate(0.03deg);
}


@media screen and (max-width: 960px) {
    #service .title-type03 {
        margin-bottom: 1.5em;
    }

    #service .flow-list {
        max-width: 100%;
        padding: 0 1.3em;
    }

    #service .flow-list+.flow-list {
        margin-top: 1.5em;
    }

    #service .flow-list__arw {
        width: calc(100/750*100vw);
        margin-right: 1em;
    }

    .service-frame {
        max-width: calc(680/750*100vw);
        padding: 1.5em 1.2em;
        margin: 1.5em auto 0;
    }

    .service-frame__title {
        font-size: 2rem;
        font-weight: 800;
        margin-bottom: 1em;
    }

    .service-frame__title span em {
        font-size: 2.8rem;
    }

    .service-frame__list {
        margin-bottom: 1em;
    }

    .service-frame__list li {
        font-size: 1.8rem;
        line-height: 1.4;
    }

    .service-frame__list li+li {
        margin-top: .5em;
    }
}

/* -----------------------------------------------------------
collection.html
回収品一覧
----------------------------------------------------------- */

.collection-about__img {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.3em;
    gap: 20px;
}

.collection-about__img figure {
    width: 25%;
    border: 1px solid #a5b2bb;
    padding: 10px;
}

.collection-about__img figure img {
    width: 100%;
    border: 1px solid #a5b2bb;
}

.collection-about__img figure figcaption h3 {
    text-align: center;
    font-weight: bold;
    color: #59b2d6;
}

.collection-about__img figure figcaption p {
    line-height: 1.4em;
}

.collection-about .text-description {
    margin-bottom: 2.5em;
}

.collection-purchase__inner {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.collection-purchase__info {
    width: 100%;
    max-width: 360px;
    border: 1px solid #a5b2bb;
    padding: 10px;
    margin-bottom: 20px;
}

.collection-purchase__info:nth-child(n + 4) {
    margin-top: 1.5em;
}

.collection-purchase__info figure {
    line-height: 0;
}

.collection-purchase__info figure img {
    border: 1px solid #a5b2bb;
}

.collection-purchase__info dl {
    padding: 20px 0;
}

.collection-purchase__info dl dt {
    font-size: 1.8rem;
    font-weight: 700;
    transform: rotate(0.03deg);
    margin-bottom: .5em;
}

.collection-purchase__info dl dd {
    line-height: 1.5;
    transform: rotate(0.03deg);
}

.collection-purchase__info dl dd span {
    font-size: 3rem;
    font-weight: 700;
    display: block;
    color: #59b2d6;
}

.collection-flow .flow-list figure {
    width: auto;
    height: unset;
    overflow: unset;
    flex-shrink: unset;
    line-height: unset;
}

.collection-flow #flow01 {
    margin-top: 70px;
}

@media screen and (max-width: 960px) {
    .collection-about__img {
        flex-direction: column;
        margin-bottom: 1em;
    }

    .collection-about__img figure {
        width: 100%;
    }

    .collection-about__img figure {
        max-width: 100%;
        height: auto;
        overflow: visible;
    }

    .collection-purchase__inner {
        flex-direction: column;
        margin-bottom: 1.5em;
    }

    .collection-purchase__info {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        max-width: 100%;
    }

    .collection-purchase__info+.collection-purchase__info {
        margin-top: 1.5em;
    }

    .collection-purchase__info figure {
        width: 100%;
        height: auto;
        overflow: visible;
    }

    .collection-purchase__info figure img {
        width: 100%;
        height: auto;
    }

    .collection-purchase__info dl {
        width: 100%;
        padding: 1em;
        text-align: left;
    }

    .collection-purchase__info dl dt {
        margin-bottom: .5em;
    }
}

/* -----------------------------------------------------------
area.html
対応エリア
----------------------------------------------------------- */

.area-list {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto 80px;
    padding: 0 30px 60px;
    position: relative;
}

.area-list::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: calc(100% - 60px);
    height: 1px;
    background-color: #c9c9c9;
}

.area-list__title {
    display: flex;
    background-color: #f6f7f7;
    margin-bottom: 2.5em;
}

.area-list__title .head-number {
    width: 100px;
    height: 90px;
    flex-shrink: 0;
    background-color: #59b2d6;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 10px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.area-list__title .head-number i {
    font-size: 3rem;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.2;
}

.area-list__title .head-number::after {
    position: absolute;
    top: 0;
    right: -24px;
    content: '';
    border-width: 45px 0 45px 24px;
    border-style: solid;
    border-color: transparent transparent transparent #59b2d6;
}

.area-list__title h3 {
    display: flex;
    align-items: center;
    font-size: 3rem;
    font-weight: 800;
    color: #59b2d6;
    padding-left: 50px;
}

.area-list__inner {
    display: flex;
    justify-content: space-between;
}

.area-list__inner figure {
    width: 480px;
    flex-shrink: 0;
    margin-left: 40px;
}

.area-list__description {
    margin-bottom: 1.5em;
}

.area-list__description dt {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1em;
    transform: rotate(0.03deg);
}

.area-list__description dd {
    transform: rotate(0.03deg);
}

.area-table {
    border-collapse: collapse;
    width: 100%;
}

.area-table th,
.area-table td {
    border-bottom: 2px solid #c1c7c6;
    padding: 1em;
}

.area-table th {
    border-bottom: 2px solid #4d9bc1;
    font-weight: bold;
    text-align: left;
    width: 21%;
    min-width: 4em;
}

.area-box {
    max-width: 1160px;
    width: 100%;
    margin: 55px auto 0;
    background-color: #f8f9fa;
    border: 2px solid #59b2d6;
    padding: 40px 1.3em 60px;
    box-sizing: border-box;
}

.area-box__title {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 1.3em;
    text-align: center;
}

.area-box__btn {
    display: flex;
    justify-content: space-between;
    max-width: 760px;
    margin: 0 auto;
}

@media screen and (max-width: 960px) {
    .area-list {
        max-width: 100%;
        width: 100%;
        margin: 0 auto 2.5em;
        padding: 0 1.3em 2em;
    }

    .area-list::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        width: calc(100% - 2.6em);
        height: 1px;
        background-color: #c9c9c9;
    }

    .area-list__title {
        display: flex;
        flex-direction: column;
        background-color: #f6f7f7;
        margin-bottom: 2em;
    }

    .area-list__title .head-number {
        width: 100%;
        height: auto;
        align-items: baseline;
        flex-direction: row;
        padding: 10px;
        font-size: 1.6rem;
        line-height: 1.2;
    }

    .area-list__title .head-number i {
        font-size: 2.4rem;
        line-height: 1;
        margin-left: 5px;
    }

    .area-list__title .head-number::after {
        content: none;
    }

    .area-list__title h3 {
        font-size: 2.4rem;
        padding-left: 0;
        padding: .5em;
        line-height: 1.5;
    }

    .area-list__inner {
        flex-direction: column-reverse;
    }

    .area-list__inner figure {
        width: 100%;
        margin-left: 0;
        margin-bottom: 1em;
    }

    .area-list__description {
        margin-bottom: 1.2em;
    }

    .area-list__description dt {
        font-size: 1.8rem;
        margin-bottom: .7em;
        line-height: 1.5;
    }

    .area-table tr {
        display: flex;
        flex-direction: column;
    }

    .area-table th,
    .area-table td {
        width: 100%;
        padding-left: 0;
    }

    .area-box {
        max-width: calc(680/750*100vw);
        padding: 1.5em 1.2em 1.8em;
        margin: 1.5em auto 0;
    }

    .area-box__title {
        font-size: 2.8rem;
        margin-bottom: .6em;
    }

    .area-box__btn {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        max-width: 100%;
        margin: 0 auto;
    }

    .area-box__btn li+li {
        margin-top: .8em;
    }
}


/* -----------------------------------------------------------
flow.html
処分の流れ
----------------------------------------------------------- */

.flow-box {
    max-width: 1160px;
    width: 100%;
    margin: 55px auto 0;
    background-color: #fff;
    border: 2px solid #59b2d6;
    padding: 50px;
    box-sizing: border-box;
}

.flow-box__title {
    font-size: 2.4rem;
    font-weight: 800;
    margin-bottom: 1em;
}

.flow-box__title span {
    display: inline;
    position: relative;
    background: linear-gradient(transparent 83%, #c5ec64 0%);
    line-height: 1.2;
    padding: 0 2px;
}

.flow-box__title span em {
    font-size: 3.5rem;
}

.flow-box__list {
    display: flex;
    gap: 30px;
    margin-bottom: 1em;
}

.flow-box__list li {
    flex: 1;
    font-size: 1.8rem;
    font-weight: 700;
    color: #59b2d6;
}

.flow-box__list li p {
    color: #000;
    font-size: 1.6rem;
    transform: rotate(0.03deg);
    margin-top: 10px;
}

@media screen and (max-width: 960px) {

    .flow-box {
        max-width: calc(680/750*100vw);
        padding: 1.5em 1.2em;
        margin: 1.5em auto 0;
    }

    .flow-box__title {
        font-size: 2rem;
        font-weight: 800;
        margin-bottom: 1em;
    }

    .flow-box__title span em {
        font-size: 2.8rem;
    }

    .flow-box__list {
        flex-direction: column;
    }

    .flow-box__list li {
        line-height: 1.4;
    }
}

/* -----------------------------------------------------------
reason.html
選ばれる理由
----------------------------------------------------------- */

.reason-list {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto 80px;
    padding: 0 30px 60px;
    position: relative;
}

.reason-list::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: calc(100% - 60px);
    height: 1px;
    background-color: #c9c9c9;
}

.reason-list.last {
    padding-bottom: 0;
}

.reason-list.last::after {
    content: none;
}

.reason-list_ttl {
    display: flex;
    background-color: #f6f7f7;
    margin-bottom: 2.5em;
}

.reason-list_ttl .head-number {
    width: 100px;
    height: 90px;
    flex-shrink: 0;
    background-color: #59b2d6;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 10px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.reason-list_ttl .head-number i {
    font-size: 3rem;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.2;
}

.reason-list_ttl .head-number::after {
    position: absolute;
    top: 0;
    right: -24px;
    content: '';
    border-width: 45px 0 45px 24px;
    border-style: solid;
    border-color: transparent transparent transparent #59b2d6;
}

.reason-list_ttl h3 {
    display: flex;
    align-items: center;
    font-size: 3rem;
    font-weight: 800;
    color: #59b2d6;
    padding-left: 50px;
}

.reason-list_content {
    display: flex;
    justify-content: space-between;
}

.reason-list_content figure {
    width: 480px;
    flex-shrink: 0;
    margin-left: 40px;
}

.reason-list_txt {
    margin-bottom: 1.5em;
}

.reason-list_txt dt {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1em;
    transform: rotate(0.03deg);
}

.reason-list_txt dd {
    transform: rotate(0.03deg);
}

.reason-list__contact {
    margin-bottom: .5em;
}

.reason-list__contact dt {
    font-size: 1.8rem;
    font-weight: 800;
    text-align: center;
    margin-bottom: .3em;
}

.reason-list__contact dt span {
    display: inline-block;
    position: relative;
    padding: 0 25px;
    background-color: #59b2d6;
    color: #fff;
    transform: rotate(0.03deg);
}

.reason-list__contact dt span::before {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 0;
    background: url("/assets/images/icon_balloon_left.svg") no-repeat 0 0/10px 20px;
    width: 10px;
    height: 20px;
}

.reason-list__contact dt span::after {
    content: "";
    position: absolute;
    bottom: 4px;
    right: 0;
    background: url("/assets/images/icon_balloon_right.svg") no-repeat 0 0/10px 20px;
    width: 10px;
    height: 20px;
}

.reason-list__contact dd .btn-tel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 95px;
    background-color: #B2D659;
}

.reason-list__contact dd .btn-tel .btn-tel__centerbox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    line-height: 1.2;
    position: relative;
    padding-left: 50px;
    box-sizing: border-box;
}

.reason-list__contact dd .btn-tel .btn-tel__centerbox span {
    font-size: 3.6rem;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
}

.reason-list__contact dd .btn-tel .btn-tel__centerbox small {
    font-size: 1.6rem;
    font-weight: 400;
}

.reason-list__contact dd .btn-tel .btn-tel__centerbox::before {
    content: "";
    background: url("../images/tel-icon.png") no-repeat 0 0/39px 55px;
    width: 239px;
    height: 55px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.reason-list__contact+.note-text {
    transform: rotate(0.03deg);
}

.reason-box {
    max-width: 1160px;
    width: 100%;
    margin: 55px auto 0;
    background-color: #f6f7f7;
    border: 2px solid #59b2d6;
    padding: 40px 1.3em 60px;
    box-sizing: border-box;
}

.reason-box_ttl {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 1.3em;
    text-align: center;
}

.reason-box_btn {
    display: flex;
    justify-content: space-between;
    max-width: 760px;
    margin: 0 auto;
}

/* SP */
@media screen and (max-width: 960px) {
    .reason-list {
        max-width: 100%;
        width: 100%;
        margin: 0 auto 2.5em;
        padding: 0 1.3em 2em;
    }

    .reason-list::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        width: calc(100% - 2.6em);
        height: 1px;
        background-color: #c9c9c9;
    }

    .reason-list_ttl {
        display: flex;
        flex-direction: column;
        background-color: #f6f7f7;
        margin-bottom: 2em;
    }

    .reason-list_ttl .head-number {
        width: 100%;
        height: auto;
        align-items: baseline;
        flex-direction: row;
        padding: 10px;
        font-size: 1.6rem;
        line-height: 1.2;
    }

    .reason-list_ttl .head-number i {
        font-size: 2.4rem;
        line-height: 1;
        margin-left: 5px;
    }

    .reason-list_ttl .head-number::after {
        content: none;
    }

    .reason-list_ttl h3 {
        font-size: 2.2rem;
        padding-left: 0;
        padding: .5em;
        line-height: 1.5;
    }

    .reason-list_content {
        flex-direction: column-reverse;
    }

    .reason-list_content figure {
        width: 100%;
        margin-left: 0;
        margin-bottom: 1em;
    }

    .reason-list_txt {
        margin-bottom: 1.2em;
    }

    .reason-list_txt dt {
        font-size: 1.8rem;
        margin-bottom: .7em;
        line-height: 1.5;
    }

    .reason-list__contact {
        margin-bottom: .5em;
    }

    .reason-list__contact dt {
        font-size: 1.6rem;
    }

    .reason-list__contact dt span {
        padding: 0 calc(30/750*100vw);
        line-height: 1.4;
    }

    .reason-list__contact dt span::before {
        background: url("/assets/images/icon_balloon_left.svg") no-repeat 0 0/calc(20/750*100vw) calc(30/750*100vw);
        width: calc(20/750*100vw);
        height: calc(30/750*100vw);
    }

    .reason-list__contact dt span::after {
        background: url("/assets/images/icon_balloon_right.svg") no-repeat 0 0/calc(20/750*100vw) calc(30/750*100vw);
        width: calc(20/750*100vw);
        height: calc(30/750*100vw);
    }

    .reason-list__contact dd .btn-tel {
        width: 100%;
        height: calc(120/750*100vw);
    }

    .reason-list__contact dd .btn-tel .btn-tel__centerbox {
        padding-left: calc(60/750*100vw);
    }

    .reason-list__contact dd .btn-tel .btn-tel__centerbox span {
        font-size: 2.4rem;
    }

    .reason-list__contact dd .btn-tel .btn-tel__centerbox small {
        font-size: 1.2rem;
    }

    .reason-list__contact dd .btn-tel .btn-tel__centerbox::before {
        background: url(../images/tel-icon.png) no-repeat 0 0 / calc(53 / 750* 100vw) calc(70 / 750* 100vw);
        width: calc(53 / 750* 100vw);
        height: calc(70 / 750* 100vw);
    }

    .reason-box {
        max-width: calc(680/750*100vw);
        padding: 1.5em 1.2em 1.8em;
        margin: 1.5em auto 0;
    }

    .reason-box_ttl {
        font-size: 2.8rem;
        margin-bottom: .6em;
    }

    .reason-box_btn {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        max-width: 100%;
        margin: 0 auto;
    }

    .reason-box_btn li+li {
        margin-top: .8em;
    }
}


/* -----------------------------------------------------------
news.html
お知らせ
----------------------------------------------------------- */
.newsp-list-box {
    max-width: 1100px;
    margin: 0 auto;
}

.newsp-list-box_inner {
    display: flex;
    border-bottom: 1px solid #aaaaaa;
    margin-bottom: 60px;
    padding-bottom: 60px;
}

.newsp-list-box_inner figure {
    position: relative;
    width: 400px;
    height: 285px;
    overflow: hidden;
    flex-shrink: 0;
    margin-right: 34px;
}

.newsp-list-box_inner figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.newsp-list-box_inner .newsp-list-box-text .status__date {
    line-height: 1;
    margin-bottom: .3em;
    transform: rotate(0.03deg);
}

.newsp-list-box_inner .newsp-list-box-text .status .underline-title {
    padding: .5em 0 20px;
    font-size: 1.6rem;
    transform: rotate(0.03deg);
}

.newsp-list-box_inner .newsp-list-box-text p {
    line-height: 1.5;
    transform: rotate(0.03deg);
}

/* SP */
@media screen and (max-width: 960px) {
    .newsp-list-box {
        max-width: 100%;
        margin: 0 auto;
        padding: 0 1em;
    }

    .newsp-list-box_inner {
        flex-direction: column;
        margin-bottom: 3em;
        padding-bottom: 3em;
    }

    .newsp-list-box_inner figure {
        width: 100%;
        height: calc(400/750*100vw);
        overflow: hidden;
        flex-shrink: 0;
        margin-right: 0;
        margin-bottom: 1em;
    }

    .newsp-list-box_inner figure img {
        width: 100%;
    }

    .newsp-list-box_inner .newsp-list-box-text .status__date {
        margin-bottom: .3em;
    }

    .newsp-list-box_inner .newsp-list-box-text .status .underline-title {
        padding: .5em 0 1em;
    }
}

.newsp-list-box article h1 {
  font-size: 2rem;
  font-weight: 600;
  margin-top: 2em;
  border-left: 4px solid #00796B; /* 좀 더 차분한 teal 계열 */
  padding-left: 0.6em;
  color: #2c3e50; /* 사이트 톤에 맞는 어두운 파란색 */
}

.newsp-list-box article h2 {
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 2em;
  border-left: 4px solid #00796B;
  padding-left: 0.6em;
  color: #2c3e50;
}

.newsp-list-box article strong {
  font-weight: bold;
  color: #2c3e50; /* 너무 자극적이지 않은 빨강 */
}

.newsp-list-box article ul {
  list-style: disc;
  padding-left: 1.6em;
  margin-bottom: 1.2em;
  color: #444;
}

.newsp-list-box article p {
  line-height: 1.8;
  margin-bottom: 1.4em;
  color: #444;
}


/* Markdown 테이블 전용 스타일 (.newsp-list-box 내의 article에만 적용됨) */
.newsp-list-box article table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  font-size: 1.5rem;
  line-height: 1.6;
}

.newsp-list-box article thead {
  background-color: #f7f7f7;
}

.newsp-list-box article th,
.newsp-list-box article td {
  border: 1px solid #bbb;
  padding: 0.8em 1em;
  text-align: left;
}

.newsp-list-box article th {
  font-weight: 600;
}

.newsp-list-box article tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.newsp-list-box article tbody tr:hover {
  background-color: #eef;
}

@media (max-width: 600px) {
  .newsp-list-box article table {
    display: block;
    overflow-x: auto;
  }
}
/* ─────────────────────────────────────────────────────────────────────── */




/* -----------------------------------------------------------
contact.html
お見積りのご依頼
----------------------------------------------------------- */

.contact-area {
    margin: 0 auto 120px;
}

.contact-text {
    margin-top: 20px;
}

#contact-form {
    padding-top: 130px;
    margin-top: -80px;
}

#contact-form .text-description {
    margin-bottom: 4em;
}

.contact-area p {
    margin-top: 1em;
}

.tbl-form {
    width: 100%;
    margin-bottom: 2em;
    border-collapse: collapse;
}

.tbl-form th,
.tbl-form td {
    padding: 25px 30px 25px 0;
    box-sizing: border-box;
    text-align: left;
    border-top: 1px solid #aeaeae;
    border-bottom: 1px solid #aeaeae;
    transform: rotate(0.03deg);
}

.tbl-form th {
    width: 330px;
    text-align: left;
    font-size: 1.8rem;
    font-weight: 700;
    vertical-align: top;
    padding: 30px 30px 25px 0;
}

.tbl-form th.required span {
    position: relative;
}

.tbl-form th.required span::after {
    content: "必須";
    position: absolute;
    top: 1px;
    right: -80px;
    width: 60px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #59b2d6;
    border-radius: 25px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
    letter-spacing: .3em;
    line-height: 1;
    white-space: nowrap;
}

.tbl-form td {
    padding: 25px 30px;
}

.tbl-form td label {
    cursor: pointer;
}

.tbl-form__name {
    display: flex;
}

.tbl-form__name div {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
}

.tbl-form__name div+div {
    margin-left: 30px;
}

.tbl-form__name div span {
    display: inline-block;
    margin-right: 10px;
    font-weight: 700;
}

.tbl-form__radio {
    display: grid;
    gap: .5em;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

.tbl-form__radio li {
    width: 100%;
}

.tbl-form__radio+.error-msg {
    margin-top: 15px;
}

.tbl-form__radio.vertical {
    flex-direction: column;
}

.tbl-form__radio.vertical li {
    width: 100%;
    margin-top: 10px;
}

.tbl-form.comform {
    margin-top: 4em;
}

.ttl-type-privacy {
    text-align: center;
    margin-bottom: 1em;
}

.privacy-box {
    max-height: calc(400/750*100vw);
    padding: 1em;
    margin: .5rem 0 2rem;
    font-size: 1.4rem;
}

.privacy-box p+p {
    margin-top: 1.5em;
}

.privacy-box p a {
    letter-spacing: -.04em;
    font-size: 1.2rem;
}

.agreement-info label {
    display: flex;
    align-items: center;
    justify-content: center;
}

.agreement-info label span {
    letter-spacing: -.03em;
    font-size: 1.5rem;
}

#contact-form .btn-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 420px;
    height: 80px;
    margin: 3em auto 2em;
    font-size: 1.8rem;
    transform: rotate(0.03deg);
}

.btn-back {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 390px;
    height: 80px;
    margin: 3em auto 2em;
    color: #fff;
    font-size: 1.8rem;
    background-color: #757575;
    transform: rotate(0.03deg);
}

.btn-back::before {
    content: "";
    background: url("/assets/images/common/icon_arw.svg") no-repeat 0 0;
    background-size: 13px 9px;
    width: 13px;
    height: 9px;
    position: absolute;
    left: 32px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
}

.btn-back:hover {
    opacity: .7;
    transition: .4s all;
}

.btn-comform {
    display: flex;
    justify-content: center;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
}

.msg-c {
    text-align: center;
    margin-top: 5px;
}

.msg-c span {
    display: inline-block;
    color: #000;
}

.text-thanks {
    line-height: 1.875;
    margin-bottom: 2em;
    text-align: center;
}

.text-thanks p {
    transform: rotate(0.03deg);
}

.recaptcha-container {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

/* SP */
@media screen and (max-width: 960px) {

    .contact-area {
        margin: 0 auto 4em;
    }

    #contact-form {
        padding-top: 50px;
        margin-top: -10px;
    }

    #contact-form .content {
        max-width: 100%;
    }

    #contact-form .text-description {
        text-align: left;
    }

    #contact-form .btn-arrow {
        max-width: 90%;
        height: calc(120/750*100vw);
    }


    .tbl-form {
        border-top: 1px solid #aeaeae;
    }

    .tbl-form th,
    .tbl-form td {
        display: block;
        border-top: 0;
        border-bottom: 1px solid #aeaeae;
    }

    .tbl-form th {
        border: 0;
        width: 100%;
        vertical-align: middle;
        padding: 1.5em 0 0 0;
    }

    .tbl-form th.required span::after {
        top: -10px;
        right: calc(-120/750*100vw);
        width: calc(90/750*100vw);
        height: calc(40/750*100vw);
        font-size: 1.2rem;
    }

    .tbl-form td {
        padding: 1em 0 1.5em;
    }

    .tbl-form__typelist {
        margin-bottom: 1em;
        flex-direction: column;
    }

    .tbl-form__typelist li+li {
        margin-top: .8em;
        margin-left: 0;
    }

    .tbl-form__typelist+p {
        line-height: 1.5;
    }

    .tbl-form__typelist01 {
        flex-direction: column;
    }

    .tbl-form__typelist01 li {
        width: 100%;
        margin-right: 0;
        margin-top: .5em;
    }

    .tbl-form__typelist01 li:nth-child(1),
    .tbl-form__typelist01 li:nth-child(4) {
        width: 100%;
    }

    .tbl-form__typelist01 li:nth-child(2),
    .tbl-form__typelist01 li:nth-child(5) {
        width: 100%;
    }

    .tbl-form__typelist01 li:nth-child(3),
    .tbl-form__typelist01 li:nth-child(6) {
        width: 100%;
        margin-right: 0;
    }

    .tbl-form__typelist01 li:nth-child(n + 4) {
        margin-top: .5em;
    }

    .tbl-form__typelist02 li {
        transform: rotate(0.03deg);
    }

    .tbl-form__typelist02 li+li {
        margin-top: .5em;
    }

    .tbl-form__typelist02 li span {
        font-size: 1.2rem;
        line-height: 1.3;
    }

    .tbl-form__name {
        justify-content: space-between;
    }

    .tbl-form__name div {
        width: calc(50% - 10px);
    }

    .tbl-form__name div+div {
        margin-left: 0;
    }

    .tbl-form__name div span {
        margin-right: 10px;
    }

    .tbl-form__radio {
        display: block;
    }

    .tbl-form__radio.vertical li {
        width: 100%;
        margin-top: 1em;
    }

    .tbl-form__radio.vertical li+li {
        margin-top: .2em;
    }

    .tbl-form.comform {
        margin-top: 2em;
    }

    .ttl-type-privacy {
        margin-bottom: 1em;
    }

    .privacy-box {
        max-height: calc(400/750*100vw);
        padding: 1em;
        margin: .5rem 0 2rem;
        font-size: 1.4rem;
    }

    .privacy-box p+p {
        margin-top: 1.5em;
    }

    .privacy-box p a {
        letter-spacing: -.04em;
        font-size: 1.2rem;
    }

    .agreement-info label {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .agreement-info label span {
        letter-spacing: -.03em;
        font-size: 1.5rem;
    }

    .btn-comform {
        display: flex;
        justify-content: center;
        flex-direction: column-reverse;
    }

    .btn-comform .btn-arrow {
        width: 100%;
        height: calc(120/750*100vw);
        margin: 0 auto .5em;
    }

    .btn-comform .btn-back {
        width: 100%;
        height: calc(120/750*100vw);
        margin: 0 auto 1em;
    }

    .msg-c span {
        font-size: 1.4rem;
    }
}


@media screen and (max-width: 540px) {
    .tbl-form th.required span::after {
        top: 1px;
    }
}

/* form
----------------------------------------------------------- */
button {
    cursor: pointer;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    cursor: pointer;
}

@media all and (-ms-high-contrast: none) {

    *::-ms-backdrop,
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"] {
        transition: none;
    }

    /* IE11 */
}

button,
input,
select,
textarea {
    font-family: "M PLUS 1p", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", "メイリオ", Meiryo, "ＭＳ ゴシック", Osaka, sans-serif;
}

/*----*/
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
textarea {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #b1b1b1;
    border-radius: 2px;
    background: #f8f8f8;
    font-size: 1.6rem;
}

input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder,
textarea::placeholder {
    color: #bfbfbf;
}

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus {
    outline: none;
    background-color: #fff4e6;
    border: 1px solid #adb57f;
}

textarea {
    width: 100%;
    background-color: #FAFAFA;
    border: 1px solid #b1b1b1;
    border-radius: 3px;
    box-sizing: border-box;
    padding: 17px;
    font-size: 1.6rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
}

select {
    height: 40px;
    padding: 0 5px;
    border: 1px solid #BBB;
    border-radius: 2px;
    background: #F9F9F9;
}

.short-box {
    width: 75% !important;
}

/* select-type01 */
.select-type01 {
    position: relative;
    display: inline-block;
}

.select-type01 select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    position: relative;
    max-width: 100%;
    padding: 0px 50px 0px 10px;
    height: 40px;
    border: 1px solid #F8E8DD;
    box-shadow: none;
    line-height: 1.2;
    border-radius: 4px;
    box-sizing: border-box;
    background-color: #fff;
    outline: none;
}

.select-type01::after {
    content: "";
    width: 8px;
    height: 6px;
    box-sizing: border-box;
    border: 6px solid transparent;
    border-top: 8px solid #000;
    position: absolute;
    top: calc(50% - 4px);
    right: 5px;
    transform: translateX(-50%);
    transition: .4s all;
    z-index: 10;
}

.select-type01::-ms-expand {
    display: none;
}

/* checkbox */
input[type=checkbox] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    position: relative;
    right: 0;
    top: 3px;
    left: 0;
    width: 20px;
    height: 20px;
    vertical-align: -0.4rem;
    transition: all .15s ease-out 0s;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    outline: none;
    margin-right: 8px;
    border: 1px solid #D8D8D8;
    border-radius: 3px;
    background: #fff;
}

input[type=checkbox]::before,
input[type=checkbox]::after {
    position: absolute;
    content: "";
    background: #fff;
    transition: all .2s ease-in-out;
}

input[type=checkbox]::before {
    left: 3px;
    top: 10px;
    width: 5px;
    height: 2px;
    transform: rotate(45deg);
}

input[type=checkbox]::after {
    right: 7px;
    bottom: 3px;
    width: 2px;
    height: 10px;
    transform: rotate(40deg);
}

input[type=checkbox]:checked {
    background: #59b2d6;
}

/* radio */
input[type=radio] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    width: 25px;
    height: 25px;
    vertical-align: -0.7rem;
    transition: all .15s ease-out 0s;
    cursor: pointer;
    display: inline-block;
    outline: none;
    margin-right: 10px;
    border: 1px solid #b1b1b1;
    border-radius: 50%;
    background: #f8f8f8;
}

input[type=radio]:checked {
    background: #fff;
}

input[type=radio]:checked::before {
    position: absolute;
    content: "";
    transition: all .2s ease-in-out;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background: #59b2d6;
}

/* SP */
@media screen and (max-width: 960px) {

    /* checkbox */
    input[type=checkbox] {
        top: 0;
        width: calc(42/750*100vw);
        height: calc(42/750*100vw);
        vertical-align: middle;
        margin-right: 8px;
    }

    input[type=checkbox]::before {
        left: calc(8/750*100vw);
        top: calc(23/750*100vw);
        width: calc(10/750*100vw);
        height: calc(2/750*100vw);
    }

    input[type=checkbox]::after {
        right: calc(13/750*100vw);
        bottom: calc(9/750*100vw);
        width: calc(2/750*100vw);
        height: calc(20/750*100vw);
    }

    /* radio */
    input[type=radio] {
        width: calc(42/750*100vw);
        height: calc(42/750*100vw);
        margin-right: calc(18/750*100vw);
        vertical-align: -0.5rem;
    }

    input[type=radio]:checked::before {
        width: calc(18/750*100vw);
        height: calc(18/750*100vw);
    }
}

/* [error] -----------------------------------------*/
input[type=text].error,
input[type=email].error,
input[type=tel].error,
textarea.error,
select.error {
    border-color: #ff0000;
    border-width: 1px;
    background: #FAE1EA;
}

.error-msg {
    margin-top: 5px;
    color: #ff0000;
    text-align: left;
}

.error-msg-c {
    text-align: center;
    margin-bottom: 10px;
}

.error-msg-c span {
    display: inline-block;
    color: #ff0000;
}

/* SP */
@media screen and (max-width: 960px) {
    .error-msg {
        font-size: 1.4rem;
    }

    .error-msg-c {
        font-size: 1.4rem;
    }
}


/* -----------------------------------------------------------
privacy.html
個人情報保護方針
----------------------------------------------------------- */

.privacy-area {
    margin: 0 auto 120px;
}

#privacypolicy {
    padding-top: 130px;
    margin-top: -80px;
}

.privacypolicy-inbox {
    padding: 40px;
    margin-bottom: 4em;
    background-color: #f6f7f6;
    transform: rotate(0.03deg);
}

.privacypolicy-inbox h4 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: .5em;
}

.privacy-area p {
    margin-top: 1em;
}

.privacypolicy-inbox-ttl {
    font-weight: bold;
    border-bottom: solid 1px;
}

.privacypolicy-inbox ul {
    margin-top: .3em;
    margin-bottom: 1em;
    margin-left: 1.3em;
}

.privacypolicy-mail {
    margin-top: 40px;
    text-align: right;
}

@media screen and (max-width: 960px) {
    .privacy-area {
        margin: 0 auto 4em;
    }

    #privacypolicy {
        padding-top: 50px;
        margin-top: -10px;
    }

    .privacypolicy-inbox {
        padding: 1.2em;
    }

    .privacypolicy-inbox h4 {
        font-size: 1.6rem;
    }

    .privacypolicy-inbox ul {
        margin-left: 0.5em;
    }
}


/* -----------------------------------------------------------
company.html
運営会社
----------------------------------------------------------- */

.company-area {
    margin: 0 auto 120px;
}

#operating-company {
    padding-top: 130px;
    margin-top: -80px;
}


/* -----------------------------------------------------------
sitemap.html
サイトマップ
----------------------------------------------------------- */

.sitemap-ttl {
    margin: 1.4em 0;
    border-bottom: 3px dashed #59b2d6;
    border-left: 4mm ridge #59b2d6;
    padding-left: 10px;
}

.sitemap-child {
    margin-left: 20px;
}

.sitemap-ttl a,
.sitemap-child a {
    color: #000000;
}

.sitemap-ttl a:hover,
.sitemap-child a:hover {
    color: #59b2d6;
}


/* -----------------------------------------------------------
pagination-nav
ページネーション
----------------------------------------------------------- */

.pagination-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 48px 0 24px;
    flex-wrap: wrap;
}

.pagination-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 20px;
    border: 2px solid #59b2d6;
    border-radius: 4px;
    color: #59b2d6;
    font-weight: bold;
    font-size: 1.4rem;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}

.pagination-btn:hover {
    background: #59b2d6;
    color: #fff;
}

.pagination-btn--disabled {
    border-color: #ccc;
    color: #ccc;
    cursor: default;
    pointer-events: none;
}

.pagination-pages {
    display: flex;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
}

.pagination-page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 2px solid #59b2d6;
    border-radius: 4px;
    color: #59b2d6;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.pagination-page:hover {
    background: #59b2d6;
    color: #fff;
}

.pagination-page--current {
    background: #59b2d6;
    color: #fff;
    cursor: default;
}


/* -----------------------------------------------------------
post-navigation
記事内 前後ナビゲーション
----------------------------------------------------------- */

.post-navigation {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 2px solid #e8e8e8;
}

.post-nav-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    border: 2px solid #e8e8e8;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    transition: border-color 0.2s, background 0.2s;
    min-width: 0;
}

.post-nav-item:hover {
    border-color: #59b2d6;
    background: #f4fafd;
}

.post-nav-item--prev {
    text-align: left;
}

.post-nav-item--next {
    text-align: right;
}

.post-nav-item--list {
    align-items: center;
    justify-content: center;
    border-color: #59b2d6;
    background: #f4fafd;
    color: #59b2d6;
    flex-shrink: 0;
    padding: 16px 20px;
}

.post-nav-item--list:hover {
    background: #59b2d6;
    color: #fff;
}

.post-nav-item--empty {
    border-color: transparent;
}

.post-nav-item__label {
    font-size: 1.1rem;
    color: #59b2d6;
    font-weight: bold;
}

.post-nav-item--list .post-nav-item__label {
    font-size: 1.0rem;
    color: inherit;
}

.post-nav-item__title {
    font-size: 1.3rem;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

@media screen and (max-width: 768px) {
    .post-navigation {
        grid-template-columns: 1fr;
    }

    .post-nav-item--next {
        text-align: left;
    }

    .pagination-btn {
        padding: 8px 14px;
        font-size: 1.3rem;
    }
}

/* FAQ Section */
.faq-list {
    margin: 0;
    padding: 0;
}

.faq-list dt {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #333;
    padding: 20px 0 10px;
    border-top: 1px solid #e0e0e0;
    line-height: 1.6;
}

.faq-list dd {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 1.5rem;
    color: #555;
    padding: 10px 0 20px;
    margin: 0;
    line-height: 1.8;
}

.faq-q,
.faq-a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 1.5rem;
    font-weight: bold;
    flex-shrink: 0;
    margin-top: 2px;
}

.faq-q {
    background: #59b2d6;
    color: #fff;
}

.faq-a {
    background: #f0f0f0;
    color: #333;
}

@media screen and (max-width: 768px) {
    .faq-list dt,
    .faq-list dd {
        font-size: 1.4rem;
    }
}


/* -----------------------------------------------------------
news-grid
ニュース一覧カード
----------------------------------------------------------- */

.news-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.news-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: box-shadow 0.25s, transform 0.25s;
}

.news-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.10);
    transform: translateY(-3px);
}

.news-card__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.news-card__date {
    font-size: 1.3rem;
    color: #999;
    font-weight: 500;
    white-space: nowrap;
}

.news-card__tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.news-card__tag {
    display: inline-block;
    padding: 2px 10px;
    background: #e8f5f3;
    color: #00796B;
    border-radius: 20px;
    font-size: 1.1rem;
    font-weight: 600;
}

.news-card__title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
    border: none !important;
    padding: 0 !important;
    color: #2c3e50;
}

.news-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.news-card__title a:hover {
    color: #59b2d6;
}

.news-card__excerpt {
    font-size: 1.4rem;
    color: #666;
    line-height: 1.75;
    flex: 1;
    margin: 0;
}

.news-card__more {
    font-size: 1.3rem;
    color: #59b2d6;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
    transition: color 0.2s;
}

.news-card__more:hover {
    color: #3a90b4;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .news-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .news-card {
        padding: 20px;
    }
}


/* -----------------------------------------------------------
post-article
記事コンテンツ
----------------------------------------------------------- */

.post-article {
    max-width: 800px;
    margin: 0 auto;
}

.post-article__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e8e8e8;
}

.post-tag {
    display: inline-block;
    padding: 3px 12px;
    background: #e8f5f3;
    color: #00796B;
    border-radius: 20px;
    font-size: 1.2rem;
    font-weight: 600;
}


/* server-disposal page: 画像高さを統一 */
#server-disposal .service-list .img-area {
    overflow: hidden;
}

#server-disposal .service-list .img-area img {
    height: 280px;
    object-fit: cover;
    border-radius: 4px;
}

@media screen and (max-width: 960px) {
    #server-disposal .service-list .img-area img {
        height: 220px;
    }
}


/* -----------------------------------------------------------
data-erasure.html
データ消去 専用スタイル
----------------------------------------------------------- */

/* 実績カウンター */
.de-stats-section {
    background: #f4fafd;
    padding: 48px 0 !important;
}

.de-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.de-stat-item {
    padding: 24px 16px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}

.de-stat-num {
    font-size: 3.2rem;
    font-weight: 800;
    color: #59b2d6;
    line-height: 1.1;
}

.de-stat-num span {
    font-size: 1.6rem;
    font-weight: 700;
    color: #2c3e50;
}

.de-stat-num .de-stat-suffix {
    font-size: 1.4rem;
    font-weight: 600;
    color: #888;
}

.de-stat-label {
    font-size: 1.3rem;
    color: #666;
    margin-top: 8px;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .de-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .de-stat-num {
        font-size: 2.4rem;
    }
}


/* 証明書サンプル */
.de-cert-sample {
    width: 100%;
    height: 280px;
    background: #fff;
    border: 2px solid #2c3e50;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    position: relative;
}

.de-cert-header {
    background: #2c3e50;
    color: #fff;
    padding: 10px 14px 8px;
    text-align: center;
    position: relative;
}

.de-cert-title {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.de-cert-subtitle {
    font-size: 0.9rem;
    opacity: 0.8;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.de-cert-sample-badge {
    position: absolute;
    top: 8px;
    right: 10px;
    background: #e74c3c;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 3px;
    letter-spacing: 0.05em;
}

.de-cert-body {
    flex: 1;
    padding: 8px 14px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.de-cert-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.15rem;
    border-bottom: 1px solid #f0f0f0;
    padding: 3px 0;
}

.de-cert-key {
    width: 80px;
    flex-shrink: 0;
    color: #666;
    font-size: 1.05rem;
}

.de-cert-val {
    color: #2c3e50;
    font-weight: 600;
}

.de-cert-result .de-cert-key {
    font-weight: 700;
}

.de-cert-pass {
    color: #00796B !important;
    font-weight: 800 !important;
}

.de-cert-footer {
    background: #f7f7f7;
    text-align: right;
    font-size: 1.1rem;
    color: #555;
    padding: 6px 14px;
    border-top: 1px solid #e0e0e0;
}


/* 料金テーブル */
.de-price-table {
    overflow-x: auto;
    margin-top: 2rem;
}

.de-price-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.5rem;
}

.de-price-table th {
    background: #2c3e50;
    color: #fff;
    padding: 14px 16px;
    text-align: center;
    font-weight: 700;
}

.de-price-table td {
    padding: 14px 16px;
    border: 1px solid #e0e0e0;
    vertical-align: middle;
    line-height: 1.6;
}

.de-price-recommend {
    background: #f4fafd;
}

.de-price-recommend td:first-child {
    border-left: 4px solid #59b2d6;
}

.de-price-val {
    text-align: center;
    font-size: 1.7rem;
    font-weight: 700;
    color: #59b2d6;
    white-space: nowrap;
}

.de-price-cert {
    text-align: center;
    color: #00796B;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .de-price-table table {
        font-size: 1.3rem;
    }
    .de-price-table th,
    .de-price-table td {
        padding: 10px 12px;
    }
}
