@charset "UTF-8";

/*************
 ブロックパーツ（デフォルトパーツ）
*************/
hr.wp-block-separator {
    border: 1px solid #014a74;
    margin: 3% 0;
    opacity: 1;
}
.wp-block-column:not(:first-child) {
    margin-left: 1rem !important;
}
.wp-block-column .wp-block-image figcaption {
    font-size: 100%;
}
.wp-block-column .wp-block-image figcaption a {
    display: block;
    color: #000;
    text-decoration: none;
}
.wp-block-column .wp-block-image {
    margin: 0;
    width: 100%;
}
.wp-block-column .wp-block-image figure {
    width: 100%;
}
.wp-block-image img {
    width: auto !important;
}
@media (max-width: 781px) {
    hr.wp-block-separator {margin: 1.5rem 0;}
    /*************
    ブロックパーツ（デフォルトパーツ）
    *************/
    .wp-block-column:not(:first-child) {
        margin-left: 0 !important;
        margin-top: 2.5% !important;
    }
}

/*************
 ブロックパーツ（見出し）
*************/
.head01,.head02,.head07 {
    line-height: 1.75;
    font-weight: bold;
    position: relative;
}
.head07 h3,.head07 p {
    font-weight: bold;
}
.head01:before,.head02:before,.head07:before {
    content: '';
    position: absolute;
    bottom: -2.5rem;
    left: 0;
    width: 50px;
    height: 1px;
    background-color: #014a74;
}
.head07:before {
    bottom: -1.75rem;
}
.head01:before,.head07:before {
    left: 0;
}
.head02 {
    text-align: center;
}
.head02:before {
    left: 50%;
    transform: translateX(-50%);
}
.head01 + p, .head02 + p {
    line-height: 2;
}
.head02 + p {
    text-align: center;
}
.head03 {
    font-weight: bold;
    padding: 0.5em 0;
    border-top: solid 1px #014a74;
    border-bottom: solid 1px #014a74;
}
.head04 {
    font-weight: bold;
    line-height: 1.2;
    padding-left: 0.75rem;
    border-left: solid 2px #014a74;
}
.head05 {
    font-weight: bold;
    line-height: 1.2;
    margin-left: 0.75rem;
    color: #014a74;
}
.head06 {
    font-weight: bold;
    line-height: 1.2;
    color: #014a74;
    padding: 0.75em;
    margin-left: 10%;
    margin-right: 10%;
    border: solid 1px #014a74;
    text-align: center;
}
/*  */
.icontitle01, .icontitle02, .icontitle03 {
    border-bottom: solid 1px #014a74;
    height: 80px;
    display: flex;
    align-items: center;
    position: relative;
}
.icontitle01 span, .icontitle02 span, .icontitle03 span {
    font-weight: bold;
    line-height: 1.2;
    padding: 1em;
    margin-left: 100px;
}
.icontitle01::before, .icontitle02::before, .icontitle03::before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    background-size: contain;
    width: 100px;
    height: 80px;
    border-right: solid 1px #014a74;
}
.icontitle01::before {background-image: url(../img/icontitle01.svg);}
.icontitle02::before {background-image: url(../img/icontitle02.svg);}
.icontitle03::before {background-image: url(../img/icontitle03.svg);}
/* margin, font */
.head01 + p, .head02 + p {font-size: 112.5%;}
* + .head01, * + .head02, * + .head03, * + .head04, * + .head05, * + .head06, * + .head07 {margin-top: 3.5rem;}
.head01, .head02, .head07 {margin-bottom: 5rem;}
.head03, .head04, .head05, .head06 {margin-bottom: 2.5%;}
.head01, .head02, .head07 h3 {font-size: 200%;}
.head07 p {font-size: 112.5%; margin-top: 1rem;}
.head03, .head04, .head06 {font-size: 150%;}
.head05 {font-size: 131.25%;}
/*  */
* + .icontitle01, * + .icontitle02, * + .icontitle03 {margin-top: 10%;}
.icontitle01, .icontitle02, .icontitle03 {margin-bottom: 5%;}
.icontitle01, .icontitle02, .icontitle03 {font-size: 150%;}
@media (max-width: 781px) {
    /*************
    ブロックパーツ（見出し）
    *************/
    .head01:before,.head02:before,.head07:before {bottom: -1.5rem;}
    .head06 {margin-left: 0; margin-right: 0;}
    .icontitle01, .icontitle02, .icontitle03 {height: 40px;}
    .icontitle01 span, .icontitle02 span, .icontitle03 span {padding: 0.5em; margin-left: 50px;}
    .icontitle01::before, .icontitle02::before, .icontitle03::before {width: 50px; height: 40px;}
    /* margin, font */
    .head01 + p, .head02 + p {font-size: 100%;}
    * + .head01, * + .head02, * + .head03, * + .head04, * + .head05, * + .head06, * + .head07 {margin-top: 1.5rem;}
    .head01, .head02, .head07 {margin-bottom: 3rem;}
    .head03, .head04, .head05, .head06 {margin-bottom: 1.5rem;}
    .head01, .head02, .head07 h3 {font-size: 150%;}
    .head07 p {font-size: 100%;}
    .head03, .head04, .head06 {font-size: 120%;}
    .head05 {font-size: 100%;}
    /*  */
    * + .icontitle01, * + .icontitle02, * + .icontitle03 {margin-top: 20%;}
    .icontitle01, .icontitle02, .icontitle03 {margin-bottom: 15%;}
    .icontitle01, .icontitle02, .icontitle03 {font-size: 90%;}
}

/*************
 ブロックパーツ（ブロックパーツ）
*************/
.parts01 .wp-block-column:last-child .wp-block-image img, .parts02 .wp-block-column:first-child .wp-block-image img {width: 100% !important;}
.parts01 .wp-block-column .wp-block-image figcaption, .parts02 .wp-block-column .wp-block-image figcaption {text-align: right;}
@media (min-width: 1280px) {
    .parts01 .wp-block-column:last-child .wp-block-image {margin-right: calc(100% - 616px);}
    .parts02 .wp-block-column:first-child .wp-block-image {margin-left: calc(100% - 616px);}
    .parts01 .wp-block-column:last-child .wp-block-image, .parts02 .wp-block-column:first-child .wp-block-image {width: 616px;}
}
@media (max-width: 781px) {
    .parts01 > div > .wp-block-columns > .wp-block-column:last-child {order: 1 !important;}
    .parts01 > div > .wp-block-columns > .wp-block-column:first-child {order: 2 !important;}
    .parts01 .wp-block-column:last-child .wp-block-image, .parts02 .wp-block-column:first-child .wp-block-image {
        width: 100vw !important;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
}
#top .parts01 .wp-block-column p + figure, .parts02 .wp-block-column p + figure {text-align: center; margin-top: 0.5rem;}
@media (min-width: 1280px) {
    #top .wp-container-15 .wp-container-12 .link01,
    #top .wp-container-25 .wp-container-22 .link01 {margin-top: 6rem;}
    #top .link03 {margin-top: 3rem;}
}
/*  */
.parts03 .head03 {margin-bottom: 2rem;}
.parts03 .wp-block-image img, .parts04 .wp-block-image img, .parts05 .wp-block-image img, .parts06 .wp-block-image img {object-fit: cover;}
.parts03 .wp-block-image img {height: 27vw;}
.parts04 .wp-block-image img {height: 23vw;}
.parts05 .wp-block-image img {height: 15vw;}
.parts06 .wp-block-image img {width: 100% !important;}
.parts04 p, .parts05 p, .parts06 p {margin-top: 1rem;}
/*  */
.parts07 {
    margin-left: 10%;
    margin-right: 10%;
}
.parts07 .head06 {
    color: #014a74;
    padding: 1.35em;
    border: solid 2.5px #e5e5e5;
    margin: 0;
}
.parts07 .list03 {
    padding: 1.35em 10%;
    border-right: solid 2.5px #e5e5e5;
    border-left: solid 2.5px #e5e5e5;
    border-bottom: solid 2.5px #e5e5e5;
    margin-bottom: 0;
}
.parts07 .list03 li {margin-bottom: 1.35em;}
/* margin, font */
* + .parts01, * + .parts02, * + .parts03, * + .parts04, * + .parts05, * + .parts06, * + .parts07 {margin-top: 10%;}
.parts01, .parts02, .parts03, .parts04, .parts05, .parts06, .parts07 {margin-bottom: 10%;}
.parts01 p, .parts02 p, .parts03 p, .parts04 p, .parts05 p, .parts06 p {font-size: 112.5%;}
@media (max-width: 781px) {
    /*************
    ブロックパーツ（ブロックパーツ）
    *************/
    .parts03 .head03 {margin-bottom: 1.5rem;}
    .parts03 .wp-block-image img, .parts04 .wp-block-image img, .parts05 .wp-block-image img, .parts06 .wp-block-image img {
        object-fit: contain;
        height: auto;
    }
    /*  */
    .parts07 {margin-left: 0; margin-right: 0;}
    .parts07 .head06 {padding: 0.75em;}
    .parts07 .list03 {padding: 0.75em;}
    .parts07 .list03 li {margin-bottom: 0.75em;}
    /* margin, font */
    * + .parts01, * + .parts02, * + .parts03, * + .parts04, * + .parts05, * + .parts06, * + .parts07 {margin-top: 3rem;}
    .parts01, .parts02, .parts03, .parts04, .parts05, .parts06, .parts07 {margin-bottom: 3.5rem;}
    .parts01 p, .parts02 p, .parts03 p, .parts04 p, .parts05 p, .parts06 p {font-size: 100%;}
}

/*************
 ブロックパーツ（リンク・リスト）
*************/
.link01, .link02 {
    text-align: right;
}
.link01 a, .link02 a, .link03 a {
    padding-top: 1.75rem;
    position: relative;
    text-decoration: none;
    color: #014a74 !important;
    display: block;
}
.link01 a::after, .link02 a::after {
    position: absolute;
    top: 0;
    right: 0;
    content: url(../img/icon-link.svg);
}
.link03 .head06 {
    padding:0;
    font-weight: normal;
}
.link03 .head06 a {
    padding: 0.75em 7rem;
    position: relative;
}
.link03 .head06 a::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
    content: url(../img/icon-link.svg);
}
/*  */
.list01 li, .list02 li, .list03 li {
    list-style: none;
    padding: 0.15rem 0 0.15rem 1.35rem;
    position: relative;
}
.list01 li::before, .list02 li::before, .list03 li::before {
    position: absolute;
    left: 0;
}
.list01 li::before {top: 3px; content: url(../img/list-circle.svg);}
.list02 li::before {top: 0px; content: url(../img/list-square.svg);}
.list03 li::before {top: 0px; content: '・';}
/* margin, font */
* + .link01, * + .link02, * + .link03 {margin-top: 2.5%;}
.link01, .link02 {margin-bottom: 2.5%;}
.link01 a, .link02 a {font-size: 87.5%;}
.link03 a {font-size: 131.25%;}
.list01, .list02, .list03 {margin-bottom: 2.5%;}
.list01 li, .list02 li, .list03 li {font-size: 112.5%;}
@media (max-width: 781px) {
    /*************
    ブロックパーツ（リンク・リスト）
    *************/
    .link03 .head06 a {padding: 0.75em 7rem 0.75em 0.75em;}
    .link03 .head06 a::after {right: 0.75em;}
    /* margin, font */
    * + .link01, * + .link02, * + .link03 {margin-top: 1.5rem;}
    .link01, .link02 {margin-bottom: 1.5rem;}
    .link03 a {font-size: 100%;}
    .list01 li, .list02 li, .list03 li {font-size: 100%;}
}

/*========================================
  個別対応
========================================*/
.wp-block-columns .wp-block-column * + .head04 {margin-top: 4rem;}