@charset "UTF-8";

html {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html *,
html *::before,
html *::after {
    box-sizing: inherit;
}

.only-pc {
    display: none;
}

@media only screen and (min-width: 768px) {
    .only-sp {
        display: none;
    }

    .only-pc {
        display: inherit;
    }
}

body {
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothic, 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #3c3c3c;
    font-style: normal;
    line-height: 1.64;
    padding: 0;
    margin: 0;
    position: relative;
    overflow-x: hidden;
}

@media only screen and (min-width: 320px) {
    body {
        font-size: 3.75vw;
    }
}

@media only screen and (min-width: 430px) {
    body {
        font-size: 16px;
    }
}


img {
    width: 100%;
    max-width: 100%;
    vertical-align: bottom;
}

a {
    color: inherit;
    text-decoration: none;
}

a img {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
}

@media only screen and (min-width: 768px) {
    a:hover {
        text-decoration: underline;
    }

    a:hover img {
        opacity: 0.7;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: 0.04em;
}

p {
    margin: 0 0 1.5em;
    letter-spacing: 0.04em;
}

p:last-child {
    margin-bottom: 0;
}

.main-header {
    height: 3.571429em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.8);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    padding: 0 8%;
    z-index: 100;
}

.main-logo {
    line-height: 1;
    width: 13.678571em;
    margin: 0;
    font-size: 1em;
}

@media only screen and (min-width: 1070px) {
    .main-header {
        height: 5.625em;
        padding: 0 2.1875%;
    }

    .main-logo {
        width: 17.5em;
    }
}

.main-nav {
    background-color: rgba(50, 200, 220, 0.95);
    position: absolute;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    z-index: 200;
}

.main-nav.activated {
    -webkit-transition: -webkit-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out;
}

.main-nav.is-active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.main-nav ul {
    list-style: none;
    margin: 0;
    padding: 5.357143em 8% 2.142857em;
}

.main-nav ul > li:not(.btn-tel) {
    padding: 0;
    margin: 0;
    border-bottom: 1px dotted #fff;
}

.main-nav ul > li:not(.btn-tel) > a {
    display: block;
    padding: 0.75em 0.5em;
    text-decoration: none;
    font-size: 1.142857em;
    font-weight: 500;
    color: #fff;
}

.main-nav ul > li:not(.btn-tel) > a span:nth-child(1) {
    display: none;
}

.main-nav ul > li.btn-tel {
    width: 18.571429em;
    margin: 2.857143em auto 0;
}

.main-nav ul > li.btn-tel a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    text-decoration: none;
    text-align: center;
    background-color: #bef0f5;
    height: 3.571429em;
    border-radius: 1.7857145em;
    cursor: default;
}

.main-nav ul > li.btn-tel a span {
    display: inline-block;
    font-family: 'Nunito', sans-serif;
    font-size: 1.642857em;
    font-weight: 600;
}

@media only screen and (min-width: 1070px) {
    .main-nav {
        position: static;
        width: auto;
        height: auto;
        left: auto;
        top: auto;
        overflow-y: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        background-color: transparent;
    }

    .main-nav ul {
        padding: 1em 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    
    .main-nav ul > li:not(.btn-tel) {
        padding: 0;
        margin: 0 0 0 3.4em;
        border-bottom: none;
    }

    .main-nav ul > li.btn-tel {
        display: none;
    }
    
    .main-nav ul > li:not(.btn-tel) > a {
        display: inline-block;
        position: relative;
        padding: 0 0 0.5em;
        font-size: 1em;
        margin-top: 0.5em;
        -webkit-transition: color 0.15s ease-in-out;
        transition: color 0.15s ease-in-out;
        text-align: center;
        color: #3c3c3c;
    }

    .main-nav ul > li:not(.btn-tel) > a span:nth-child(1) {
        font-family: 'Open Sans', snas-serif;
        font-weight: 600;
        color: #3c3c3c;
        display: inline-block;
        -webkit-transition: color .2s ease-in-out;
        transition: color .2s ease-in-out;
    }

    .main-nav ul > li:not(.btn-tel) > a span:nth-child(2) {
        font-size: 0.666667em;
        display: inline-block;
        font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothic, 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
        font-weight: 400;
        color: #3c3c3c;
        background-color: #bef0f5;
        border-radius: 0.5em;
        padding: 0.3em 0.5em;
        position: relative;
        
    }
    
    .main-nav ul > li:not(.btn-tel) > a span:nth-child(2)::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0.5em 0.666667em 0.5em;
        border-color: transparent transparent #bef0f5 transparent;
        position: absolute;
        bottom: calc(100% - 1px);
        left: 50%;
        margin: 0 0 0 -0.5em;
    }
    
    .main-nav ul > li:not(.btn-tel) > a span:nth-child(2) {
        display: block;
        font-size: 0.8125em;
        position: absolute;
        top: 100%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        -webkit-transition: opacity 0.15s ease-in-out;
        transition: opacity 0.15s ease-in-out;
        opacity: 0;
        visibility: hidden;
    }

    .main-nav ul > li:nth-child(1) > a span:nth-child(2),
    .main-nav ul > li:nth-child(3) > a span:nth-child(2) {
        width: 5em;
    }

    .main-nav ul > li:nth-child(2) > a span:nth-child(2) {
        width: 6em;
    }

    .main-nav ul > li:nth-child(4) > a span:nth-child(2) {
        width: 12em;
    }

    .main-nav ul > li:nth-child(5) > a span:nth-child(2) {
        width: 9em;
    }

    .main-nav ul > li:nth-child(6) > a span:nth-child(2) {
        width: 8em;
    }

    .main-nav ul > li > a:hover span:nth-child(1) {
        color: #00bed6;
    }

    .main-nav ul > li > a:hover span:nth-child(2) {
        opacity: 1;
        visibility: visible;
    }
}

.menu-button {
    display: block;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0 0 0 auto;
    padding: 0;
    overflow: visible;
    outline: none;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 8%;
    z-index: 250;
}

@media only screen and (min-width: 1070px) {
    .menu-button {
        display: none;
    }
}

.menu-button-box {
    width: 22px;
    height: 16px;
    display: block;
    position: relative;
}

.menu-button-inner {
    display: block;
    top: 50%;
    margin-top: -1px;
}

.menu-button-inner,
.menu-button-inner::before,
.menu-button-inner::after {
    width: 22px;
    height: 2px;
    position: absolute;
    transition-property: transform, color;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
    background-color: #00bed6;
}

.menu-button-inner::before,
.menu-button-inner::after {
    content: '';
    display: block;
}

.menu-button-inner::before {
    top: -7px;
}

.menu-button-inner::after {
    bottom: -7px;
}

.menu-button .menu-button-inner {
    transition-duration: 0.075s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.menu-button .menu-button-inner::before {
    transition: top 0.075s 0.12s ease-in-out, opacity 0.075s ease-in-out;
}

.menu-button .menu-button-inner::after {
    transition: bottom 0.075s 0.12s ease-in-out, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.menu-button.is-active .menu-button-inner,
.menu-button.is-active .menu-button-inner::before,
.menu-button.is-active .menu-button-inner::after {
    background-color: #fff;
}

.menu-button.is-active .menu-button-inner {
    transform: rotate(45deg);
    transition-delay: 0.12s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.menu-button.is-active .menu-button-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease-in-out, opacity 0.075s 0.12s ease-in-out;
}

.menu-button.is-active .menu-button-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease-in-out, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.main-footer {
    background: url(../images/common/bg1.png) repeat center top;
    background-size: 0.321429em auto;
    padding: 0.714286em 0 0;
    margin: 0;
}

.main-footer > .inner {
    background-color: #fff;
    padding: 2em 2.666667% 1em;
}

.footer-logo {
    line-height: 1;
    text-align: center;
    margin: 0 0 1.5em;
}

.footer-logo img {
    width: 13.678571em;
}

.footer-address {
    text-align: center;
}

.footer-buttons {
    list-style: none;
    margin: 0 1em 1.5em;
    padding: 0;
}

.footer-buttons > li {
    width: 18.571429em;
    margin: 0 auto 1.428571em;
}

.footer-buttons > li:last-child {
    margin-bottom: 0;
}

.footer-buttons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    text-decoration: none;
    text-align: center;
    background-color: #bef0f5;
    height: 3.571429em;
    border-radius: 1.7857145em;
    line-height: 1;
}

.footer-buttons a span {
    display: inline-block;
    vertical-align: middle;
}

.footer-buttons a span i {
    vertical-align: baseline;
}

.footer-buttons .btn-tel span {
    font-family: 'Nunito', sans-serif;
    font-size: 1.642857em;
    font-weight: 600;
}

.btn-tel .fa-phone-volume {
    font-size: 0.826087em;
    margin-right: 0.5em;
}

.footer-buttons .btn-mail span {
    font-size: 1.214286em;
    font-weight: 700;
}

.btn-mail .fa-envelope {
    font-size: 1.029412em;
    margin-right: 1.142857em;
}

.copyright {
    text-align: center;
    font-size: 0.785714em;
    margin: 0;
}

.to-top {
    display: none;
}

@media only screen and (min-width: 768px) {
    .main-footer {
        background-size: 0.5625em auto;
        padding-top: 0.625em;
        position: relative;
        margin-top: 3.75em;
    }

    .main-footer > .inner {
        padding: 2.5em 2.083333% 1.25em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .footer-logo {
        line-height: 1;
        margin: 0 4.6875em 0 0;
        width: 16.5625em;
        text-align: left;
    }

    .footer-logo img {
        width: 100%;
    }

    .footer-address {
        text-align: left;
    }

    .footer-buttons {
        width: 40em;
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .footer-buttons > li {
        width: 18.75em;
        margin: 0 2.5em 0 0;
    }
    
    .footer-buttons > li:last-child {
        margin-right: 0;
    }
    
    .footer-buttons a {
        height: 3.75em;
        border-radius: 1.875em;
        -webkit-transition: opacity 0.2s ease-in-out;
        transition: opacity 0.2s ease-in-out;
        
    }

    .footer-buttons .btn-tel a {
        cursor: default;
    }
    
    .footer-buttons .btn-tel span {
        font-size: 1.625em;
    }
    
    .footer-buttons .btn-tel span::before {
        width: 0.769231em;
        height: 0.769231em;
    }
    
    .footer-buttons .btn-mail span {
        font-size: 1.125em;
    }
    
    .footer-buttons .btn-mail span::before {
        width: 1.111111em;
        height: 1.111111em;
    }

    .footer-buttons .btn-mail a:hover {
        opacity: 0.7;
    }

    .copyright {
        width: 100%;
        font-size: 0.875em;
    }

    .to-top {
        display: block;
        font-family: 'Nunito', sans-serif;
        font-weight: 600;
        font-size: 0.8125em;
        position: absolute;
        right: 2%;
        top: -4.5em;
        z-index: 10;
        line-height: 1;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .to-top a {
        text-decoration: none;
        display: block;
        position: relative;
    }

    .to-top a span {
        display: block;
        height: 1px;
        width: 2.615385em;
        background-color: #36c9dc;
        position: absolute;
        -webkit-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        top: 50%;
        left: -3.615385em;
    }

    .to-top a span::before {
        content: '';
        display: block;
        width: 0.461538em;
        height: 0.461538em;
        background-color: #36c9dc;
        border-radius: 50%;
        position: absolute;
        left: -0.461538em;
        top: 50%;
        margin-top: -0.230769em;
    }

    .to-top a:hover span {
        width: 5em;
        left: -6em;
    }
}

@media only screen and (min-width: 1280px) {
    .footer-buttons {
        margin-right: 0;
    }
}

@media only screen and (min-width: 1340px) {
    .main-footer > .inner {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .footer-address {
        margin: 0 auto 0 0;
    }

    .footer-buttons {
        width: auto;
    }
    
    .copyright {
        margin-top: 3em;
        text-align: right;
    }

    .to-top {
        top: -8.5em;
    }
}

.notice1 {
    font-style: normal;
    color: #ff69b4;
}

.button1 {
    display: block;
    margin: 0 auto;
    text-decoration: none;
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    color: #fff;
    background-color: #464646;
    text-align: center;
    line-height: 1;
    padding: 0.9375em 1.5em;
    border-radius: 1.4375em;
    border: 1px solid #464646;
    -webkit-transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    width: 18.571429em;
}

.button1.jp-txt {
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothic, 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 500;
}

.section {
    padding: 3.5em 8%;
}

.sub-title1 {
    text-align: center;
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    font-size: 1.857143em;
    margin: 0 0 1.25em;
}

@media only screen and (min-width: 768px) {
    .button1 {
        width: 20em;
    }

    .button1:hover {
        color: #464646;
        background-color: #fff;
        text-decoration: none;
    }

    .section {
        padding: 5em 0;
    }

    .sub-title1 {
        font-size: 2.125em;
    }
}

.circle {
    display: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    height: 0;
}

@-webkit-keyframes float {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
	}
	50% {
		-webkit-transform: translate3d(0, -12px, 0);
	}
	100% {
		-webkit-transform: translate3d(0);
	}
}

@keyframes float {
	0% {
		transform: translate3d(0, 0, 0);
	}
	50% {
		transform: translate3d(0, -12px, 0);
	}
	100% {
		transform: translate3d(0, 0, 0);
	}
}

@media only screen and (min-width: 768px) {
    .circle {
        display: block;
        -webkit-animation: float 4s ease-in-out infinite;
        animation: float 4s ease-in-out infinite;
    }
}

.fade-in {
    opacity: 0;
    -webkit-transition: opacity 1s ease-in-out, -webkit-transform 1s ease-in-out;
    transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}

.fade-in-up {
    -webkit-transform: translateY(4em);
    transform: translateY(4em);
}

.fade-in-up.visible {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
}

.fade-in-left {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}

.fade-in-right {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

.fade-in-left.visible,
.fade-in-right.visible {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
}

@-webkit-keyframes bounceInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 4em, 0);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -1em, 0);
    }

    75% {
        -webkit-transform: translate3d(0, 0.66em, 0);
    }

    90% {
        -webkit-transform: translate3d(0, -0.33em, 0);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 4em, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(0, -1em, 0);
    }

    75% {
        transform: translate3d(0, 0.66em, 0);
    }

    90% {
        transform: translate3d(0, -0.33em, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.bounce-in-up {
    opacity: 0;	
}

.bounce-in-up.visible {
    -webkit-animation: bounceInUp 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    animation: bounceInUp 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
    opacity: 1;
}

@media only screen and (min-width: 768px) {
    .bounce-in-up.visible {
        -webkit-animation-delay: 1.5s;
        animation-delay: 1.5s;
        -webkit-transition-delay: 1.5s;
        transition-delay: 1.5s;
    }
}

.page-main-title {
    background-color: #e5f9fb;
    position: relative;
    padding: 5.25em 0 1.5em;
    margin: 0 0 2.5em;
}

.page-main-title h1 {
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    font-size: 1.428571em;
    line-height: 1;
    margin: 0 auto;
    text-align: center;
}

.page-main-title.jp-txt h1 {
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothic, 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 500;
}

.subpage-circle1 {
    width: 3.928571em;
    padding-bottom: 3.928571em;
    background-image: url(../images/common/subpage-circle-01.png);
    top: 4.642857em;
    left: 0.357143em;
}

.subpage-circle3 {
    width: 4.642857em;
    padding-bottom: 4.214286em;
    background-image: url(../images/common/subpage-circle-03.png);
    top: 4.642857em;
    right: -0.75em;
    -webkit-animation-delay: 0.25s;
    animation-delay: 0.25s;
}

.page-main-title .circle:not(.subpage-circle2) {
    display: block;
}

@media only screen and (min-width: 768px) {
    .page-main-title {
        height: 0;
        padding: 0 0 19.791667%;
        margin-bottom: calc(12% - 5em);
    }

    .page-main-title::before {
        content: '';
        display: block;
        width: 78.333333%;
        height: 0;
        padding-bottom: 25.104167%;
        background-position: right top;
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        top: 0;
        right: 0;
    }

    .page-main-title h1 {
        font-size: 1.75em;
        text-align: left;
        position: absolute;
        bottom: 16.315719%;
        left: 0;
        z-index: 10;
        width: 100%;
    }

    .page-main-title h1 span {
        display: block;
        width: 94%;
        margin: 0 auto;
        max-width: 1200px;
    }

    .subpage-circle1 {
        width: 3.125%;
        padding-bottom: 3.125%;
        top: 47.368421%;
        left: 10.9375%;
    }

    .subpage-circle2 {
        width: 3.645833%;
        padding-bottom: 3.645833%;
        background-image: url(../images/common/subpage-circle-02.png);
        bottom: -16%;
        left: 4.6875%;
        animation-delay: .5s;
    }

    .subpage-circle3 {
        width: 5.729167%;
        padding-bottom: 5.208333%;
        top: auto;
        bottom: -40%;
        right: 4.6875%;
    }
}

@media only screen and (min-width: 1070px) {
    .page-main-title {
        padding-bottom: 19.791667%;
    }

    .page-main-title h1 {
        font-size: 2em;
    }
}

@media only screen and (min-width: 1920px) {
    .page-main-title {
        padding-bottom: 23.75em;
        margin-bottom: 6.25em;
    }

    .page-main-title::before {
        width: 94em;
        padding-bottom: 30.125em;
    }

    .page-main-title h1 {
        bottom: 29.315719%;
    }

    .page-main-title h1 span {
        width: 100%;
        max-width: none;
        padding: 0 9.473684em;
    }

    .subpage-circle1 {
        width: 3.75em;
        padding-bottom: 3.75em;
        top: 11.25em;
        left: 13.125em;
    }

    .subpage-circle2 {
        width: 4.375em;
        padding-bottom: 4.375em;
        bottom: -2.1875em;
        left: 5.625em;
    }

    .subpage-circle3 {
        width: 6.875em;
        padding-bottom: 6.25em;
        bottom: -7.875em;
        right: 5.625em;
    }
}

.news-list {
    list-style: none;
    margin: 0 0 2.857143em;
    padding: 0;
}

.news-list > li {
    margin: 2.857143em auto 0;
}

.news-list > li > div {
    padding-bottom: 2em;
    border-bottom: 0.428571em solid #bef0f5;
}

.news-list > li:first-child {
    margin-top: 0;
}

.news-img {
    margin: 0 0 1.785714em;
    padding: 0;
    text-align: center;
    line-height: 1;
    border: 1px solid #f0f0f0;
    border-radius: 0.214286em;
    overflow: hidden;
    background-color: #f0f0f0;
}

.news-img a {
    display: block;
    padding-top: 68.88888888888889%;
    width: 100%;
    position: relative;
    display: block;
    height: 100%;
}
.news-img a img {
    /* object-fit: cover; */
    /* height: 100px; */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.news-date {
    display: table;
    table-layout: fixed;
    width: 100%;
    padding: 0 1.428571em;
}

.news-date > span {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    font-size: 1.107143em;
}

.news-date > .new {
    font-size: 1em;
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    text-align: center;
    background-color: #bef0f5;
    border-radius: 0.25em;
    width: 6.428571em;
}

.news-txt {
    padding: 0 1.428571em;
}

@media only screen and (min-width: 768px) {
    .news-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 1600px;
        margin: 0 auto 2.857143em;
    }

    .news-list > li {
        width: 43.3352%;
        /* max-width: 320px; */
        margin: 2.857143em 3.333333% 0;
    }

    .news-list > li:nth-child(2) {
        margin-top: 0;
    }

    .news-img {
        border-radius: 0.375em;
    }

    .news-date {
        padding: 0 6.25%;
    }

    .news-date > span {
        font-size: 1em;
    }

    .news-date > .new {
        width: 4em;
    }

    .news-txt {
        padding: 0 6.25%;
    }

    .news-list > .fade-in-up:nth-child(3n-1) {
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s;
    }

    .news-list > .fade-in-up:nth-child(3n-3) {
        -webkit-transition-delay: 1s;
        transition-delay: 1s;
    }
}

@media only screen and (min-width: 960px) {
    .news-date > .new {
        width: 6.25em;
    }
}

@media only screen and (min-width: 1152px) {
    .news-list > li {
        width: 20%;
        margin: 0 2.5%;
    }
}

.check-list {
    list-style: none;
    margin: 0 auto 1.5em;
    padding: 0;
}

.check-list:last-child {
    margin-bottom: 0;
}

.check-list > li {
    font-size: 1.071429em;
    background: url(../images/common/icon-check.png) no-repeat 0 0.25em;
    background-size: 1.233333em auto;
    padding: 0 0 0 2em;
    margin: 0 0 0.75em;
}

.check-list > li:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
    .check-list {
        margin-bottom: 3em;
    }

    .check-list > li {
        font-size: 1em;
    }
}

.two-images {
    margin: 0 auto 3.75em;
    padding: 0;
    line-height: 1;
}

.two-images img {
    display: block;
    margin: 0;
}

.two-images:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
    .two-images {
        margin-bottom: 6.875em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        width: 94%;
        max-width: 1200px;
    }

    .two-images img {
        width: 50%;
    }
}

.use-advice {
    margin: 0 auto;
    padding: 0;
}

.use-advice dt {
    color: #ff69b4;
    font-size: 1.071429em;
    border: 1px dotted #ff69b4;
    padding: 0.5em;
    margin: 0 0 1em;
    text-align: center;
}

.use-advice dd {
    font-size: 0.928571em;
    margin: 0 auto;
    padding: 0;
}

@media only screen and (min-width: 768px) {
    .use-advice {
        width: 94%;
        max-width: 1000px;
    }

    .use-advice dt {
        font-size: 1.375em;
        padding: 0.273em 0.5em;
    }

    .use-advice dd {
        font-size: 1em;
        max-width: 56em;
        text-align: center;
    }
}
