@charset "utf-8";
/* CSS Document */

/*******
common
********************************/
#mainContent {
    min-width: auto !important;
}
#contents h2 {
    font-size: 38px;
    font-weight: 500;
    text-align: left;
    line-height: 1.4;
    margin-bottom: 3.32%;
}
#contents h3 {
    font-size: 32px;
    text-align: center;
    font-weight: 500;
}
#contents h3 span {
    display: block;
    color: #535B6E;
    font-size: 24px;
}
#contents h4 {
    font-weight: 500;
}
#contents strong {
    font-weight: bold;
}
[class*="sec0"] .inr {
    line-height: 1.6;
    color: #535B6E;
}
[class*="sec0"] .inr img {
    max-width: 100%;
    height: auto;
}
[id*="sec0"] {
    margin-top: -141px;
    padding: 140px 10px 0;
}
#contents .container-wrap {
    max-width: 1760px;
    margin: 0 auto;
    padding: 76px 10px;
    background: #EFF2F6;
    border-radius: 32px;
    box-shadow: 7px 7px 12px 0px #d2d8e0;
}
#contents .pc {
    display: block;
}
#contents .sp {
    display: none;
}
/* contact */
#contents .contact {
    position: relative;
    z-index: 1;
    margin-top: 100px;
    padding: 100px 10px;
    text-align: center;
    background: #0F1ED2 url(../img/bg_blue-grd.webp) no-repeat center;
    background-size: cover;
}
#contents .sec06 + .contact {
    margin: 0;
}
#contents .contact-text {
    margin-bottom: 76px;
    color: #fff;
    font-size: 38px;
    font-weight: 500;
}
#contents .contact-text span {
    display: block;
    font-size: 28px;
}
#contents .contact .btn-white {
    margin: 0;
}
#contents .contact a {
    display: block;
    width: 336px;
    background-color: #fff;
    background-image: url(../img/icon_mail-blue.svg);
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: 33px center;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    padding: 13px 0 11px 30px;
    border: 1px solid #fff;
    border-radius: 50px;
    margin: 0 auto;
}
#contents .contact a:link {
    color: #0F1ED2;
}
#contents .contact a:hover {
    color: #fff;
    background-color: #0F1ED2;
    background-image: url(../img/icon_mail-white.svg);
}
#contents .contact a:visited {
    color: #0F1ED2;    
}
#contents .contact .btn-blue a {
    background-color: #0F1ED2;
    background-image: url(../img/icon_mail-white.svg);
    border: 1px solid #0F1ED2;
}
#contents .contact .btn-blue a:link {
    color: #fff;    
}
#contents .contact .btn-blue a:hover {
    color: #0F1ED2;
    background-color: #fff;
    background-image: url(../img/icon_mail-blue.svg);
}
#contents .contact .btn-blue a:visited {
    color: #fff;    
}

/* detail */
#contents .btn-detail {
    color: #fff;
    background-color: #0f1ed2;
    width: 182px;
    font-size: 16px;
    padding: 12.5px 30px;
    font-weight: bold;
    border-radius: 50px;
    color: #0f1ed2;
    background: #fff;
    border: 1px solid #0f1ed2;
    line-height: 1.3;
    text-decoration: none;
    word-wrap: break-word;
    position: relative;
    display: inline-block;
    cursor: pointer;
    transition: 0.2s ease;
}
#contents .btn-detail::before {
    -webkit-mask-image: url(../img/icon_arrow.svg);
    mask-image: url(../img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: top center;
    mask-position: top center;
    -webkit-mask-size: cover;
    mask-size: cover;
    background-color: #0f1ed2;
    position: absolute;
    top: calc(50% - 12px);
    right: 30px;
    transform: translateX(50%);
    bottom: auto;
    display: block;
    width: 24px;
    height: 24px;
    margin: auto;
    content: "";
    transition: 0.2s ease;
}

#contents .scale-img {
    overflow: hidden;
}
#contents .scale-img img{
    transition: all 0.3s ease;
}

#contents a.hover-switch:link {
    text-decoration: none;
    color: initial;
}

@media (hover: hover) {
    #contents a.hover-switch:hover {
        opacity: 0.75;
    }
    #contents a.hover-switch:hover .btn-detail::before {
        background-color: #fff;
    }
    #contents a.hover-switch:hover .btn-detail {
        color: #fff;
        background: #535a6e;
        border: 1px solid #535a6e;
    }
    #contents a.hover-switch:hover .btn-detail::before {
        right: 20px;
        left: auto;
    }
    #contents a.hover-switch:hover .scale-img img{
        opacity: 0.75;
        transform: scale(1.1);
    }
}

/* animation */
.fade-in-up,
.fade-in-left {
  opacity: 0;
  transition: .8s ease-out;
}
.fade-in-up {
  transform: translateY(20px);
}
.fade-in-left {
  transform: translateX(-40px);
}
.show {
  opacity: 1;
  transform: translate(0, 0);
}

/*******
nav
********************************/
#contents .nav.fixed {
    position: fixed;
    top: 88px;
    left: 0;
    right: 0;
    bottom: auto;
    margin: 0 auto;
    height: auto;
    z-index: 999;
}
#contents .nav {
    background: #fff;
    border-top: 1px solid #C5CCD9;
    border-bottom: 1px solid #C5CCD9;
}
#contents .nav ul{
    display: flex;
    align-items: center;
    justify-content: center;
}
#contents .nav li:not(:last-child) {
    margin-right: 90px;
}
#contents .nav li a {
    display: block;
    position: relative;
    color: #0F1ED2;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    padding: 12px 0 10px;
}
#contents .nav li a::before {
    position: absolute;
    top: 50%;
    right: -20px;
    display: block;
    width: 0.5em;
    height: 0.5em;
    content: "";
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #0f1ed2;
    border-bottom: 2px solid #0f1ed2;
}
#contents .nav li a:hover {
    opacity: 0.7;
}

/*******
mv
********************************/
#contents .mv {
    padding: 0 10px;
    background: #fff url(../img/image_mv.webp) no-repeat center;
    background-size: cover;
}
#contents .mv-inr {
    max-width: 1200px;
    margin: 0 auto;
    color: #535B6E;
}
#contents .mv-txt {
    max-width: 692px;
    width: 58.64%;
    padding: 4.16% 0;
}
#contents .mv .lead01 {
    font-size: 20px;
}
#contents .mv .lead02 {
    margin-bottom: 2.16%;
    font-size: clamp(12px, 1.33vw, 16px);
    line-height: 1.5;
}
#contents .mv .mv-cont01 {
    display: flex;
    justify-content: space-between;
    width: 92.05%;
    margin-bottom: 3.46%;
    padding: 2.89%;
    background: #fff;
}
#contents .mv .mv-cont01 .box {
    display: flex;
    align-items: center;
}
#contents .mv .mv-cont01 .box:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 40px;
    margin: 0 10px;
    background: url(../img/icon_line-edge.svg) no-repeat right center / contain;
}
#contents .mv .mv-cont01 .box .box-icon {
    margin-right: 5px;
}
#contents .mv .mv-cont01 .box .box-txt {
    margin: 0;
    font-size: clamp(12px, 1.16vw, 14px);
    line-height: 1.4;
    white-space: nowrap;
}
#contents .mv .mv-cont01 .box .box-txt span {
    color: #0F1ED2;
}
#contents .contact.fv-btn {
    margin: 0;
    padding: 0;
    background: none;
}
#contents .contact.fv-btn a {
    margin: 0;
}

/*******
section
********************************/
/* sec01 */
#contents .sec01 .inr{
    margin-top: 100px;
}
#contents .sec01 h3 {
    margin-bottom: 76px;
}
#contents .sec01-container {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
}
#contents .sec01-container .box {
    width: 47.33%;
    padding: 3.33%;
    background: #fff;
    border-radius: 24px;
}
#contents .sec01-container .box-ttl {
    margin-bottom: 24px;
    padding: 5px 1em;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background: #0F1ED2;
    border-radius: 21px;
}
#contents .sec01-container ul {
    margin-bottom: 24px;
}
#contents .sec01-container ul li {
    position: relative;
    font-size: 16px;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
}
#contents .sec01-container ul li::before {
    content: "・";
}
/* sec02 */
#contents .sec02 .inr {
    margin-top: 100px;
}
#contents .sec02 h3 {
    color: #0F1ED2;
    margin-bottom: 100px;
}
#contents .sec02-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.32%;
    background: #fff;
    border-radius: 24px;
}
#contents .sec02 h4 {
    margin-bottom: 56px;
    text-align: center;
    font-size: 24px;
}
#contents .sec02 .img {
    text-align: center;
}
/* sec03 */
#contents .sec03 .inr{
    margin-top: 100px;
}
#contents .sec03 h3 {
    margin-bottom: 76px;
}
#contents .sec03 h4 {
    margin-bottom: 76px;
    text-align: center;
    font-size: 24px;
}
#contents .sec03 h4 span {
    display: block;
    margin-top: 12px;
    font-size: 16px;
}
#contents .sec03-container {
    display: grid;
    grid-template-columns: repeat(3, 32%);
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
}
#contents .sec03-container .box {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    padding: 0 0 32px;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}
#contents .sec03-container .box-ttl {
    justify-self: start;
    display: flex;
    align-items: center;
    margin-bottom: 32px;
    padding: 10px 7.5% 5px;
    font-size: 16px;
    color: #fff;
    text-align: left;
    font-weight: bold;
    border-bottom-right-radius: 32px;
    background: #0F1ED2;
}
#contents .sec03-container .img {
    margin-bottom: 32px;
    padding: 0 8.33%;
    text-align: center;
}
#contents .sec03-container .box-txt {
    margin: 0 8.33%;
    padding-top: 20px;
    border-top: 1px solid #C5CCD9;
}
/* sec04 */
#contents .sec04 .inr{
    margin-top: 100px;
}
#contents .sec04 h3 {
    margin-bottom: 76px;
}
#contents .sec04 h4 {
    margin-bottom: 76px;
    text-align: center;
    font-size: 24px;
}
#contents .sec04 h4 span {
    display: block;
    font-size: 16px;
}
#contents .sec04-container {
    display: grid;
    grid-template-columns: repeat(2, 50%);
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #C5CCD9;
    border-radius: 32px;
}
#contents .sec04-container .box {
    display: grid;
    grid-template-columns: 100px 1fr;
    grid-template-rows: subgrid;
    grid-row: span 2;
    column-gap: 4%;
    align-items: center;
    padding: 40px 5.33% 40px 8%;
    border-top: 1px solid #C5CCD9;
    border-right: 1px solid #C5CCD9;
}
#contents .sec04-container .box:nth-child(-n+2) {
    border-top: none;
}
#contents .sec04-container .box:nth-child(even) {
    border-right: none;
}
#contents .sec04-container .box:last-child:nth-child(odd) {
    grid-column: 1 / 3;
    padding: 40px 2.66% 40px 4%;
    border-right: none;
}
#contents .sec04-container .img {
    grid-column: 1;
    grid-row: 1 / 3;
    margin: 0;
}
#contents .sec04-container .box-ttl {
    grid-column: 2;
    margin-bottom: 15px;
    padding-left: 29px;
    font-size: 24px;
    color: #0F1ED2;
    background: url(../img/icon_check.svg) no-repeat left 8px;
    background-size: 24px;
}
#contents .sec04-container .box-ttl span {
    font-size: 16px;
}
#contents .sec04-container .box-txt {
    grid-column: 2;
    margin: 0;
    font-size: 16px;
}
/* sec05 */
#contents .sec05 {
    position: relative;
    background: #fff;
}
#contents .sec05 .inr{
    padding: 100px 0;
}
#contents .sec05 h3 {
    margin-bottom: 57px;
}
#contents .sec05-container {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 19px;
}
#contents .sec05-container .box {
    display: flex;
    width: 32%;
}
#contents .sec05-container .box a {
    display: flex;
    flex-direction: column;
}
#contents .sec05-container .thumb-wrap {
    position: relative;
    margin-bottom: 12px;
}
#contents .sec05-container .box-tag {
    position: absolute;
    top: -19px;
    left: 4.16%;
    z-index: 1;
    display: inline-block;
    margin: 0;
    padding: 8px 10.41%;
    font-size: 14px;
    font-size: clamp(12px, 1.16vw, 14px);
    font-weight: bold;
    color: #fff;
    background: #0F1ED2;
    border-radius: 8px;
}
#contents .sec05-container .img {
    margin: 0;
}
#contents .sec05-container .img{
    border-radius: 16px;
}
#contents .sec05-container .box-ttl {
    margin-bottom: 12px;
    font-size: 20px;
    color: #535B6E;
}
#contents .sec05-container .box-txt {
    margin-bottom: 40px;
    font-size: 16px;
    color: #535B6E;
}
#contents .sec05-container .btn-detail {
    margin-top: auto;
}
/* sec06 */
#contents .sec06 {
    background: #EFF2F6;
}
#contents .sec06 .inr{
    padding: 100px 0;
}
#contents .sec06 h3 {
    margin-bottom: 76px;
}
#contents .sec06 h4 {
    margin-bottom: 76px;
    font-size: 24px;
    text-align: center;
}
#contents .sec06 .archive-img {
    margin-bottom: 100px;
    text-align: center;
}
#contents .sec06-container {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 19px;
}
#contents .sec06-container:not(last-child) {
    margin-bottom: 76px;
}
#contents .sec06-container .box {
    position: relative;
    padding: 56px 6.66% 40px;
    background: #fff;
    border-radius: 16px;
}
#contents .sec06-container .box-tag {
    position: absolute;
    top: -19px;
    left: 1.33%;
    display: inline-block;
    margin: 0;
    padding: 8px 3.33%;
    font-size: 14px;
    font-size: clamp(12px, 1.16vw, 14px);
    color: #fff;
    background: #0F1ED2;
    border-radius: 8px;
}
#contents .sec06-container .box-item a{
    display: flex;
    justify-content: space-between;
}
#contents .sec06-container .box-item + .box-item {
    margin-top: 80px;
}
#contents .sec06-container .box-txt-wrap {
    display: flex;
    flex-direction: column;
    width: 59.23%;
}
#contents .sec06-container .img {
    width: 34.61%;
    margin: 0;
    border-radius: 16px;
}
#contents .sec06-container .box-ttl {
    margin-bottom: 12px;
    font-size: 20px;
    color: #535B6E;
}
#contents .sec06-container .box-txt {
    margin-bottom: 24px;
    font-size: 14px;
    color: #535B6E;
}
#contents .sec06-container .btn-detail {
    margin-top: auto;
}
/* sec07 */
#contents .sec07 {
    background: #EFF2F6;
}
#contents .sec07 .inr {
    padding: 100px 0;
}
#contents .sec07 h3 {
    margin-bottom: 46px;
    color: #0F1ED2;
}
#contents .sec07 .flow {
    max-width: 1088px;
    color: #0E1A35;
    margin: 0 auto;
}
#contents .sec07 .flow li:not(:last-child) {
    position: relative;
    margin-bottom: 30px;
}
#contents .sec07 .flow li:not(:last-child)::before {
    content: "";
    position: absolute;
    bottom: -16px;
    left: calc(50% - 8px);
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 21px solid transparent;
    border-left: 21px solid transparent;
    border-top: 16px solid #ffffff;
    border-bottom: 0;    
}
#contents .sec07 .flow dl {
    display: flex;
    align-items: center;
    background: linear-gradient(to right, #D5E1FF 0%, #D5E1FF 290px, #fff 290px, #fff 100%);
    border-radius: 10px;
}
#contents .sec07 .flow li:nth-child(3) dl,
#contents .sec07 .flow li:nth-child(4) dl {
    background: linear-gradient(to right, #80A5FF 0%, #80A5FF 290px, #fff 290px, #fff 100%);
}
#contents .sec07 .flow li:nth-child(5) dl {
    background: linear-gradient(to right, #0F1ED2 0%, #0F1ED2 290px, #fff 290px, #fff 100%);
}
#contents .sec07 .flow dl dt {
    display: flex;
    align-items: center;
    background: #D5E1FF;
    min-width: 290px;
    width: 30.51%;
    color: #535B6E;
    font-size: 16px;
    font-weight: bold;
    padding: 23px 1.84% 24px 2.76%;
    border-radius: 10px 0 0 10px;
}
#contents .sec07 .flow li:nth-child(3) dt,
#contents .sec07 .flow li:nth-child(4) dt {
    background: #80A5FF;
}
#contents .sec07 .flow li:nth-child(5) dt {
    background: #0F1ED2;
    color: #fff;
}
#contents .sec07 .flow dl dt .step {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 87px;
    background: #fff;
    color: #535B6E;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 12px 0;
    margin-right: 15px;
    border-radius: 30px;
}
#contents .sec07 .flow dl dt .step span {
    font-size: 16px;
    margin-left: 5px;
}
#contents .sec07 .flow dl dt span {
    font-size: 12px;
}
#contents .sec07 .flow dl dd {
    width: 69.49%;
    font-size: 16px;
    padding: 25px 30px 24px;
}
/* sec08 */
#contents .sec08 .inr {
    padding: 100px 0;
    background: #fff;
}
#contents .sec08 h3 {
    margin-bottom: 46px;
    color: #0F1ED2;
}

@media screen and (max-width: 1220px) {
    #contents .scroll_area {
        overflow-x:scroll;
    }
}

@media screen and (max-width: 1200px) {
    #contents h2 {
        font-size: 3.16vw;
    }
    /* #contents .mv {
        background: #fff url(../img/image_mv.webp) no-repeat top right -160px;
        background-size: auto 100%;
    } */
    /*******
    nav
    ********************************/
    #contents .nav ul {
        flex-wrap: wrap;
    }
    #contents .nav ul li {
        width: 50%;
    }
    #contents .nav li:not(:last-child) {
        margin-right: auto;
    }
    #contents .nav li a {
        text-align: center;
        padding: 18px 30px 16px 10px;
        border-top: 1px solid #C1C7D6;
        border-bottom: 1px solid #C1C7D6;
    }
    #contents .nav li:nth-child(odd) a {
        border-right: 1px solid #C1C7D6;
    }
    #contents .nav li:nth-child(even) a {
        border-left: 1px solid #C1C7D6;
    }
    #contents .nav li a::before {
        content: none;
    }
    #contents .nav li a span {
        position: relative;
    }
    #contents .nav li a span::before {
        position: absolute;
        top: 50%;
        right: -20px;
        display: block;
        width: 0.5em;
        height: 0.5em;
        content: "";
        transform: translateY(-50%) rotate(45deg);
        border-right: 2px solid #0f1ed2;
        border-bottom: 2px solid #0f1ed2;
    }
    #contents .mv .mv-cont01 .box .box-txt {
        white-space: initial;
    }
}

@media screen and (max-width: 640px) {
    /*******
    common
    ********************************/
    #contents h2 {
        font-size: 32px;
        text-align: left;
    }
    #contents h3 {
        font-size: 20px;
    }
    #contents h3 span {
        font-size: 16px;
    }
    [class*="sec0"] .inr {
        /* padding: 60px 10px; */
    }
    /* contact */
    #contents .contact-text {
        font-size: 18px;
    }
    #contents .pc {
        display: none;
    }
    #contents .sp {
        display: block;
    }
    #contents .contact {
        margin-top: 25px;
        padding: 25px 10px;
    }
    #contents .contact-text {
        margin-bottom: 1em;
        font-size: 20px;
    }
    #contents .contact-text span {
        display: block;
        font-size: 16px;
    }
    #contents .contact .btn-white {
        margin: 0;
    }
    #contents .contact a {
        display: block;
        width: 312px;
        background-color: #fff;
        background-image: url(../img/icon_mail-blue.svg);
        background-repeat: no-repeat;
        background-size: 24px;
        background-position: 33px center;
        font-size: 20px;
        font-weight: bold;
        text-decoration: none;
        padding: 10px 0 10px 30px;
        border: 1px solid #fff;
        border-radius: 50px;
        margin: 0 auto;
    }
    /* detail */
    #contents .btn-detail {
        font-size: 16px;
        padding: 10px 30px;
    }
    [id*="sec0"] {
        margin-top: -47px;
        padding-top: 47px;
    }
    #contents .container-wrap {
        padding: 25px 10px;
    }
    /*******
    nav
    ********************************/
    #contents .nav ul li {
        width: 50%;
    }
    #contents .nav li a {
        font-size: 15px;
    }
    #contents .nav li:nth-child(2) a,
    #contents .nav li:nth-child(4) a {
        border-right: none;
    }
    #contents .nav li:nth-child(3) a,
    #contents .nav li:nth-child(5) a {
        border-left: none;
    }
    #contents .nav li:nth-child(even) a {
        border-left: 1px solid #C1C7D6;
    }
    #contents .nav li:nth-child(odd) a {
        border-right: 1px solid #C1C7D6;
    }
    /*******
    mv
    ********************************/
    #contents .mv {
        position: relative;
        background: #eef4f4;
    }
    #contents .mv-inr {
        position: relative;
        width: 100%;
        padding: 20px 0;
        margin: auto;
    }
    #contents .mv-txt {
        width: 100%;
    }
    #contents .mv .lead01 {
        font-size: 16px;
        text-align: left;
    }
    #contents .mv .lead02 {
        margin-bottom: 1em;
        font-size: 14px;
    }
    #contents .mv .mv-cont01 {
        width: 100%;
        margin-bottom: 3.46%;
        padding: 2.89% 0;
    }
    #contents .mv .mv-cont01 .box {
        position: relative;
        flex-direction: column;
        width: 33.33%;
        padding: 0 6.33%;/
    }
    #contents .mv .mv-cont01 .box:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }
    #contents .mv .mv-cont01 .box .box-icon {
        margin: 0;
    }
    #contents .mv .mv-cont01 .box .box-txt {
        margin: 0;
        font-size: clamp(10px, 2.8vw, 12px);
        font-weight: bold;
        text-align: center;
    }
    #contents .contact.fv-btn {
        width: 86.22%;
        position: absolute;
        top: auto;
        right: 0;
        left: 0;
        bottom: -21px;
        margin: auto;
    }
    #contents .contact.fv-btn a {
        width: 100%;
    }
    /*******
    section
    ********************************/
    /* sec01 */
    #contents .sec01 .inr{
        margin-top: 35px;
    }
    #contents .sec01 h3 {
        margin-bottom: 35px;
    }
    #contents .container-ttl {
        font-size: 18px;
    }
    #contents .sec01-container {
        display: block;
    }
    #contents .sec01-container .box {
        width: 100%;
        padding: 10px;
    }
    #contents .sec01-container .box + .box {
        margin-top: 25px;
    }
    #contents .sec01-container .box-ttl {
        margin-bottom: 1em;
        font-size: 16px;
    }
    #contents .sec01-container ul {
        margin-bottom: 1em;
    }
    #contents .sec01-container ul li {
        font-size: 14px;
    }
    #contents .sec01-container .img {
        margin: 0;
    }
    #contents .sec01 .text {
        font-size: 18px;
    }
    /* sec02 */
    #contents .sec02 .inr {
        margin-top: 35px;
    }
    #contents .sec02 h3 {
        margin-bottom: 35px;
    }
    #contents .sec02-container {
        padding: 10px;
        border-radius: 24px;
    }
    #contents .sec02 h4 {
        margin-bottom: 1em;
        text-align: center;
        font-size: 16px;
    }
    /* sec03 */
    #contents .sec03 .inr{
        margin-top: 25px;
    }
    #contents .sec03 h3 {
        margin-bottom: 35px;
    }
    #contents .sec03 h4 {
        margin-bottom: 1em;
        text-align: center;
        font-size: 16px;
    }
    #contents .sec03 h4 span {
        display: block;
        font-size: 16px;
    }
    #contents .sec03-container {
        display: block;
    }
    #contents .sec03-container .box {
        display: block;
        padding: 0 0 10px;
    }
    #contents .sec03-container .box + .box {
        margin-top: 25px;
    }
    #contents .sec03-container .box-ttl {
        display: inline-block;
        margin-bottom: 1em;
        padding: 10px 7.5% 5px;
        font-size: 16px;
    }
    #contents .sec03-container .img {
        width: 50%;
        margin: 0 auto 1em;
        padding: 0;
    }
    #contents .sec03-container .box-txt {
        margin: 0 10px;
        padding-top: 1em;
    }
    /* sec04 */
    #contents .sec04 .inr{
        margin-top: 35px;
    }
    #contents .sec04 h3 {
        margin-bottom: 35px;
    }
    #contents .sec04 h4 {
        margin-bottom: 1em;
        font-size: 16px;
    }
    #contents .sec04 h4 span {
        display: block;
        font-size: 16px;
    }
    #contents .sec04-container {
        display: block;
    }
    #contents .sec04-container .box {
        display: grid;
        grid-template-columns: 20% 1fr;
        column-gap: 1em;
        padding: 25px 10px;
        border-top: 1px solid #C5CCD9;
        border-right: none;
    }
    #contents .sec04-container .box:nth-child(-n+2) {
        border-top: 1px solid #C5CCD9;
    }
    #contents .sec04-container .box:first-child {
        border-top: none;
    }
    #contents .sec04-container .box:last-child:nth-child(odd) {
        grid-column: initial;
        padding: 25px 10px;
    }
    #contents .sec04-container .box-ttl {
        margin-bottom: .5em;
        padding-left: 16px;
        font-size: 16px;
        background: url(../img/icon_check.svg) no-repeat left 4px;
        background-size: 16px;
    }
    #contents .sec04-container .box-ttl span {
        display: block;
        font-size: 14px;
    }
    #contents .sec04-container .box-txt {
        grid-column: 2;
        margin: 0;
        font-size: 14px;
    }
    /* sec05 */
    #contents .sec05 {
        position: relative;
        background: #fff;
    }
    #contents .sec05 .inr{
        padding: 35px 0;
    }
    #contents .sec05 h3 {
        margin-bottom: 35px;
    }
    #contents .sec05-container {
        display: block;
        padding-top: 19px;
    }
    #contents .sec05-container .box {
        display: block;
        width: 100%;
    }
    #contents .sec05-container .box + .box {
        margin-top: 45px;
    }
    #contents .sec05-container .box a {
        display: block;
    }
    #contents .sec05-container .thumb-wrap {
        margin-bottom: .5em;
    }
    #contents .sec05-container .box-tag {
        top: -15px;
        left: 4.16%;
        padding: 4px 10.41%;
        font-size: 14px;
    }
    #contents .sec05-container .img{
        border-radius: 16px;
    }
    #contents .sec05-container .box-ttl {
        margin-bottom: .5em;
        font-size: 16px;
    }
    #contents .sec05-container .box-txt {
        margin-bottom: .5em;
        font-size: 14px;
    }
    #contents .sec05-container .btn-detail {
        margin-top: 0;
    }
    /* sec06 */
    #contents .sec06 .inr{
        padding: 35px 0;
    }
    #contents .sec06 h3 {
        margin-bottom: 35px;
    }
    #contents .sec06 h4 {
        margin-bottom: 1em;
        font-size: 16px;
    }
    #contents .sec06 .archive-img {
        margin-bottom: 35px;
    }
    #contents .sec06-container {
        padding-top: 19px;
    }
    #contents .sec06-container:not(last-child) {
        margin-bottom: 35px;
    }
    #contents .sec06-container .box {
        padding: 25px 10px;
    }
    #contents .sec06-container .box-tag {
        top: -15px;
        left: 4.16%;
        padding: 4px 10.41%;
        font-size: 14px;
    }
    #contents .sec06-container .box-item a{
        display: flex;
        justify-content: space-between;
        flex-direction: column-reverse;
    }
    #contents .sec06-container .box-item + .box-item {
        margin-top: 25px;
    }
    #contents .sec06-container .box-txt-wrap {
        display: block;
        width: 100%;
    }
    #contents .sec06-container .img {
        width: 100%;
        margin-bottom: .5em;
    }
    #contents .sec06-container .box-ttl {
        margin-bottom: .5em;
        font-size: 16px;
    }
    #contents .sec06-container .box-txt {
        margin-bottom: .5em;
        font-size: 14px;
    }
    #contents .sec06-container .btn-detail {
        margin-top: 0;
    }
    /* sec07 */
    #contents .sec07 {
        background: #EFF2F6;
    }
    #contents .sec07 .inr{
        padding: 35px 0;
    }
    #contents .sec07 h3 {
        margin-bottom: 35px;    
    }
    #contents .sec07 .flow li:not(:last-child) {
        margin-bottom: 25px;
    }
    #contents .sec07 .flow li:nth-child(3) dl,
    #contents .sec07 .flow li:nth-child(4) dl {
        background: #fff;
    }
    #contents .sec07 .flow li:nth-child(5) dl {
        background: #fff;
    }
    #contents .sec07 .flow dl {
        display: block;
        background: #fff;
    }
    #contents .sec07 .flow dl dt {
        width: 100%;
        padding: 15px 20px;
        border-radius: 10px 10px 0 0;
    }
    #contents .sec07 .flow dl dd {
        width: 100%;
        font-size: 14px;
        padding: 15px 20px;
    }
    /* sec08 */
    #contents .sec08 .inr{
        padding: 35px 0;
    }
    #contents .sec08 h3 {
        margin-bottom: 35px;
    }
}