@charset "UTF-8";
/* Scss Document */
/* CSS Document */
@font-face {
    font-family: "NotoSansCJKjp-Regular";
    src: url(../webfont/NotoSansCJKjp-Regular.woff);
}
@font-face {
    font-family: "NotoSerifJP-Regular";
    src: url(../webfont/NotoSerifJP-Regular.woff);
}
@font-face {
    font-family: "NotoSansCJKjp-Regular_ver.woff";
    src: url(../webfont/NotoSansCJKjp-Regular_ver.woff);
}
@font-face {
    font-family: "CenturyGothicStd-Bold";
    src: url(../webfont/CenturyGothicStd-Bold.woff);
}
@font-face {
    font-family: "NotoSansCJKjp-Light";
    src: url(../webfont/NotoSansCJKjp-Light.woff);
}
.selifFont {
    font-family: "游明朝体", "Yu Mincho", "YuMincho", "NotoSerifCJKjp-Regular", serif;
}
* {
    box-sizing: border-box;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #2d2f2f;
}
html {
    font-size: 15px;
}
html i {
    font-style: normal !important;
}
button:focus, a:focus {
    outline: none;
}
input[type="submit"], button {
    -webkit-appearance: none;
}
.textIndent {
    text-indent: -1rem;
    padding-left: 1rem;
}
_::-webkit-full-page-media, _:future, :root .textIndent {
    text-indent: -0.8em;
}
/* Safari用のハックは、Chromeに適用されないようにする */
@supports (-webkit-touch-callout: none) {
    body {
        /* Safari用のハック */
        height: -webkit-fill-available;
    }
}
/* Safari用のハックは、Chromeに適用されないようにする */
@supports (-webkit-touch-callout: none) {
    body {
        /* Safari用のハック */
        height: -webkit-fill-available;
    }
}
article {
    overflow: hidden;
}
.oh {
    overflow: hidden;
}
main {
    overflow: hidden;
}
.w_1800 {
    width: 95%;
    max-width: 1800px;
    margin: 0 auto;
    display: block;
}
.w_1790 {
    width: 95%;
    margin: 0 auto;
    display: block;
    max-width: 1790px;
}
.w_1725 {
    width: 95%;
    margin: 0 auto;
    display: block;
    max-width: 1725px;
}
.w_1680 {
    width: 95%;
    margin: 0 auto;
    display: block;
    max-width: 1680px;
}
.w_1600 {
    width: 95%;
    margin: 0 auto;
    display: block;
    max-width: 1600px;
}
.w_1530 {
    width: 95%;
    margin: 0 auto;
    max-width: 1530px;
}
.w_1440 {
    width: 95%;
    margin: 0 auto;
    max-width: 1440px;
}
.w_1340 {
    width: 95%;
    margin: 0 auto;
    max-width: 1340px;
}
.w_1280 {
    width: 95%;
    display: block;
    margin: 0 auto;
    max-width: 1280px;
}
.w_1200 {
    width: 95%;
    display: block;
    margin: 0 auto;
    max-width: 1200px;
}
.w_1100 {
    width: 95%;
    display: block;
    margin: 0 auto;
    max-width: 1100px;
}
.w_1000 {
    width: 95%;
    display: block;
    margin: 0 auto;
    max-width: 1000px;
}
.w_960 {
    width: 95%;
    max-width: 960px;
    margin: 0 auto;
}
.w_940 {
    width: 95%;
    max-width: 940px;
    margin: 0 auto;
}
.w_840 {
    width: 95%;
    max-width: 840px;
    margin: 0 auto;
}
.w_780 {
    width: 95%;
    max-width: 780px;
    margin: 0 auto;
}
.w_640 {
    width: 95%;
    max-width: 640px;
    margin: 0 auto;
}
.spBr {
    display: none;
}
.max_img100 img {
	max-width: 100%;
	height: auto;
	display: inline-block;
}
.center {
	text-align: center;
}

.sp_fixed{
	display: none;
}
.event_none {
	pointer-events: none;
}
@media only screen and (max-width: 768px) {
	.event_none {
		pointer-events: auto;
	}
	.sp_fixed{
		display: block;
		position: fixed;
		bottom: 10px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 98999;
		width: 95%;
	} 
	.sp_fixed .spNavInnerBtn a{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		margin: 0 auto;
		background-color: #f29b05;
		color: #FFF;
		font-size: 16px;
		font-weight: bold;
	} 
	.sp_fixed .spNavInnerBtn span{
		color: #FFF;
	} 
}



@media only screen and (max-width: 1280px) {
    html {
        font-size: 14.5px;
    }
}
@media only screen and (max-width: 1024px) {
    html {
        font-size: 14px;
    }
}
@media only screen and (max-width: 768px) {
    html {
        font-size: 13.5px;
    }
}
@media only screen and (max-width: 640px) {
    html {
        font-size: 13px;
    }
    .pcBr {
        display: none;
    }
    .spBr {
        display: block;
    }
}
.swiper-container {
    width: 100%;
    height: 100vh;
    max-height: 760px;
}
.swiper-container .swiper-wrapper {
    width: 100%;
    height: 100%;
}
.swiper-container .swiper-wrapper .swiper-slide {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
}
.fadeTxt {
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translateY(-50%);
    z-index: 5;
    writing-mode: vertical-rl;
    height: 500px;
}
.fadeTxt p {
    opacity: 0;
    color: #fff;
    letter-spacing: 0.4rem;
    font-weight: bold;
    font-size: 55px;
    /*IE9以下で反映されるよう記述*/
    font-size: 3.66667rem;
    display: table;
    position: relative;
    margin: 0 10px;
    animation: fadeOn 2s ease-in-out forwards;
}
@media only screen and (max-width: 1280px) {
    .fadeTxt p {
        font-size: 49.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 3.41379rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fadeTxt p {
        font-size: 44px;
        /*IE9以下で反映されるよう記述*/
        font-size: 3.14286rem;
    }
}
@media only screen and (max-width: 768px) {
    .fadeTxt p {
        font-size: 38.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.85185rem;
    }
}
@media only screen and (max-width: 640px) {
    .fadeTxt p {
        font-size: 33px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.53846rem;
    }
}
.fadeTxt p:nth-child(1) {
    animation-delay: .1s;
}
.fadeTxt p:nth-child(2) {
    animation-delay: .3s;
}
.fadeTxt p:nth-child(3) {
    animation-delay: .5s;
}
.fadeTxt p:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 3px;
    height: 0%;
    background-color: #fff;
    animation: fadeOnLine 1.5s ease-in-out forwards;
}
@keyframes fadeOn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fadeOnLine {
    0% {
        height: 0%;
    }
    100% {
        height: 100%;
    }
}
.scrollItem {
    position: absolute;
    bottom: 15px;
    right: 20px;
    writing-mode: vertical-rl;
    font-family: "CenturyGothicStd-Bold";
    font-size: 12px;
    /*IE9以下で反映されるよう記述*/
    font-size: 0.8rem;
    padding-bottom: 90px;
}
@media only screen and (max-width: 1280px) {
    .scrollItem {
        font-size: 10.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.74483rem;
    }
}
@media only screen and (max-width: 1024px) {
    .scrollItem {
        font-size: 9.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.68571rem;
    }
}
@media only screen and (max-width: 768px) {
    .scrollItem {
        font-size: 8.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.62222rem;
    }
}
@media only screen and (max-width: 640px) {
    .scrollItem {
        font-size: 7.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.55385rem;
    }
}
.scrollItem:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background-color: #218fc0;
    height: 70px;
}
#fade01 {
    background-image: url(../images/fade01.webp);
    background-position: 60%;
}
#fade02 {
    background-image: url(../images/fade02.webp);
}
#fade03 {
    background-image: url(../images/fade03.webp);
}
header .inner {
    width: 97%;
}
header .inner .telItem {
    display: flex;
    align-items: center;
}
header .inner .telItem i {
    color: #218fc0;
    font-family: "CenturyGothicStd-Bold";
    font-size: 33px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.2rem;
    letter-spacing: 0.1rem;
}
@media only screen and (max-width: 1280px) {
    header .inner .telItem i {
        font-size: 29.7px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.04828rem;
    }
}
@media only screen and (max-width: 1024px) {
    header .inner .telItem i {
        font-size: 26.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.88571rem;
    }
}
@media only screen and (max-width: 768px) {
    header .inner .telItem i {
        font-size: 23.1px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.71111rem;
    }
}
@media only screen and (max-width: 640px) {
    header .inner .telItem i {
        font-size: 19.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.52308rem;
    }
}
header nav {
    width: 100%;
}
header nav ul {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}
header nav ul li {
    text-align: right;
    position: relative;
    padding-left: 35px;
    margin-left: 35px;
    display: flex;
    align-items: center;
}
header nav ul li:nth-child(1) {
    padding-left: 0px;
    margin-left: 0px;
}
header nav ul li:nth-child(1):after {
    display: none;
}
header nav ul li:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    width: 1px;
    height: 15px;
    background-color: #218fc0;
}
header nav ul li a {
    display: block;
    font-weight: bold;
    letter-spacing: 0.05rem;
}
.fSize35 {
    font-size: 35px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.33333rem;
}
@media only screen and (max-width: 1280px) {
    .fSize35 {
        font-size: 31.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.17241rem;
    }
	header nav ul li a {
		font-size: 12px;
	}
}
@media only screen and (max-width: 1024px) {
    .fSize35 {
        font-size: 28px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize35 {
        font-size: 24.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.81481rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize35 {
        font-size: 21px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.61538rem;
    }
}
.baseColor {
    color: #218fc0;
}
.index02 {
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateY(60%);
}
.btnCenter .btn {
    margin: 0 auto;
}
.btnRight .btn {
    margin: 0 0 auto auto;
}
.btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 300px;
    color: #218fc0;
    border: 1px solid #218fc0;
    padding: 20px 55px 20px 35px;
    letter-spacing: 0.1rem;
    transition: 0.2s;
}
.btn i:nth-child(1) {
    font-weight: bold;
    color: #218fc0;
}
.btn i:nth-child(2) {
    position: relative;
}
.btn i:nth-child(2) span {
    display: block;
    width: 35px;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-60%);
    transition: 0.2s;
}
.btn i:nth-child(2) span:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #218fc0;
}
.btn i:nth-child(2) span:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10px;
    height: 1px;
    background-color: #218fc0;
    transform: rotate(34deg);
    transform-origin: 10px;
}
.btn:hover {
    background-color: #218fc0;
}
.btn:hover i:nth-child(1) {
    color: #fff;
}
.btn:hover i:nth-child(2) span {
    left: 20px;
}
.btn:hover i:nth-child(2) span:before {
    background-color: #fff;
}
.btn:hover i:nth-child(2) span:after {
    background-color: #fff;
}
.cp_arrows .cp_arrow .arrow_icon {
    position: relative;
    top: 0px;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.cp_arrows .cp_arrow .arrow_icon_circle {
    -webkit-transition: stroke-dashoffset 0.3s ease;
    transition: stroke-dashoffset 0.3s ease;
    stroke-dasharray: 95;
    stroke-dashoffset: 95;
}
.cp_arrows .cp_arrow:hover .arrow_icon {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
}
.cp_arrows .cp_arrow:hover .arrow_icon_circle {
    stroke-dashoffset: 0;
}
.index03 {
    width: 100%;
    max-width: 1760px;
    margin: 0 0 0 auto;
}
.head02 {
    font-weight: bold;
    font-size: 35px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.33333rem;
    letter-spacing: 0.1rem;
}
@media only screen and (max-width: 1280px) {
    .head02 {
        font-size: 31.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.17241rem;
    }
}
@media only screen and (max-width: 1024px) {
    .head02 {
        font-size: 28px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .head02 {
        font-size: 24.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.81481rem;
    }
}
@media only screen and (max-width: 640px) {
    .head02 {
        font-size: 21px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.61538rem;
    }
}
.head02 span {
    display: block;
    font-size: 18px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.2rem;
    color: #218fc0;
    font-family: "CenturyGothicStd-Bold";
    letter-spacing: 0.05rem;
}
@media only screen and (max-width: 1280px) {
    .head02 span {
        font-size: 16.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.11724rem;
    }
}
@media only screen and (max-width: 1024px) {
    .head02 span {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.02857rem;
    }
}
@media only screen and (max-width: 768px) {
    .head02 span {
        font-size: 12.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.93333rem;
    }
}
@media only screen and (max-width: 640px) {
    .head02 span {
        font-size: 10.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.83077rem;
    }
}
.head02B {
    font-weight: bold;
    font-size: 28px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.86667rem;
    letter-spacing: 0.1rem;
}
@media only screen and (max-width: 1280px) {
    .head02B {
        font-size: 25.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.73793rem;
    }
}
@media only screen and (max-width: 1024px) {
    .head02B {
        font-size: 22.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.6rem;
    }
}
@media only screen and (max-width: 768px) {
    .head02B {
        font-size: 19.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.45185rem;
    }
}
@media only screen and (max-width: 640px) {
    .head02B {
        font-size: 16.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.29231rem;
    }
}
.head02B span {
    display: block;
    font-size: 24px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.6rem;
    color: #218fc0;
    font-family: "CenturyGothicStd-Bold";
    letter-spacing: 0.05rem;
}
@media only screen and (max-width: 1280px) {
    .head02B span {
        font-size: 21.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.48966rem;
    }
}
@media only screen and (max-width: 1024px) {
    .head02B span {
        font-size: 19.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.37143rem;
    }
}
@media only screen and (max-width: 768px) {
    .head02B span {
        font-size: 16.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24444rem;
    }
}
@media only screen and (max-width: 640px) {
    .head02B span {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.10769rem;
    }
}
.m0ad {
    background-color: #fff;
    border-radius: 20px;
}
.m0ad > div {
    text-align: center;
    position: relative;
}
.m0ad > div figcaption {
    font-size: 22px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.46667rem;
    font-weight: bold;
    color: #218fc0;
    letter-spacing: 0.1rem;
    margin: 10px 0;
}
@media only screen and (max-width: 1280px) {
    .m0ad > div figcaption {
        font-size: 19.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.36552rem;
    }
}
@media only screen and (max-width: 1024px) {
    .m0ad > div figcaption {
        font-size: 17.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.25714rem;
    }
}
@media only screen and (max-width: 768px) {
    .m0ad > div figcaption {
        font-size: 15.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14074rem;
    }
}
@media only screen and (max-width: 640px) {
    .m0ad > div figcaption {
        font-size: 13.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.01538rem;
    }
}
.m0ad > div img {
    margin: 0 auto;
}
.m0ad > div:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    height: 200px;
    width: 2px;
    background-image: url(../images/lineDot.webp);
    transform: translateY(-50%);
}
.m0ad > div:last-child:after {
    display: none;
}
.skf > div {
    text-align: center;
    position: relative;
}
.skf > div figure {
    position: relative;
}
.skf > div figure span {
    position: absolute;
    top: 0;
    right: 10px;
    transform: translateY(-50%);
    font-size: 50px;
    /*IE9以下で反映されるよう記述*/
    font-size: 3.33333rem;
    color: #5d5d5f;
}
@media only screen and (max-width: 1280px) {
    .skf > div figure span {
        font-size: 45px;
        /*IE9以下で反映されるよう記述*/
        font-size: 3.10345rem;
    }
}
@media only screen and (max-width: 1024px) {
    .skf > div figure span {
        font-size: 40px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.85714rem;
    }
}
@media only screen and (max-width: 768px) {
    .skf > div figure span {
        font-size: 35px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.59259rem;
    }
}
@media only screen and (max-width: 640px) {
    .skf > div figure span {
        font-size: 30px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.30769rem;
    }
}
.skf > div figure figcaption {
    font-size: 22px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.46667rem;
    font-weight: bold;
    color: #218fc0;
    letter-spacing: 0.1rem;
    margin: 20px 0 10px 0;
}
@media only screen and (max-width: 1280px) {
    .skf > div figure figcaption {
        font-size: 19.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.36552rem;
    }
}
@media only screen and (max-width: 1024px) {
    .skf > div figure figcaption {
        font-size: 17.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.25714rem;
    }
}
@media only screen and (max-width: 768px) {
    .skf > div figure figcaption {
        font-size: 15.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14074rem;
    }
}
@media only screen and (max-width: 640px) {
    .skf > div figure figcaption {
        font-size: 13.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.01538rem;
    }
}
.skf > div figure img {
    margin: 0 auto;
}
.re9gd {
    position: relative;
}
.re9gd:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    background-color: #ecf7fb;
    height: calc(100% - 350px);
    z-index: -1;
}
.re9gd:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    background-color: #d9eef7;
    height: calc(100% - 350px);
    z-index: -1;
}
.bg-f6f8f8 {
    background-color: #f6f8f8;
}
.head02b {
    font-weight: bold;
    font-size: 35px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.33333rem;
    letter-spacing: 0.1rem;
}
@media only screen and (max-width: 1280px) {
    .head02b {
        font-size: 31.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.17241rem;
    }
}
@media only screen and (max-width: 1024px) {
    .head02b {
        font-size: 28px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .head02b {
        font-size: 24.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.81481rem;
    }
}
@media only screen and (max-width: 640px) {
    .head02b {
        font-size: 21px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.61538rem;
    }
}
.head02b span {
    display: inline-block;
    font-size: 18px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.2rem;
    color: #218fc0;
    font-family: "CenturyGothicStd-Bold";
    letter-spacing: 0.05rem;
    margin-left: 25px;
}
@media only screen and (max-width: 1280px) {
    .head02b span {
        font-size: 16.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.11724rem;
    }
}
@media only screen and (max-width: 1024px) {
    .head02b span {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.02857rem;
    }
}
@media only screen and (max-width: 768px) {
    .head02b span {
        font-size: 12.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.93333rem;
    }
}
@media only screen and (max-width: 640px) {
    .head02b span {
        font-size: 10.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.83077rem;
    }
}
.newsBox li {
    position: relative;
}
.newsBox li a {
    padding: 35px 10px;
    display: flex;
}
.newsBox li a span {
    letter-spacing: 0.1rem;
    display: block;
    font-size: 17px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.13333rem;
}
@media only screen and (max-width: 1280px) {
    .newsBox li a span {
        font-size: 15.3px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.05517rem;
    }
}
@media only screen and (max-width: 1024px) {
    .newsBox li a span {
        font-size: 13.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.97143rem;
    }
}
@media only screen and (max-width: 768px) {
    .newsBox li a span {
        font-size: 11.9px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.88148rem;
    }
}
@media only screen and (max-width: 640px) {
    .newsBox li a span {
        font-size: 10.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.78462rem;
    }
}
.newsBox li a span:nth-child(1) {
    letter-spacing: 0.05rem;
    position: relative;
    width: 160px;
}
.newsBox li a span:nth-child(1):after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 27px;
    width: 2px;
    height: 10px;
    background-color: #218fc0;
    transform: translateY(-45%);
}
.newsBox li a span:nth-child(2) {
    width: calc(100% - 160px);
    position: relative;
    padding-right: 75px;
}
.newsBox li a span:nth-child(2):before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 35px;
    height: 1px;
    background-color: #218fc0;
}
.newsBox li a span:nth-child(2):after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 14px;
    transform: rotate(30deg) translateY(-50%);
    transform-origin: right;
    width: 6px;
    height: 1px;
    background-color: #218fc0;
}
.newsBox li:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: url(../images/dotItem02.webp);
    background-repeat: repeat-x;
    width: 100%;
    height: 2px;
}
.telItem02 {
    color: #218fc0;
    font-family: "CenturyGothicStd-Bold";
}
.telItem02 span {
    color: #218fc0;
    font-size: 33px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.2rem;
    font-family: "CenturyGothicStd-Bold";
    margin-left: 10px;
}
@media only screen and (max-width: 1280px) {
    .telItem02 span {
        font-size: 29.7px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.04828rem;
    }
}
@media only screen and (max-width: 1024px) {
    .telItem02 span {
        font-size: 26.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.88571rem;
    }
}
@media only screen and (max-width: 768px) {
    .telItem02 span {
        font-size: 23.1px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.71111rem;
    }
}
@media only screen and (max-width: 640px) {
    .telItem02 span {
        font-size: 19.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.52308rem;
    }
}
.mksm:nth-child(1) {
    width: 40%;
}
.mksm:nth-child(2) {
    width: 55%;
}
.mksm:nth-child(2) iframe {
    width: 100%;
    height: 100%;
}
.bg-f29b05 {
    background-color: #f29b05;
}
.bg-f29b05.btn {
    border: 1px solid #f29b05;
}
.bg-f29b05.btn:hover {
    border: 1px solid #556fb5;
    background-color: #556fb5;
}
.bg-f29b05 i:nth-child(1) {
    color: #fff;
}
.bg-f29b05 i:nth-child(1) img {
    display: inline-block;
    transform: translateY(-2px);
}
.bg-f29b05 i:nth-child(2) span:before {
    background-color: #fff;
}
.bg-f29b05 i:nth-child(2) span:after {
    background-color: #fff;
}
.timeTable {
    background-color: #218fc0;
}
.timeTable table {
    width: 100%;
}
.timeTable table tr {
    border-bottom: 1px solid #fff;
}
.timeTable table tr th, .timeTable table tr td {
    padding: 10px 10px;
}
.timeTable table tr th {
    text-align: center;
    letter-spacing: 0.1rem;
}
.timeTable table tr th:nth-child(1) {
    width: 120px;
    text-align: left;
}
.timeTable table tr td {
    text-align: center;
}
.timeTable table tr td:nth-child(1) {
    width: 120px;
    text-align: left;
}
.timeTable table p {
    color: #fff;
}
.pageTop {
    width: 100%;
    text-align: center;
    background-color: #f6f3f3;
}
.pageTop a {
    display: inline-block;
    padding: 20px 0;
    position: relative;
    font-weight: bold;
    margin-top: 10px;
    font-size: 13px;
    /*IE9以下で反映されるよう記述*/
    font-size: 0.86667rem;
}
@media only screen and (max-width: 1280px) {
    .pageTop a {
        font-size: 11.7px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.8069rem;
    }
}
@media only screen and (max-width: 1024px) {
    .pageTop a {
        font-size: 10.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.74286rem;
    }
}
@media only screen and (max-width: 768px) {
    .pageTop a {
        font-size: 9.1px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.67407rem;
    }
}
@media only screen and (max-width: 640px) {
    .pageTop a {
        font-size: 7.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.6rem;
    }
}
.pageTop a i {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-80%);
}
footer .inner {
    background-color: #218fc0;
}
footer .inner p, footer .inner h2, footer .inner h3, footer .inner span, footer .inner i, footer .inner small, footer .inner a {
    color: #fff;
}
footer nav > ul > li {
    margin-bottom: 15px;
}
footer nav > ul > li > a {
    font-weight: bold;
}
footer nav > ul > li > ul {
    margin-top: 10px;
}
footer nav > ul > li > ul li {
    margin-bottom: 10px;
}
footer nav a {
    letter-spacing: 0.1rem;
    font-size: 14px;
    /*IE9以下で反映されるよう記述*/
    font-size: 0.93333rem;
}
@media only screen and (max-width: 1280px) {
    footer nav a {
        font-size: 12.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.86897rem;
    }
}
@media only screen and (max-width: 1024px) {
    footer nav a {
        font-size: 11.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.8rem;
    }
}
@media only screen and (max-width: 768px) {
    footer nav a {
        font-size: 9.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.72593rem;
    }
}
@media only screen and (max-width: 640px) {
    footer nav a {
        font-size: 8.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.64615rem;
    }
}
.fSize18 {
    font-size: 18px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.2rem;
}
@media only screen and (max-width: 1280px) {
    .fSize18 {
        font-size: 16.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.11724rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fSize18 {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.02857rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize18 {
        font-size: 12.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.93333rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize18 {
        font-size: 10.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.83077rem;
    }
}
.fSize16 {
    font-size: 16px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.06667rem;
}
@media only screen and (max-width: 1280px) {
    .fSize16 {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.9931rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fSize16 {
        font-size: 12.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.91429rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize16 {
        font-size: 11.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.82963rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize16 {
        font-size: 14px;
    }
}
/*news*/
.innerMain {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
    width: 100%;
    height: 450px;
    position: relative;
}
.innerMain p {
    color: #fff;
    width: 90%;
    text-align: center;
    font-size: 40px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2.66667rem;
    font-weight: bold;
    letter-spacing: 0.1rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
@media only screen and (max-width: 1280px) {
    .innerMain p {
        font-size: 36px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.48276rem;
    }
}
@media only screen and (max-width: 1024px) {
    .innerMain p {
        font-size: 32px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.28571rem;
    }
}
@media only screen and (max-width: 768px) {
    .innerMain p {
        font-size: 28px;
        /*IE9以下で反映されるよう記述*/
        font-size: 2.07407rem;
    }
}
@media only screen and (max-width: 640px) {
    .innerMain p {
        font-size: 24px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.84615rem;
    }
}
.innerMain p span {
    color: #fff;
    display: block;
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.33333rem;
    font-family: "CenturyGothicStd-Bold";
}
@media only screen and (max-width: 1280px) {
    .innerMain p span {
        font-size: 18px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24138rem;
    }
}
@media only screen and (max-width: 1024px) {
    .innerMain p span {
        font-size: 16px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14286rem;
    }
}
@media only screen and (max-width: 768px) {
    .innerMain p span {
        font-size: 14px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.03704rem;
    }
}
@media only screen and (max-width: 640px) {
    .innerMain p span {
        font-size: 12px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.92308rem;
    }
}
.news {
    background-image: url(../images/news.webp);
}
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
}
.pagination li {
    width: 36px;
    height: 36px;
    background-color: #ddd7d7;
    font-size: 16px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.06667rem;
    font-weight: bold;
}
@media only screen and (max-width: 1280px) {
    .pagination li {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.9931rem;
    }
}
@media only screen and (max-width: 1024px) {
    .pagination li {
        font-size: 12.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.91429rem;
    }
}
@media only screen and (max-width: 768px) {
    .pagination li {
        font-size: 11.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.82963rem;
    }
}
@media only screen and (max-width: 640px) {
    .pagination li {
        font-size: 9.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.73846rem;
    }
}
.pagination li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #5d5d5f;
}
.pagination li.active {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #218fc0;
    color: #fff;
}
/*child*/
.child {
    background-image: url(../images/child.webp);
}
.fSize28 {
    font-size: 28px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.86667rem;
}
@media only screen and (max-width: 1280px) {
    .fSize28 {
        font-size: 25.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.73793rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fSize28 {
        font-size: 22.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.6rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize28 {
        font-size: 19.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.45185rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize28 {
        font-size: 16.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.29231rem;
    }
}
.i39 > div {
    border: 10px solid #ecf7fb;
    background-color: #fff;
    padding: 40px 25px;
    border-radius: 10px;
}
.i39 > div .num {
    margin: 0 auto;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #99c3d5;
    display: flex;
    align-items: center;
    justify-content: center;
}
.i39 > div .num span {
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.2rem;
}
@media only screen and (max-width: 1280px) {
    .i39 > div .num span {
        font-size: 16.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.11724rem;
    }
}
@media only screen and (max-width: 1024px) {
    .i39 > div .num span {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.02857rem;
    }
}
@media only screen and (max-width: 768px) {
    .i39 > div .num span {
        font-size: 12.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.93333rem;
    }
}
@media only screen and (max-width: 640px) {
    .i39 > div .num span {
        font-size: 10.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.83077rem;
    }
}
.bg-f8fdff {
    background-color: #f8fdff;
}
.bg-ecf7fb {
    background-color: #ecf7fb;
}
.fSize22 {
    font-size: 22px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.46667rem;
}
@media only screen and (max-width: 1280px) {
    .fSize22 {
        font-size: 19.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.36552rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fSize22 {
        font-size: 17.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.25714rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize22 {
        font-size: 15.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14074rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize22 {
        font-size: 13.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.01538rem;
    }
}
.fSize15 {
    font-size: 15px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
}
@media only screen and (max-width: 1280px) {
    .fSize15 {
        font-size: 13.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.93103rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fSize15 {
        font-size: 12px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.85714rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize15 {
        font-size: 10.5px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.77778rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize15 {
        font-size: 9px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.69231rem;
    }
}
.dn4 > div {
    position: relative;
    padding: 15px 0;
}
.dn4 > div figure figcaption {
    display: block;
}
.dn4 > div:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -14%;
    background-image: url(../images/lineDot.webp);
    background-repeat: repeat-y;
    width: 2px;
    height: 100%;
}
.dn4 > div:nth-child(1):after {
    display: none;
}
.kkc {
    position: relative;
}
.kkc .grid {
    position: relative;
    z-index: 5;
}
.kkc:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 200%;
    height: 100%;
    background-color: #fff;
    z-index: 1;
    border-radius: 25px 25px 0 0;
}
.kkc02 {
    position: relative;
}
.kkc02 .grid {
    position: relative;
    z-index: 5;
}
.kkc02:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    background-color: #fff;
    z-index: 1;
    border-radius: 25px 0 0 25px;
}
.hackm0ad > div {
    background-color: #f6fbfe;
    padding: 3vw 0;
    border-radius: 15px;
}
.hackm0ad > div:after {
    display: none;
}
.m0ad .btn {
    max-width: 220px;
    padding: 10px 30px 10px 20px;
    background-color: rgba(0, 0, 0, 0);
}
.m0ad .btn:hover {
    background-color: #218fc0;
}
.m0ad .btn i {
    font-size: 12px;
    /*IE9以下で反映されるよう記述*/
    font-size: 0.8rem;
}
@media only screen and (max-width: 1280px) {
    .m0ad .btn i {
        font-size: 10.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.74483rem;
    }
}
@media only screen and (max-width: 1024px) {
    .m0ad .btn i {
        font-size: 9.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.68571rem;
    }
}
@media only screen and (max-width: 768px) {
    .m0ad .btn i {
        font-size: 8.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.62222rem;
    }
}
@media only screen and (max-width: 640px) {
    .m0ad .btn i {
        font-size: 7.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.55385rem;
    }
}
/*guidance*/
.guidance {
    background-image: url(../images/guidance.webp);
}
.akpm {
    width: 100%;
    max-width: 680px;
}
.fSize24 {
    font-size: 24px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.6rem;
}
@media only screen and (max-width: 1280px) {
    .fSize24 {
        font-size: 21.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.48966rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fSize24 {
        font-size: 19.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.37143rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize24 {
        font-size: 16.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24444rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize24 {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.10769rem;
    }
}
.nkdn {
    position: relative;
}
.nkdn:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 55px);
    background-color: #f6fdff;
    z-index: -1;
}
.fi9r div:nth-child(1) {
    width: 25%;
    position: relative;
}
.fi9r div:nth-child(1):after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 170%;
    height: 120%;
    background-color: #ecf7fb;
}
.fi9r div:nth-child(2) {
    width: 75%;
    position: relative;
}
.fi9r div:nth-child(2) figure {
    width: 100%;
    height: auto;
}
.fSize14 {
    font-size: 14px;
    /*IE9以下で反映されるよう記述*/
    font-size: 0.93333rem;
}
@media only screen and (max-width: 1280px) {
    .fSize14 {
        font-size: 12.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.86897rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fSize14 {
        font-size: 11.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.8rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize14 {
        font-size: 9.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.72593rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize14 {
        font-size: 8.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.64615rem;
    }
}
.mnf > div {
    padding: 25px 85px;
    position: relative;
}
.mnf > div:nth-child(2) {
    padding: 25px 85px 35px 85px;
}
.mnf > div:nth-child(2):before {
    content: "";
    display: block;
    position: absolute;
    left: 35px;
    top: 0;
    width: 3px;
    height: calc(100% - 10px);
    background-image: url(../images/guidanceArrLine.webp);
}
.mnf > div:nth-child(2):after {
    content: "";
    position: absolute;
    background-image: url(../images/guidanceArr.webp);
    width: 17px;
    height: 13px;
    background-repeat: no-repeat;
    bottom: 10px;
    left: 29px;
}
.mnf > div p {
    letter-spacing: 0.05rem;
}
.mnf .n83 {
    background-color: #d9eef7;
}
.mnf .n83 p {
    color: #218fc0;
    font-size: 23px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.53333rem;
    letter-spacing: 0.1rem;
}
@media only screen and (max-width: 1280px) {
    .mnf .n83 p {
        font-size: 20.7px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.42759rem;
    }
}
@media only screen and (max-width: 1024px) {
    .mnf .n83 p {
        font-size: 18.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.31429rem;
    }
}
@media only screen and (max-width: 768px) {
    .mnf .n83 p {
        font-size: 16.1px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.19259rem;
    }
}
@media only screen and (max-width: 640px) {
    .mnf .n83 p {
        font-size: 13.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.06154rem;
    }
}
.mnf .n83 p i {
    font-size: 27px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.8rem;
    color: #218fc0;
    font-weight: bold;
}
@media only screen and (max-width: 1280px) {
    .mnf .n83 p i {
        font-size: 24.3px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.67586rem;
    }
}
@media only screen and (max-width: 1024px) {
    .mnf .n83 p i {
        font-size: 21.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.54286rem;
    }
}
@media only screen and (max-width: 768px) {
    .mnf .n83 p i {
        font-size: 18.9px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.4rem;
    }
}
@media only screen and (max-width: 640px) {
    .mnf .n83 p i {
        font-size: 16.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24615rem;
    }
}
.mnf:last-child > div:nth-child(2):before {
    display: none;
}
.mnf:last-child > div:nth-child(2):after {
    display: none;
}
.ksmg figure figcaption {
    margin-top: 15px;
    color: #218fc0;
    font-size: 17px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.13333rem;
    font-weight: bold;
    letter-spacing: 0.05rem;
}
@media only screen and (max-width: 1280px) {
    .ksmg figure figcaption {
        font-size: 15.3px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.05517rem;
    }
}
@media only screen and (max-width: 1024px) {
    .ksmg figure figcaption {
        font-size: 13.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.97143rem;
    }
}
@media only screen and (max-width: 768px) {
    .ksmg figure figcaption {
        font-size: 11.9px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.88148rem;
    }
}
@media only screen and (max-width: 640px) {
    .ksmg figure figcaption {
        font-size: 10.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.78462rem;
    }
}
.bg-f6fdff {
    background-color: #f6fdff;
}
/*faq*/
.faq {
    background-image: url(../images/faq.webp);
}
.wnf0 li > div:nth-child(1) {
    background-color: #f9fdff;
    padding: 15px 25px;
    position: relative;
    cursor: pointer;
}
.wnf0 li > div:nth-child(1):after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 30px;
    background-image: url(../images/faqArr.webp);
    width: 20px;
    height: 12px;
    background-repeat: no-repeat;
    background-size: cover;
    transition: 0.2s;
    transform: rotate(180deg);
}
.wnf0 li > div:nth-child(1) .fen {
    width: 37px;
    height: 37px;
    background-color: #d9eef7;
    display: flex;
    align-items: center;
    justify-content: center;
}
.wnf0 li > div:nth-child(1) .fen span {
    font-family: "CenturyGothicStd-Bold";
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.33333rem;
    color: #228fc0;
}
@media only screen and (max-width: 1280px) {
    .wnf0 li > div:nth-child(1) .fen span {
        font-size: 18px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24138rem;
    }
}
@media only screen and (max-width: 1024px) {
    .wnf0 li > div:nth-child(1) .fen span {
        font-size: 16px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14286rem;
    }
}
@media only screen and (max-width: 768px) {
    .wnf0 li > div:nth-child(1) .fen span {
        font-size: 14px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.03704rem;
    }
}
@media only screen and (max-width: 640px) {
    .wnf0 li > div:nth-child(1) .fen span {
        font-size: 12px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.92308rem;
    }
}
.wnf0 li > div:nth-child(1) p:nth-child(2) {
    font-size: 22px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.46667rem;
    letter-spacing: 0.1rem;
    color: #218fc0;
    font-weight: bold;
}
@media only screen and (max-width: 1280px) {
    .wnf0 li > div:nth-child(1) p:nth-child(2) {
        font-size: 19.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.36552rem;
    }
}
@media only screen and (max-width: 1024px) {
    .wnf0 li > div:nth-child(1) p:nth-child(2) {
        font-size: 17.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.25714rem;
    }
}
@media only screen and (max-width: 768px) {
    .wnf0 li > div:nth-child(1) p:nth-child(2) {
        font-size: 15.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14074rem;
    }
}
@media only screen and (max-width: 640px) {
    .wnf0 li > div:nth-child(1) p:nth-child(2) {
        font-size: 13.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.01538rem;
    }
}
.wnf0 li > div:nth-child(2) .fen {
    width: 37px;
    height: 37px;
    background-color: #228fc0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.wnf0 li > div:nth-child(2) .fen span {
    font-family: "CenturyGothicStd-Bold";
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.33333rem;
    color: #fff;
}
@media only screen and (max-width: 1280px) {
    .wnf0 li > div:nth-child(2) .fen span {
        font-size: 18px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24138rem;
    }
}
@media only screen and (max-width: 1024px) {
    .wnf0 li > div:nth-child(2) .fen span {
        font-size: 16px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14286rem;
    }
}
@media only screen and (max-width: 768px) {
    .wnf0 li > div:nth-child(2) .fen span {
        font-size: 14px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.03704rem;
    }
}
@media only screen and (max-width: 640px) {
    .wnf0 li > div:nth-child(2) .fen span {
        font-size: 12px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.92308rem;
    }
}
.wnf0 li > div p:nth-child(1) {
    width: 70px;
}
.wnf0 li > div p:nth-child(2) {
    width: calc(100% - 70px);
}
.wnf0 li .inner {
    overflow: hidden;
    height: 0;
    display: block;
    transition: 0.2s;
}
.wnf0 li .inner > div {
    padding: 35px 25px;
}
.wnf0 li[flg="open"] > div:nth-child(1):after {
    transform: rotate(0deg);
}
/*doctor*/
.faks {
    letter-spacing: 0.14em;
}
.mof {
    border-top: 2px solid #218fc0;
}
.mof li {
    display: flex;
}
.mof li p {
    letter-spacing: 0.05rem;
}
.mof li p:nth-child(1) {
    width: 65px;
}
.mof li p:nth-child(2) {
    width: calc(100% - 65px);
}
.mkdk .w_840 {
    position: relative;
    z-index: 2;
}
.mkdk .w_1000 {
    position: relative;
    z-index: 2;
}
.mkdk:after {
    content: "";
    display: block;
    position: absolute;
    top: 70px;
    left: 0;
    width: 680px;
    height: 1080px;
    background-color: #f3fcff;
    z-index: 1;
}
.hackMof p {
    width: 100% !important;
}
.ldf {
    border: 5px solid #ecf7fb;
    background-color: #fff;
}
/*risk-effects*/
.risk-effects {
    background-image: url(../images/risk-effects.webp);
}
.fSize30 {
    font-size: 30px;
    /*IE9以下で反映されるよう記述*/
    font-size: 2rem;
}
@media only screen and (max-width: 1280px) {
    .fSize30 {
        font-size: 27px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.86207rem;
    }
}
@media only screen and (max-width: 1024px) {
    .fSize30 {
        font-size: 24px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.71429rem;
    }
}
@media only screen and (max-width: 768px) {
    .fSize30 {
        font-size: 21px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.55556rem;
    }
}
@media only screen and (max-width: 640px) {
    .fSize30 {
        font-size: 18px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.38462rem;
    }
}
.mmfm {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    border: 1px solid #218fc0;
    color: #218fc0;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.06667rem;
    font-family: "CenturyGothicStd-Bold";
}
@media only screen and (max-width: 1280px) {
    .mmfm {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.9931rem;
    }
}
@media only screen and (max-width: 1024px) {
    .mmfm {
        font-size: 12.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.91429rem;
    }
}
@media only screen and (max-width: 768px) {
    .mmfm {
        font-size: 11.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.82963rem;
    }
}
@media only screen and (max-width: 640px) {
    .mmfm {
        font-size: 9.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.73846rem;
    }
}
.eao {
    border-bottom: 1px solid #ddd7d7;
}
/*treatment*/
.treatment {
    background-image: url(../images/treatment.webp);
}
.mgfn {
    background-color: #fff;
    border: 6px solid #ecf7fb;
}
.mgfn .icon img {
    margin: 0 auto;
}
.mgfn .btn {
    max-width: 250px;
    padding: 10px 45px 10px 20px;
}
.bg-f5fbfd {
    background-color: #f5fbfd;
}
/*invisible*/
.invisibleB {
    background-image: url(../images/invisible.webp);
}
.gge {
    position: relative;
}
.gge:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 45px);
    background-color: #ecf7fb;
    z-index: -1;
}
.fmkg {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
}
.fmkg > div {
    width: 100%;
    max-width: 400px;
}
.ngfn {
    border-top: 1px solid #d2d2d2;
}
.smg .textBox {
    max-width: 95%;
    margin: 0 auto;
    min-height: 100px;
}
.smg .textBox p {
    font-size: 14px;
    /*IE9以下で反映されるよう記述*/
    font-size: 0.93333rem;
}
@media only screen and (max-width: 1280px) {
    .smg .textBox p {
        font-size: 12.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.86897rem;
    }
}
@media only screen and (max-width: 1024px) {
    .smg .textBox p {
        font-size: 11.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.8rem;
    }
}
@media only screen and (max-width: 768px) {
    .smg .textBox p {
        font-size: 9.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.72593rem;
    }
}
@media only screen and (max-width: 640px) {
    .smg .textBox p {
        font-size: 8.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.64615rem;
    }
}
/*case*/
.case {
    background-image: url(../images/case.webp);
}
.nmng {
    display: flex;
    flex-wrap: wrap;
    padding: 30px;
    background-color: #f6fdff;
    position: relative;
}
.nmng:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    background-image: url(../images/arr03.webp);
    width: 10px;
    height: 13px;
    background-repeat: no-repeat;
    z-index: 10;
}
.nmng:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 100%;
    background-color: #218fc0;
}
.nmng > div:nth-child(1) {
    width: 40%;
}
.nmng > div:nth-child(2) {
    width: 60%;
    padding: 0 20px;
}
.nmng > div:nth-child(2) p {
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.33333rem;
    color: #218fc0;
    font-weight: bold;
    letter-spacing: 0.05rem;
}
@media only screen and (max-width: 1280px) {
    .nmng > div:nth-child(2) p {
        font-size: 18px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24138rem;
    }
}
@media only screen and (max-width: 1024px) {
    .nmng > div:nth-child(2) p {
        font-size: 16px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14286rem;
    }
}
@media only screen and (max-width: 768px) {
    .nmng > div:nth-child(2) p {
        font-size: 14px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.03704rem;
    }
}
@media only screen and (max-width: 640px) {
    .nmng > div:nth-child(2) p {
        font-size: 12px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.92308rem;
    }
}
.sim9 a {
    display: block;
    background-color: #b5b5b5;
    padding: 10px 15px;
    position: relative;
}
.sim9 a span {
    color: #fff;
    font-size: 16px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.06667rem;
    letter-spacing: 0.1rem;
    font-weight: bold;
}
@media only screen and (max-width: 1280px) {
    .sim9 a span {
        font-size: 14.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.9931rem;
    }
}
@media only screen and (max-width: 1024px) {
    .sim9 a span {
        font-size: 12.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.91429rem;
    }
}
@media only screen and (max-width: 768px) {
    .sim9 a span {
        font-size: 11.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.82963rem;
    }
}
@media only screen and (max-width: 640px) {
    .sim9 a span {
        font-size: 9.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.73846rem;
    }
}
.sim9 a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background-image: url(../images/arr04.webp);
    background-size: cover;
    width: 6px;
    height: 10px;
}
.sim9 a.active {
    background-color: #218fc0;
}
.ngn {
    width: 100%;
    padding: 10px 0;
    position: relative;
    text-align: center;
    margin-bottom: 35px;
}
.ngn:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 10px 0 10px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
}
.ngn p {
    color: #fff;
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.33333rem;
    font-weight: bold;
    letter-spacing: 0.1rem;
}
@media only screen and (max-width: 1280px) {
    .ngn p {
        font-size: 18px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24138rem;
    }
}
@media only screen and (max-width: 1024px) {
    .ngn p {
        font-size: 16px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14286rem;
    }
}
@media only screen and (max-width: 768px) {
    .ngn p {
        font-size: 14px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.03704rem;
    }
}
@media only screen and (max-width: 640px) {
    .ngn p {
        font-size: 12px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.92308rem;
    }
}
.ngn.hn01 {
    background-color: #7d7d7d;
}
.ngn.hn01:after {
    border-color: #7d7d7d transparent transparent transparent;
}
.ngn.hn02 {
    background-color: #218fc0;
}
.ngn.hn02:after {
    border-color: #218fc0 transparent transparent transparent;
}
.ein > div {
    width: calc(50% - 100px);
}
.ein > div.arrC {
    width: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mf9gw .flex p:nth-child(1) {
    width: 120px;
    position: relative;
}
.mf9gw .flex p:nth-child(1) span {
    position: absolute;
    top: 2%;
    right: 0;
}
.mf9gw .flex p:nth-child(2) {
    width: calc(100% - 150px);
}
/*calendar*/
.calendar {
    background-image: url(../images/calendar.webp);
}
/*access*/
.access {
    background-image: url(../images/access.webp);
}
.mapBox {
    width: 100%;
    height: 480px;
}
.mapBox iframe {
    width: 100%;
    height: 100%;
}
.lineBox01 {
    position: relative;
}
.lineBox01:after {
    content: "";
    display: block;
    position: absolute;
    top: 28%;
    right: 0;
    width: 115px;
    height: 2px;
    border-bottom: 2px dashed #218fc0;
    transform: translateX(100%);
}
.lineBox02 {
    position: relative;
}
.lineBox02:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 300px;
    height: 2px;
    border-bottom: 2px dashed #218fc0;
    transform: translateX(-100%);
}
/*adult*/
.adult {
    background-image: url(../images/adult.webp);
}
.bg-ecf7fb {
    background-color: #ecf7fb;
}
.mdp3:nth-child(1) {
    width: 33%;
}
.mdp3:nth-child(2) {
    width: 64%;
}
.mg09 > .flex {
    padding-bottom: 3vw;
    margin-bottom: 3vw;
    border-bottom: 1px solid #d2d2d2;
}
.mg09 > .flex:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
/*fee*/
.fee {
    background-image: url(../images/fee.webp);
}
.oif:nth-child(1) {
    width: 180px;
    text-align: center;
    background-color: #228fc0;
    letter-spacing: 0.05rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.oif:nth-child(1) p {
    color: #fff;
    font-size: 20px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.33333rem;
    font-weight: bold;
}
@media only screen and (max-width: 1280px) {
    .oif:nth-child(1) p {
        font-size: 18px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.24138rem;
    }
}
@media only screen and (max-width: 1024px) {
    .oif:nth-child(1) p {
        font-size: 16px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14286rem;
    }
}
@media only screen and (max-width: 768px) {
    .oif:nth-child(1) p {
        font-size: 14px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.03704rem;
    }
}
@media only screen and (max-width: 640px) {
    .oif:nth-child(1) p {
        font-size: 12px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.92308rem;
    }
}
.oif:nth-child(2) {
    width: calc(100% - 190px);
}
.oif:nth-child(2) .nno {
    border: 1px solid #e5e5e5;
}
.oif:nth-child(2) .nno:nth-child(1) {
    width: calc(100% - 150px);
    padding: 25px 25px;
    letter-spacing: 0.05rem;
}
.oif:nth-child(2) .nno:nth-child(1) p {
    font-weight: bold;
}
.oif:nth-child(2) .nno:nth-child(2) {
    border-left: none;
    width: 150px;
    background-color: #f3fafc;
    text-align: center;
    letter-spacing: 0.05rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.oif:nth-child(2) .nno:nth-child(2) p {
    color: #218fc0;
    font-size: 17px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.13333rem;
    font-weight: bold;
}
@media only screen and (max-width: 1280px) {
    .oif:nth-child(2) .nno:nth-child(2) p {
        font-size: 15.3px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.05517rem;
    }
}
@media only screen and (max-width: 1024px) {
    .oif:nth-child(2) .nno:nth-child(2) p {
        font-size: 13.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.97143rem;
    }
}
@media only screen and (max-width: 768px) {
    .oif:nth-child(2) .nno:nth-child(2) p {
        font-size: 11.9px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.88148rem;
    }
}
@media only screen and (max-width: 640px) {
    .oif:nth-child(2) .nno:nth-child(2) p {
        font-size: 10.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 0.78462rem;
    }
}
.oif:nth-child(2) > .flex .nno {
    border-top: none;
}
.oif:nth-child(2) > .flex:nth-child(1) .nno {
    border-top: 1px solid #e5e5e5;
}
.bg-1e1e1e {
    background-color: #1e1e1e;
}
.mmgo:nth-child(1) {
    width: 60%;
}
.mmgo:nth-child(2) {
    width: 40%;
}
.btnB {
    width: 90%;
    max-width: 800px;
    text-align: center;
    display: block;
    background-color: #218fc0;
    margin: 0 auto;
    padding: 25px 70px;
    position: relative;
}
.btnB span {
    color: #fff;
    letter-spacing: 0.1rem;
    color: #fff;
    font-weight: bold;
}
.btnB:after {
    content: "";
    position: absolute;
    display: block;
    background-image: url(../images/btnArr.webp);
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
    height: 5px;
    width: 38px;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
/*cover*/
.cover {
    background-image: url(../images/cover.webp);
}
.fbu {
    background-color: #d9eef7;
}
.dmk9 > div {
    width: 260px;
    text-align: center;
    margin: 1vw 2vw;
}
.dmk9 > div figure {
    position: relative;
}
.dmk9 > div figure > p {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 23px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.53333rem;
    font-family: "CenturyGothicStd-Bold";
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #69bcdf;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
@media only screen and (max-width: 1280px) {
    .dmk9 > div figure > p {
        font-size: 20.7px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.42759rem;
    }
}
@media only screen and (max-width: 1024px) {
    .dmk9 > div figure > p {
        font-size: 18.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.31429rem;
    }
}
@media only screen and (max-width: 768px) {
    .dmk9 > div figure > p {
        font-size: 16.1px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.19259rem;
    }
}
@media only screen and (max-width: 640px) {
    .dmk9 > div figure > p {
        font-size: 13.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.06154rem;
    }
}
.dmk9 > div figure figcaption {
    font-weight: bold;
    font-size: 22px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.46667rem;
    margin-top: 10px;
}
@media only screen and (max-width: 1280px) {
    .dmk9 > div figure figcaption {
        font-size: 19.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.36552rem;
    }
}
@media only screen and (max-width: 1024px) {
    .dmk9 > div figure figcaption {
        font-size: 17.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.25714rem;
    }
}
@media only screen and (max-width: 768px) {
    .dmk9 > div figure figcaption {
        font-size: 15.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.14074rem;
    }
}
@media only screen and (max-width: 640px) {
    .dmk9 > div figure figcaption {
        font-size: 13.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.01538rem;
    }
}
.dmk9 > div .circle {
    width: 260px;
    height: 260px;
    background-color: #f9fdff;
    border: 2px solid #69bcdf;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dmk9 > div img {
    margin: 0 auto;
}
.jnfu:nth-child(1) {
    position: relative;
    width: 170px;
}
.jnfu:nth-child(1) .circle {
    width: 100px;
    height: 100px;
    border: 6px solid #ecf7fb;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 10;
}
.jnfu:nth-child(1) .circle p {
    font-size: 26px;
    /*IE9以下で反映されるよう記述*/
    font-size: 1.73333rem;
    font-family: "CenturyGothicStd-Bold";
    color: #218fc0;
}
@media only screen and (max-width: 1280px) {
    .jnfu:nth-child(1) .circle p {
        font-size: 23.4px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.61379rem;
    }
}
@media only screen and (max-width: 1024px) {
    .jnfu:nth-child(1) .circle p {
        font-size: 20.8px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.48571rem;
    }
}
@media only screen and (max-width: 768px) {
    .jnfu:nth-child(1) .circle p {
        font-size: 18.2px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.34815rem;
    }
}
@media only screen and (max-width: 640px) {
    .jnfu:nth-child(1) .circle p {
        font-size: 15.6px;
        /*IE9以下で反映されるよう記述*/
        font-size: 1.2rem;
    }
}
.jnfu:nth-child(1):after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 45px;
    width: 6px;
    height: 100%;
    background-color: #ecf7fb;
    z-index: 1;
}
.jnfu:nth-child(2) {
    width: calc(100% - 170px);
}
.ag {
    position: relative;
}
.ag:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 10vw);
    background-color: #f7fcfe;
    z-index: 1;
}
.ag .flex {
    position: relative;
    z-index: 10;
}
.ag .flex:last-child .jnfu:nth-child(1):after {
    display: none;
}
.spNavBtn {
    display: none;
    position: fixed;
    top: 15px;
    right: 13px;
    width: 40px;
    height: 40px;
    background-color: #228fc0;
    z-index: 51;
}
.spNavBtn.move_btn span {
    top: 50% !important;
}
.spNavBtn.move_btn span:nth-child(1) {
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}
.spNavBtn.move_btn span:nth-child(2) {
    opacity: 0;
}
.spNavBtn.move_btn span:nth-child(3) {
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
}
.spNavBtn span {
    background-color: #fff;
    width: 70%;
    height: 2px;
    position: absolute;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    transition: 0.3s;
}
.spNavBtn span:nth-child(1) {
    top: 30%;
}
.spNavBtn span:nth-child(2) {
    top: 50%;
}
.spNavBtn span:nth-child(3) {
    top: 70%;
}
.spNavCover {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #f6f8f8;
    z-index: 50;
    overflow-y: scroll;
    display: none;
}
.spNavCover .innerSpNavCover {
    text-align: center;
    padding-bottom: 70px;
}
.spNavCover .innerSpNavCover nav ul li {
    border-top: 1px solid #ddd7d7;
    border-left: 1px solid #ddd7d7;
}
.spNavCover .innerSpNavCover nav ul li a {
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.spNavCover .innerSpNavCover nav ul li:nth-child(even) {
    border-right: 1px solid #ddd7d7;
}
.spNavCover .innerSpNavCover nav ul li:nth-last-child(2) {
    border-bottom: 1px solid #ddd7d7;
}
.spNavCover .innerSpNavCover nav ul li:last-child {
    border-bottom: 1px solid #ddd7d7;
}
.spNavCover .spNavInnerBtn a {
    display: block;
    width: 95%;
    padding: 15px 0;
    margin: 0 auto;
    background-color: #f29b05;
}
.spNavCover .spNavInnerBtn a span {
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.1rem;
}
.scItem {
    opacity: 0;
    transform: translateY(20px);
    transition: .5s;
}
.scItem.tMove {
    opacity: 1;
    transform: translateY(0);
}
/**********/
.calendar_iframe {
	text-align: center;
}
.calendar_iframe iframe {
	display: inline-block;
}
.calendar_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.calendar_grid > div {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (max-width: 1024px) {
	.calendar_grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

@media only screen and (max-width: 1500px) {
    header nav ul li {
        padding-left: 15px;
        margin-left: 15px;
    }
    .innerMain {
        height: 380px;
    }
    .dmk9 > div {
        margin: 1vw 3vw;
    }
}
@media only screen and (max-width: 1280px) {
    .smf9g > div {
        width: 38%;
    }
    .smf9g .lineBox01 {
        width: 28%;
    }
    .smf9g .lineBox02 {
        width: 28%;
    }
    .lineBox01:after {
        width: 34%;
        height: 1px;
        border-bottom: 1px dashed #218fc0;
    }
    .lineBox02:after {
        width: 66%;
        height: 1px;
        border-bottom: 1px dashed #218fc0;
    }
    .oif:nth-child(2) .nno:nth-child(2) p {
        font-size: 1rem;
    }
    .jnfu:nth-child(1) {
        width: 140px;
    }
    .jnfu:nth-child(2) {
        width: calc(100% - 140px);
    }
    .mk9g > figure {
        width: 30%;
    }
    .mk9g > figure img {
        width: 100%;
        height: auto;
    }
    .mk9g > figure:nth-child(2) {
        width: 35.8%;
    }
    .dmk9 > div {
        margin: 1vw 1vw;
    }
    .dmk9 > div .circle {
        width: 210px;
        height: 210px;
        margin: 0 auto;
    }
    .i39 > div {
        border: 5px solid #ecf7fb;
        padding: 20px 15px;
    }
    h1 a img {
        width: 200px;
        height: auto;
    }
    .fadeTxt p {
        font-size: 2.5rem;
    }
    .index02 {
        display: none;
    }
    .innerMain {
        height: 320px;
    }
}
@media only screen and (max-width: 1024px) {
    .jsn:nth-child(1) {
        display: none;
    }
    .jsn:nth-child(2) {
        width: 100%;
    }
    .jsn:nth-child(2) img {
        width: 90%;
        max-width: 230px;
    }
    .mapBox {
        height: 330px;
    }
    .mmgo:nth-child(1) {
        width: 100%;
    }
    .mmgo:nth-child(2) {
        display: none;
    }
    .oif:nth-child(2) .nno:nth-child(1) {
        padding: 10px 15px;
    }
    .ein > div {
        width: calc(50% - 75px);
    }
    .ein > div.arrC {
        width: 75px;
    }
    .ein > div.arrC img {
        width: 100%;
        height: auto;
    }
    .nmng {
        padding: 15px;
    }
    .dn4 > div:after {
        display: none;
    }
    .fSize18 {
        font-size: 1rem;
    }
    .ksmg figure figcaption {
        font-size: 1rem;
    }
    .mnf > div {
        padding: 15px 45px;
    }
    .mnf > div:nth-child(2):before {
        left: 20px;
    }
    .mnf > div:nth-child(2):after {
        left: 14px;
    }
    .mnf > div:nth-child(2) {
        padding: 15px 35px 20px 45px;
    }
    .fSize14 {
        font-size: 1rem;
    }
    .fi9r div:nth-child(1) {
        width: 15%;
    }
    .fi9r div:nth-child(2) {
        width: 85%;
    }
    .spNavBtn {
        display: block;
    }
    .skf > div figure figcaption {
        font-size: 1.2rem;
    }
    .m0ad > div .textBox {
        width: 90%;
        margin: 0 auto;
    }
    .m0ad > div:nth-child(2):after {
        display: none;
    }
    header .inner {
        display: none;
    }
    .fadeTxt {
        height: 100%;
        top: 20px;
        transform: translateX(0);
    }
    .fadeTxt p {
        margin: 0px;
    }
    .swiper-container {
        height: 400px;
    }
    .btn {
        padding: 10px 30px 10px 20px;
    }
    .index03 img {
        width: 100%;
        height: 240px;
        object-fit: cover;
        object-position: 0% 0%;
    }
    .mksm:nth-child(1) {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
    }
    .mksm:nth-child(2) {
        width: 100%;
        margin-top: 7vw;
        height: 400px;
    }
    .smg .textBox p {
        font-size: 1rem;
    }
}
@media only screen and (max-width: 768px) {
    .btnB {
        padding: 25px 70px;
    }
    .oif:nth-child(1) {
        width: 120px;
    }
    .oif:nth-child(2) {
        width: calc(100% - 130px);
    }
    .wnf0 li > div:nth-child(1):after {
        top: 39%;
        right: 15px;
        width: 15px;
        height: 9px;
    }
    .wnf0 li .inner > div {
        padding: 10px 15px 10px 15px;
    }
    .wnf0 li > div:nth-child(1) .fen {
        width: 30px;
        height: 30px;
    }
    .wnf0 li > div p:nth-child(2) {
        width: calc(100% - 50px);
    }
    .wnf0 li > div:nth-child(1) {
        padding: 10px 45px 10px 15px;
    }
    .nmng > div:nth-child(2) p {
        font-size: 1.18rem;
    }
    .jnfu:nth-child(1) {
        width: 115px;
    }
    .jnfu:nth-child(2) {
        width: calc(100% - 115px);
    }
    .jnfu:nth-child(1):after {
        left: 37px;
    }
    .jnfu:nth-child(1) .circle {
        width: 80px;
        height: 80px;
        border: 4px solid #ecf7fb;
    }
    .jnfu:nth-child(1) .circle p {
        font-size: 2rem;
    }
    .innerMain {
        height: 210px;
    }
    .fadeTxt p {
        font-size: 2rem;
    }
    #fade01 {
        background-position: 23%;
    }
    #fade02 {
        background-position: 50%;
    }
    #fade03 {
        background-position: 37%;
    }
    .re9gd:before {
        height: calc(100% - 205px);
    }
    .re9gd:after {
        height: calc(100% - 205px);
    }
    .newsBox li a span {
        font-size: 1rem;
    }
    .newsBox li a {
        display: flex;
        flex-wrap: wrap;
    }
    .newsBox li a span:nth-child(1):after {
        display: none;
    }
    .newsBox li a span:nth-child(1) {
        width: 160px;
        margin-bottom: 5px;
    }
    .newsBox li a span:nth-child(2) {
        width: 100%;
    }
    footer .inner {
        text-align: center;
        height: auto;
    }
    footer .inner img {
        margin: 0 auto;
        width: 180px;
    }
    footer .inner .w-7\/12 {
        display: none;
    }
}
@media only screen and (max-width: 640px) {
    .oif:nth-child(1) {
        width: 100%;
        padding: 15px 0;
    }
    .oif:nth-child(2) {
        width: 100%;
    }
    .oif:nth-child(2) .nno:nth-child(1) {
        width: calc(100% - 105px);
    }
    .oif:nth-child(2) .nno:nth-child(2) {
        width: 105px;
    }
    .mf9gw .flex p:nth-child(1) span {
        display: none;
    }
    .mf9gw .flex p:nth-child(1) {
        width: 100%;
        font-weight: bold;
    }
    .mf9gw .flex p:nth-child(2) {
        width: 100%;
        margin-top: 5px;
    }
    .ein > div {
        width: calc(50% - 50px);
    }
    .ein > div.arrC {
        width: 50px;
    }
    .mk9g > figure {
        width: 49%;
    }
    .mk9g > figure:nth-child(2) {
        display: none;
    }
    .dmk9 > div {
        width: 210px;
    }
    .dmk9 > div .circle {
        width: 180px;
        height: 180px;
    }
    .dmk9 > div .circle img {
        width: 70%;
        height: auto;
    }
    .fmkg > div {
        max-width: unset;
    }
    .fmkg > div img {
        margin: 0 auto;
    }
    .mg09 > .flex {
        padding-bottom: 6vw;
        margin-bottom: 6vw;
    }
    .i39 > div .num span {
        font-size: 1.3rem;
    }
    .mgfn {
        border: 4px solid #ecf7fb;
    }
    .mof {
        border-top: 1px solid #218fc0;
    }
    .ksmg figure figcaption {
        margin-top: 5px;
        margin-bottom: 10px;
    }
    .fi9r div:nth-child(1) {
        width: 5%;
    }
    .fi9r div:nth-child(2) {
        width: 95%;
    }
    .fi9r div:nth-child(1):after {
        top: -15%;
        left: 0;
        transform: translateY(0%);
        width: 200px;
        height: 200px;
    }
    .m0ad > div {
        padding: 20px 12px;
    }
    .m0ad > div img {
        margin-bottom: -5px;
    }
    .m0ad > div:after {
        display: none;
    }
    .timeTable table tr th, .timeTable table tr td {
        padding: 10px 5px;
    }
    .m0ad .btn i {
        font-size: 11px;
    }
    .mdp3:nth-child(1) {
        width: 100%;
    }
    .mdp3:nth-child(2) {
        width: 100%;
    }
}
@media only screen and (max-width: 420px) {
    .fadeTxt p {
        text-shadow: 0px 0px 30px #b1b1b1;
    }
    .smf9g > div {
        order: 1;
        width: 100%;
    }
    .smf9g .lineBox01 {
        order: 2;
        width: 48%;
    }
    .smf9g .lineBox02 {
        order: 3;
        width: 48%;
    }
    .lineBox01:after {
        width: 1px;
        height: 80vw;
        top: 0;
        left: 50%;
        border-left: 1px dashed #218fc0;
        transform: translateX(100%) translateY(-100%);
    }
    .lineBox02:after {
        width: 1px;
        height: 60vw;
        top: 0;
        left: 7%;
        border-left: 1px dashed #218fc0;
        transform: translateX(100%) translateY(-100%);
    }
    .btnB:after {
        display: none;
    }
    .btnB {
        padding: 25px 20px;
        box-shadow: 0px 0px 10px #999999;
    }
    .ngn p {
        font-size: 20px;
    }
    .ein > div {
        width: 100%;
    }
    .ein > div:nth-child(3) {
        margin-top: 35px;
    }
    .ein > div.arrC {
        display: none;
    }
    .jnfu:nth-child(1):after {
        display: none;
    }
    .jnfu:nth-child(1) {
        width: 100%;
    }
    .jnfu:nth-child(1) .circle {
        margin: 0 auto;
    }
    .jnfu:nth-child(2) {
        width: 100%;
    }
    .jnfu:nth-child(2) h3 {
        text-align: center;
    }
    .dmk9 > div figure > p {
        font-size: 1.2rem;
        width: 35px;
        height: 35px;
    }
    .dmk9 > div {
        margin: 1vw 0vw;
        width: 140px;
    }
    .dmk9 > div .circle {
        width: 120px;
        height: 120px;
    }
    .innerMain {
        height: 180px;
    }
    .swiper-container {
        height: 335px;
    }
    .mksm:nth-child(2) {
        margin-top: 10vw;
        height: 300px;
    }
}


/**************************************************

	医師

**************************************************/
.doctor_flex {
	display: flex;
	justify-content: space-between;
	gap: 40px;
}
.doctor_left {
	max-width: max-content;
	width: 45%;
}
.doctor_name {
	text-align: center;
	margin-top: 15px;
	background-color: #FFF;
	padding: 15px;
	width: 90%;
	position: relative;
	z-index: 500;
	margin: -30px auto 0;
}
.doctor_name_ja {
	font-size: 25px;
	color: #218fc0;
	font-weight: bold;
}
.doctor_name_eng {
	font-size: 15px;
	font-family: "CenturyGothicStd-Bold";
	color:rgba(187,187,187,1.00);
}
.doctor_right {
	width: 55%;
	max-width: 500px;
}
.doctor_bt {
	padding-top: 20px;
	border-top: 2px solid #218fc0;
}
.doctor_table {
    margin-top: 30px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.doctor_table li {
	display: flex;
	justify-content: space-between;
}
.doctor_cell1 {
	width: 100px;
	flex-shrink: 0;
}
.doctor_cell2 {
	flex-grow: 2;
}


@media only screen and (max-width: 740px) {
	.doctor_master_img img{
		object-fit: cover;
		height: 400px;
	}
	.doctor_flex {
		flex-wrap: wrap;
		gap: 20px;
	}
	.doctor_left {
		width: 100%;
	}
	.doctor_name {
		margin: -30px auto 0;
	}
	.doctor_name_ja {
		font-size: 22px;
	}
	.doctor_name_eng {
		font-size: 12px;
	}
	.doctor_right {
		width: 100%;
		max-width: 100%;
	}
	.doctor_table {
		margin-top: 20px;
	}
	.doctor_cell1 {
		width: 90px;
		flex-shrink: 0;
	}
}

