body {
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.7;
    font-family: 'Inter', sans-serif;
    color: #333;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    vertical-align: bottom;
    border: 0;
    margin: 0;
    padding: 0;
}

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

a, .link {
    color: #06c;
    text-decoration: none;
    letter-spacing: inherit;
}

p, ul{
	margin: 0;
	padding: 0;
}

h1, h2 {font-size:26px;text-align:center;margin: 0;padding: 0;line-height: 1.5;}
h3{font-size:17px;text-align:center;margin: 0;padding: 0;line-height: 1.5;}
h4{font-size:16px;text-align:center;margin: 0;padding: 0;line-height: 1.5;}
h6{font-size:15px;font-weight: normal;text-align:center;margin: 0;padding: 0;}

.inter{font-family: 'Inter', sans-serif;}

header {
    overflow: hidden;
    background-color:#fff;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    border-bottom: #f2f2f2 1px solid;
}

header a{
	color: #333;
}

#g_menu{
    max-width: 1300px;
    width: 100%;
    height: 55px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

#logo img {width: 190px; height: auto;}
#language {text-align: right; width: 78px; font: 11px 'Inter', sans-serif;}

#g_menu a {
  position: relative;
  text-decoration: none;
}

#menu_list{
	width: 54%;
    display: flex;
    justify-content: space-between;
}
#menu_list a::after {
    position: absolute;
    bottom: -16px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #afcfff;
    transform: scale(0, 1);
    transition: all 200ms 0s ease;
}
#menu_list a:hover::after {
    transform: scale(1, 1);
}

#phone_btn{
    display: none;
}

#side_menu{
    background: #fff;
    width: 85%;
    position: fixed;
    top: 55px;
    right: -85%;
    height: calc(100% - 50px);
    margin: 0;
    padding: 34px;
    opacity: 0;
    visibility: hidden;
    box-sizing: border-box;
    z-index: 100;
    -webkit-transition: .3s;
    transition: .3s;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
#side_menu::-webkit-scrollbar {
    display:none;
}
#side_menu ul{
    margin: 0;
    padding: 0;

}
#side_menu li{
    margin: 0 0 21px;
    list-style: none;
}

article {
    margin-top: 55px;
}

#page-top {
    position: fixed;
    width: 35px;
    padding: 2px 0;
    bottom: -50px;
    right: 10px;
    font-size: 19px;
    text-align: center;
    z-index: 9997;
    background: #001956;
    border-radius: 5px;
    opacity: 0;
    transition: all  0.3s ease;
}

#page-top:hover {
    background: #31467b;
    cursor : pointer;
}

#page-top.fade-in {
    bottom: 60px;
    opacity: 0.6;
}
footer{background-color: #f8f8f8;}
#footerin{
    width: 960px;
    margin: 0 auto;
    padding: 60px 0 44px;
    overflow: hidden;
}
#footer_menu{display: flex; justify-content:space-between;flex-wrap: wrap;}
#footer_menu ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
#footer_menu li{padding-bottom: 10px;}
.list_title {
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 14px;
    position: relative;
}
.inner li, #copyright{
    font-size: 12px;
}
#copy {
    display: flex;
    justify-content:center;
    list-style: none;
    padding: 0;
    margin: 0 auto;
}
#copy a{margin-right: 20px;}
.glay {color: #999;}
.black_link a:link, .black_link a:visited {color:#333;text-decoration:none;}
.black_link a:hover, .black_link a:active{color:#333;text-decoration:underline;text-decoration-color: #aaa;text-underline-offset: 4px;}
#copyright{background-color: #eee; padding-top: 25px; padding-bottom: 30px;}
#copyright p{padding: 0; width: max-content; margin: 0 auto;}
#copy li {margin-top: 5px;}
#freedial{
    width: auto;
    margin: 0 auto 14px;
    text-align: center;
    display: flex;
    justify-content:center;
    flex-wrap: wrap;
}
.freedial_box{
    margin-bottom: 37px;
    padding: 0 40px;
}
.freedial_box:first-child {
    border-right: 1px #ddd solid;
}
.freedial_box img{
    width: 40px;
    height: auto;
    margin-right: 7px;
    vertical-align: -10px;
}
.number{
    font-size: 30px;
    font-weight: bold;
    font-family: 'Inter', sans-serif;
}
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 1400ms;
}

.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

.button{
    display: inline-block;
    height: 46px;
    line-height: 46px;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 0 50px;
    color: #fff;
    border-radius: 23px;
    background-color: #0a1e52;
    transition-duration: 0.5s;
}
.button_line{
    height: 38px;
    line-height: 33px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 0 30px;
    color: #0a1e52;
    background-color: #fff;
    border-radius: 21px;
    border: 2px #0a1e52 solid;
    transition-duration: 0.5s;
    margin: 10px;
}
.button_line:hover {
background-color: #a5b0cc;
}

.button_wrap{
    display: block;
    width: 100%;
    text-align: center;
}
.button:hover {
background-color: #27489c;
}

.button_wrap{
    display: block;
    width: 100%;
    text-align: center;
}

section, .container, .wide_container{
	padding: 80px;
	overflow: hidden;
}
.section_padding_top{padding-top: 80px;}

.blueback_link:link, .blueback_link:visited {background-color: #fff;}
.blueback_link:hover, .blueback_link:active {background-color: #f0f6ff;}
.black_link_no_under a:link, .black_link_no_under a:visited {color:#333;text-decoration:none;}
.black_link_no_under a:hover, .black_link_no_under a:active{color:#333;text-decoration:none;}

.list_icon {
    font-size: 18px;
    color: #aaa;
    margin-right: 4px;
    width: 31px;
    text-align: center;
    vertical-align: -1px;
}
.margin_top{margin-top:50px;}
.margin_bottom_text{margin-bottom: 10px;}
.margin_bottom{margin-bottom:37px;}
.column1 {
    width:auto;
    max-width:1240px;
    margin-left: auto;
    margin-right: auto;
}
.flex {
    display:flex;
    justify-content:space-between;
    flex-wrap: wrap;
}
.flex_center_reverse {
    display:flex;
    justify-content:center;
    flex-wrap: wrap;
}
.flex_center {
    display:flex;
    justify-content:center;
    flex-wrap: wrap;
}
.column2 {
    max-width:570px;
    width: 46%;
}
.iphone_tel a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}
.menu_icon{width: 14px;margin-right: 5px;}
.s_menu_icon{width: 23px;margin-right: 10px;}
.link_menu_icon{
    width: 12px;
    position: absolute;
    bottom: calc(50% + -6px);
    right: 0;
}
.link_box_icon{
    margin-left: 4px;
    fill: #233f98;
}
.img_max{width: 100%; height: auto;}
.box_border{
    width:100%; height: auto;
    background-color: #f0f6ff;
    border: 1px #e4ecf9 solid;
    margin-bottom: 10px;
    padding-bottom: 40px;
    border-radius: 12px;
    text-align: center;
}
.column3 {width:30.5%;}
.column3:first-child, .column3:nth-child(2), .column3:nth-child(3){
    margin-bottom: 60px;
}
.column3_img {
    margin: 40px;
    width:  120px;
    height: 120px;
}
.center {text-align: center;}
.left_to_center {text-align: left;}
.left_center {
    text-align: left;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.left {text-align: left;}
.margin_text {margin-top: 20px;margin-bottom: 20px;}
.white_back{background-color: #fff;}
.gray_back{background-color: #f8f8f8;}
.js-accbtn{position: relative;}
.position_relative{position: relative;}
.position_absolute{position: absolute; top:0; left: 0;}
.link_position_absolute{
    position: static;
    width: 124px;
    bottom: 9px;
    right: -1px;
    margin: 14px auto 0px;
    padding: 3px 0;
    background-color: #fff;
    color: #223f98;
    font-size: 12px;
    font-weight: bold;
    border-radius: 20px;
    border: 1px #223f98 solid;
}
.link_position_absolute:hover{
    background-color: #ddeafe;
    transition: all  0.3s ease;
}
#back_text{
    width: 100%;
    height: 32px;
    padding: 0 80px;
    font-size: 12px;
}
#back_text p{
    line-height: 32px;
    max-width: 1240px;
    width: auto;
    margin: 0 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.h1_margin_bottom{margin-bottom: 70px;}
.radius_cut{border-radius: 50%;}
.separate_border{border-top: 5px solid #f5f5f5;}
.max1030{max-width: 1030px;}
.max800{max-width: 800px;}
.inline{display: inline;}
.text_box{width: calc(100% - 230px); max-width: 600px;}
.text_side{width: 230px; padding-left: 30px;}
.text_side img{
    width: 100%;
    max-width: 200px;
    height: auto;
}
.pc_on{display: block;}
.pc_off{display: none;}
.phone_br{display: none;}
.phone_hide{display: inline;}
.underline {border-top:1px #ddd solid; list-style:none; padding-left:0;}
.underline li {border-bottom:1px #ddd solid;padding: 20px 0; vertical-align:middle; position:relative;}
.box_shadow {box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.2);}
.list_margin {margin-left: 24px;}
.nowrap{white-space: nowrap;}
.js-accbtn{display: none;}
.js-acccontent{display: block;}

.fci img{
	width: 90%;
	height: auto;
}

.fci {
	width: calc(33.33% - 20px);
    margin: 10px;
	padding: 10px;
	font-size: 14px;
	background-color: #fff;
    text-align: center;
    display: block;
    border: 1px #bbb solid;
    transition: all 300ms 0s ease;
}

.fci:hover {
	background-color: #eee;
}
.link_box{
    width: 100%;
    margin: 20px auto 0;
}

/* SVGアイコン　外部ファイル用（FA） */
.svg_external {
    display: inline-block;
    vertical-align: -0.1em;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.svg_external.right {
    margin-left: 0.7em;
}

@media screen and (max-width:1190px){
    #footerin {width: 780px;}
    #copyright {
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media screen and (max-width:980px){
    .column3_img {
        margin: 35px;
        width: 100px;
        height: 100px;
    }
    .box_border{padding-bottom: 35px;}
    .fci {
        width: calc(33.33% - 10px);
        margin: 5px;
        padding: 5px;
    }
}

@media screen and (max-width:860px){
    #menu_list, #language{
        display: none;
    }
    #phone_btn{
        display: block;
        width: 25px;
        height: auto;
        cursor: pointer;
    }

    #side_menu.open{
        opacity: 1;
        visibility: visible;
        right: 0;
        z-index: 9998;
    }

    #body_wrap {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(10, 21, 37, 0.7);
        z-index: 10;
    }

    #menu_btn_wrap{
        margin: 50px 0;
        text-align: center;
    }

    #menu_btn {
        cursor: pointer;
    }
    .button{
        font-size: 14px;
        padding: 0 40px;
    }
    #footerin{
        width: auto;
        padding: 50px 40px 34px;
    }
    .freedial_box{ width: 100%; padding: 0}
    .freedial_box:first-child {
        border-right:none;
    }
    #copyright p{
        width: auto;
    }
    #copy{
        justify-content: flex-start;
    }
}

@media screen and (max-width:800px){
    .column3 {width: 47%;}
    .column3:first-child, .column3:nth-child(2), .column3:nth-child(3), .column3:nth-child(4){margin-bottom: 30px;}
}

@media screen and (max-width:720px){
    .pc_on{display: none;}
    .pc_off{display: block;}
    .phone_hide{display: none;}
    h1, h2{font-size:20px;}
    h3{font-size: 16px;}
    h4{font-size: 14px;}
    .h1_margin_bottom {margin-bottom: 40px;}
    .margin_bottom{margin-bottom:20px;}
    section, .container, .wide_container {padding: 50px 40px;}
    .section_padding_top{padding-top: 50px;}
    .margin_top{margin-top: 40px;}
    .column2{width: 100%;margin: 0 auto;}
    .column2:nth-child(2){margin-top: 40px;}
    #footer_menu{justify-content: flex-start;}
    #footer_menu ul {width: 33.33%;}
    #footer_menu ul:first-child, #footer_menu ul:nth-child(2), #footer_menu ul:nth-child(3){
        margin-bottom: 30px;
    }
    #back_text{
    padding: 0 30px;
    font-size: 12px;
    }
    .column3 p{
        font-size: 13px;
    }
    .link_position_absolute{
        width: 110px;
        padding: 3px 0;
        font-size: 12px;
    }
    .flex_center_reverse{flex-direction: column-reverse;}
    .text_box {width: 100%; margin: 0 auto;}
    .text_side {width: 150px; margin: 0 auto; padding: 0 0 30px}
    .left_to_center {text-align: center;}
    .fci {
        width: calc(33.33% - 20px);
        margin: 10px;
        padding: 10px;
    }
}

@media screen and (max-width:660px){
    .phone_br{display: block;}
    #copy{display: block;}
    #copy li {margin-top: 10px;}
}

@media screen and (max-width:500px){
    h4{font-size: 13px;}
    .column3_img{width: 80px; height: 80px; margin: 24px;}
    #footerin, #copyright, .wide_container{
        padding-left: 30px;
        padding-right: 30px;
    }
    #footer_menu ul {width: 100%;}
    #footer_menu ul:first-child, #footer_menu ul:nth-child(2), #footer_menu ul:nth-child(3){
        margin-bottom: 0;
    }
    #footer_menu li{
        margin-bottom: 2px;
        padding-bottom: 5px;
        padding-top: 5px;
    }
    .number {font-size: 27px;}
    .freedial_box img {
        width: 36px;
        margin-right: 5px;
        vertical-align: -8px;
    }
    .js-accbtn{display: block;}
    .js-accbtn::after{
        position: absolute;
        bottom: 11px;
        right: 0;
        content:"";
        display:inline-block;
        width:20px;
        height:20px;
        background:url(../../images/top/open.svg) no-repeat;
        background-size:contain;}
    .js-accbtn.open::after{
        position: absolute;
        bottom: 11px;
        right: 0;
        content:"";
        display:inline-block;
        width:20px;
        height:20px;
        background:url(../../images/top/close.svg) no-repeat;
        background-size:contain;}
    .js-acccontent{display: none;}
    .js-acccontent{margin: 15px 0 30px;}
    .link_position_absolute{
        position: absolute;
        width: 89px;
        height: 26px;
        margin: 0;
        padding: 2px 0 3px;
        border-radius: 0;
        background-color: #0a1e52;
        color: #fff;
        font-size: 11px;
    }
    #footer_menu .list_title{border-bottom: 1px #ddd solid; margin-bottom: 0;padding: 10px 0;}
    .column3:nth-child(5) {margin-bottom: 30px;}
    .box_border{display: flex; align-items: center; padding-bottom: 0; border-radius: 8px;}
    .column3 {width: 100%;}
    .link_box_icon{
        vertical-align: -1px;
        margin-left: 3px;
        margin-right: -3px;
        fill: #ffffff;
    }
    .link_position_absolute:hover{background-color: #27489c;}
    .js-accbtn{
        display: block;
        position: absolute;
        top:0;
        left:0;
        width: 100%;
        height: 100%;
    }
}