@charset "UTF-8";
:root {
    --borderColor: 191,191,191;
    --color_0: 255,255,255;
    --color_1: 0,0,0;
    --color_2: 0,102,227;
    --color_3: 25,25,25;
    --color_4: 250,247,245;
    --color_5: 255,238,225;
    --color_6: 255,255,255;
    --color_7: 191,191,191;
    --color_8: 128,128,128;
    --color_9: 64,64,64;
    --color_10: 0,0,0;
    --color_11: 255,255,255;
    --color_12: 191,191,191;
    --color_13: 68,68,68;
    --color_14: 64,64,64;
    --color_15: 0,0,0;
    --color_16: 189,224,255;
    --color_17: 156,208,255;
    --color_18: 57,161,255;
    --color_19: 38,107,170;
    --color_20: 19,54,85;
    --color_21: 214,213,213;
    --color_22: 173,172,172;
    --color_23: 133,131,131;
    --color_24: 92,90,90;
    --color_25: 46,45,45;
    --color_26: 255,255,255;
    --color_27: 250,247,245;
    --color_28: 228,212,201;
    --color_29: 193,156,132;
    --color_30: 121,85,61;
    --color_31: 255,255,255;
    --color_32: 255,238,225;
    --color_33: 255,200,158;
    --color_34: 255,142,55;
    --color_35: 173,75,0;
    --color_36: 255,255,255;
    --color_37: 0,0,0;
    --color_38: 191,191,191;
    --color_39: 68,68,68;
    --color_40: 64,64,64;
    --color_41: 57,161,255;
    --color_42: 0,0,0;
    --color_43: 68,68,68;
    --color_44: 255,255,255;
    --color_45: 0,0,0;
    --color_46: 0,0,0;
    --color_47: 191,191,191;
    --color_48: 57,161,255;
    --color_49: 57,161,255;
    --color_50: 255,255,255;
    --color_51: 255,255,255;
    --color_52: 57,161,255;
    --color_53: 57,161,255;
    --color_54: 68,68,68;
    --color_55: 68,68,68;
    --color_56: 255,255,255;
    --color_57: 255,255,255;
    --color_58: 57,161,255;
    --color_59: 255,255,255;
    --color_60: 57,161,255;
    --color_61: 57,161,255;
    --color_62: 255,255,255;
    --color_63: 255,255,255;
    --color_64: 68,68,68;
    --color_65: 68,68,68;
}

html {
    font-size: 62.5%;
    width: 100%;
    scroll-behavior: smooth;
}
html[lang=en] body { font-family: 'Open Sans', Arial, sans-serif; }
html[lang=ja] body { font-family: 'Open Sans', Arial, "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; }

body {
    line-height: 1.8;
    background: #fff;
    margin:0;
    padding:0;
    font-size: 1.6rem;
    color: #000;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    height: -webkit-fill-available;
}

a {
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
a:focus, a:active {
    outline: none;
}
img{
    max-width: 100%;
}
.txt_gold{
    color:#DDBA4F !important;
}
.txt_black{
    color: rgb(0, 0, 0) !important;
}
.txt_red{
    color: rgb(248, 20, 29) !important;
}
.txt_blue{
    color: rgb(var(--color_19)) !important;
}
.txt_light_blue{
    color: #3D9BE9 !important;
}
.txt_pastel_blue{
    color: rgb(var(--color_17)) !important;
}
.txt_pastel_green{
    color: #A6D58E !important;
}
.txt_pastel_purple{
    color: #978ED5 !important;
}
.txt_bold{
    font-weight: bold !important;
}
.txt_center{
    text-align: center !important;
}
.txt_right{
    text-align: right !important;
}
.txt_left{
    text-align: left !important;
}
.img_center img{
    margin-right: auto;
    margin-left: auto;
}
.img_right img{
    margin-right: 0;
    margin-left: auto;
}
.sup{
    font-size: 50%;
}
.txt_underline{
    text-decoration: underline;
}
.bg_gray{
    background: #FAFAFA!important;
}
.bg_blue{
    background: rgb(var(--color_19))!important;
    color: #FFF!important;
}
.bg_white{
    background: #FFF!important;
    color: #000!important;
}
.bg_white_opacity{
    background: rgba(var(--color_0), 0.15);
}
.hr_border{
    border-top: solid 1px #000;
}
.border{
    border-color: rgb(var(--borderColor));
    border-style: solid;
}
.border.bottom{
    border-width: 0 0 1px 0;
}
.border.top{
    border-width: 1px 0 0 0;
}
@media screen and (min-width: 768px){
    .hr_border{
        margin-top: 30px;
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 767.9px){
    .hr_border{
        margin-top: calc((30 / 320) * 100vw);
        margin-bottom: calc((30 / 320) * 100vw);
    }
}

/*=========================================
 responsive
 ==========================================*/
@media screen and (min-width: 768px) {
    .annotation{
        font-size: 10px;
    }
    .no_view_pc{
        display: none;
    }
    .txt_center_pc{
        text-align: center;
    }
}
@media screen and (max-width: 767.9px) {
    .annotation{
        font-size: calc((10 / 320) * 100vw);
    }
    .no_view_sp{
        display: none;
    }
    .txt_center_sp{
        text-align: center;
    }
}

/*=========================================
 layout
 ==========================================*/
.site_inner{
    margin-left: auto;
    margin-right: auto;
    max-width: 980px;
    width: 100%;
}
.site_inner.inner_narrow{
    max-width: 720px;
}
.mt_none{
    margin: 0!important;
}
@media screen and (min-width: 768px) {
    .inner_space_pc,
    .inner_space{
        max-width: 1020px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .inner_space_pc.inner_narrow,
    .inner_space.inner_narrow{
        max-width: 760px;
    }
}
@media screen and (max-width: 767.9px) {
    .inner_space_sp,
    .inner_space{
        max-width: 100%;
        padding-left: calc((20 / 320) * 100vw);
        padding-right: calc((20 / 320) * 100vw);
    }
}

/*=========================================
 header
 ==========================================*/
.header-wrap{
    width:100%;
    background: #FFF;
/* From here down is fixed header setting */
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999990;
}
.header-wrap a:hover{
    text-decoration: none;
}
#header {
    width: 100%;
    height: 100%;
    padding-top: 29px;
}
#header ul{
    list-style: none;
}
#header .header-menu .tel .number {
    font-weight: bold;
}
#header .header-menu .inquiry {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(var(--color_18));
    color: rgb(var(--color_18));
    transition: 0.5s;
}
#header .header-menu .inquiry:hover {
    color: #fff;
    background: rgb(var(--color_18));
    text-decoration: none;
}
@media screen and (min-width: 1070px){
    #header{
        width: calc((1010 / 1170) * 100%);
        min-width: 1010px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media screen and (min-width: 940px){
    .header-wrap{
        height:96px;
        /* From here down is fixed header setting */
        height: calc(96px + 29px);
    }
    #header {
        display: flex;
        padding-right: 30px;
        font-size: 1.2rem;
    }
    #header .logo {
        width: 38.77549019607843%;
        display: flex;
        align-items: center;
    }
    #header .header-menu {
        width: 61.22450980392157%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    #header .header-menu .tel {
        text-align: right;
        width:39%;
        font-size: 12px;
    }
    #header .header-menu .tel .number {
        line-height: 1.4em;
        font-size: 2rem;
    }
    #header .header-menu .inquiry {
        width: 142px;
        height: 44px;
        font-size: 12px;
        border-radius: 22px;
        margin-left: 4.081632653061224%;
    }
    #header .header-menu .lang,
    #header .header-menu .lang .lang_text,
    #header .header-menu .lang .select_lang_list a{
        height: 39px;
        width: 85px;
    }
    #header .header-menu .lang .lang_text,
    #header .header-menu .lang .select_lang_list a{
        display: flex;
        padding: 0 14px;
        align-items: center;
        cursor: pointer;
    }
    #header .header-menu .lang {
        margin-left: 6.122448979591837%;
        position: relative;
    }
    #header .header-menu .lang .lang_text{
        border: rgb(var(--borderColor)) solid 1px;
        padding: 0 14px;
    }
    #header .header-menu .lang .select_lang_list{
        position: absolute;
        right: 0;
        top: 39px;
        width: 100%;
    }
    #header .header-menu .lang.close .select_lang_list {
        display: none;
    }
    #header .header-menu .lang .lang_text{
        background: #FFF;
        position: relative;
    }
    #header .header-menu .lang .lang_text:after{
        content: "";
        display: block;
        position: absolute;
        background-image: url("../img/icon/select_arrow.svg");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 12px;
        width: 12px;
        height: 12px;
        right: 10px;
        top: calc(50% - 6px);
    }
    #header .header-menu .lang.open .lang_text:after{
        transform: scale(1, -1);
    }
    #header .header-menu .lang.open .lang_text{
        background: rgb(var(--borderColor));
    }
    #header .header-menu .lang.open .select_lang_list {
        display: block;
        border-color: rgb(var(--borderColor));
        border-style: solid;
        border-width: 0 1px 1px 1px;
        background: #FFF;
    }
    #header .header-menu .lang.open .select_lang_list a {
        color: #000;
    }
}
@media screen and (max-width: 939.9px){
    .header-wrap{
        position: relative;
        box-shadow: 0 2px 3px 0 rgba(0,0,0,0.3);
    }
    #header {
        display: block;
        height: calc((140.39 / 320) * 100vw);
        position: relative;
        padding-top: 0;
    }
    #header .logo,
    #header .header-menu{
        width: 100%;
        text-align: center;
    }
    #header .logo{
        height: calc((62 / 320) * 100vw);
        padding-right: calc((10 / 320) * 100vw);
        padding-top: calc((30 / 320) * 100vw);
    }
    #header .logo a{
        width: calc((202 / 320) * 100%);
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    #header .header-menu{
        height: calc((71.39 / 320) * 100vw);
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #header .header-menu .tel{
        font-size: calc((10 / 320) * 100vw);
    }
    #header .header-menu .tel .number{
        font-size: calc((16 / 320) * 100vw);
    }
    #header .header-menu .inquiry{
        width: calc((130 / 320) * 100%);
        height: calc((36 / 320) * 100vw);
        font-size: calc((12.1333 / 320) * 100vw);
        border-radius: calc((18 / 320) * 100vw);
        margin-left: calc((20 / 320) * 100%);
    }
    #header .header-menu .lang{
        display: none;
    }
}
/**
 hamburger menu
 */
@media screen and (min-width: 940px){
    .toggle_btn{
        display: none!important;
    }
}
@media screen and (max-width: 939.9px){
    .toggle_btn{
        position: absolute;
        width: calc((40 / 320) * 100vw);
        height: calc((40 / 320) * 100vw);
        top: calc((20 / 320) * 100vw);
        right: calc((20 / 320) * 100vw);
        z-index: 999999999999999999999999999;
    }
    .toggle_btn span{
        display: block;
        height: calc((3 / 320) * 100vw);
        width: calc((20 / 320) * 100vw);
        background: #000;
        position: absolute;
        left: calc((10 / 320) * 100vw);
    }
    .toggle_btn span:nth-child(1){
        top: calc((10 / 320) * 100vw);
    }
    .toggle_btn span:nth-child(2){
        top: calc((100% - ((3 / 320) * 100vw)) / 2);
    }
    .toggle_btn span:nth-child(3){
        bottom: calc((10 / 320) * 100vw);
    }
    .toggle_btn.active{
        position: fixed;
    }
    .toggle_btn.active span:nth-child(2){
        opacity: 0;
    }
    .toggle_btn.active span:nth-child(1){
        top: calc((100% - ((3 / 320) * 100vw)) / 2);
        transform: rotate(45deg);
    }
    .toggle_btn.active span:nth-child(3){
        top: calc((100% - ((3 / 320) * 100vw)) / 2);
        transform: rotate(-45deg);
    }
}
/**
 nav
 */
.global-menu{
    position: relative;
    /* From here down is fixed header setting */
    position: fixed;
    top: calc(29px + 96px);
    z-index: 99999990;
    }
.global-menu ul{
    list-style: none;
}
@media screen and (min-width: 940px){
    .global-menu {
        margin:0;
        width:100%;
        background: rgb(var(--color_19));
        box-shadow: 0 2px 3px 0 rgba(0,0,0,0.3);
        font-size: 1.4rem;
    }
    .global-menu .dropdown {
        display: flex;
        justify-content: space-between;
        position: relative;
        height:50px;
        margin:0 auto;
        max-width: 1150px;
        width: 100%;
        z-index: 99999;
    }
    .global-menu .dropdown >li >div{
        height: 100%;
    }
    .global-menu .dropdown a{
        color: #FFF;
        padding: 0 10px;
    }
    .global-menu .dropdown >li >div >a {
        height:50px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        min-width: 80px;
    }
    .global-menu .dropdown .sub_menu >li >div >a {
        display: flex;
        align-items: center;
        height: 42px;
    }
    .global-menu .dropdown >li >div >a:hover {
        text-decoration: none;
    }
    .global-menu .dropdown .sub_menu {
        visibility: hidden;
        position: absolute;
        top: 100%;
        left:0;
        width: 100%;
        white-space: nowrap;
        background: rgb(var(--color_19));
        zoom: 1;
        padding: 10px;
    }
    .global-menu .dropdown .sub_menu:before,
    .global-menu .dropdown .sub_menu:after {
        content: "";
        display: table;
    }
    .global-menu .dropdown .sub_menu:after {
        clear: both;
    }
    .global-menu .dropdown .sub_menu li {
        float: left;
        width: calc(100% / 3);
        text-align: left;
        padding: 10px;
    }
    .global-menu .lang_area{
        display: none;
    }
}
@media screen and (max-width: 939.9px){
    .global-menu{
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        overflow: auto;
        z-index: 999999999;
        background: #FFF;
        padding: calc((60 / 320) * 100vw) 0 calc((100 / 320) * 100vw);
        text-align: center;
        font-size: calc((14 / 320) * 100vw);
    }
    .global-menu a{
        color: #000;
        text-decoration: none;
    }
    .global-menu .accordion_btn{
        display: inline-block;
        width: calc((45 / 320) * 100vw);
        height: calc((45 / 320) * 100vw);
        position: relative;
    }
    .global-menu .accordion_btn:before,
    .global-menu .accordion_btn:after{
        content: "";
        display: block;
        background: #000;
        position: absolute;
    }
    .global-menu .accordion_btn:before{
        width: calc((10 / 320) * 100vw);
        height: 1px;
        top: calc((100% - 1px) / 2);
        left: calc((100% - ((10 / 320) * 100vw)) / 2);
    }
    .global-menu .accordion_btn:after{
        width: 1px;
        height: calc((10 / 320) * 100vw);
        top: calc((100% - ((10 / 320) * 100vw)) / 2);
        left: calc((100% - 1px) / 2);
    }
    .global-menu .accordion_btn_wrap.active a{
        color: rgb(var(--color_18));
    }
    .global-menu .accordion_btn_wrap.active .accordion_btn:before,
    .global-menu .accordion_btn_wrap.active .accordion_btn:after{
        background: rgb(var(--color_18));
    }
    .accordion_btn_wrap{
        padding-right: calc(((35 / 320) * 100vw) / 2);
    }
    .global-menu .dropdown >li >div{
        height: calc((45 / 320) * 100vw);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .global-menu .dropdown >li >div a{
        display: block;
    }
    .global-menu .sub_menu >li{
        height: calc((45 / 320) * 100vw);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .global-menu .lang_area{
        position: fixed;
        bottom: 0;
        background: #CCC;
        height: calc((90 / 320) * 100vw);
        width: 100%;
        font-size: calc((16 / 320) * 100vw);
    }
    .global-menu .lang_area .lang_sp{
        width: 100%;
        height: calc((45 / 320) * 100vw);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .global-menu .lang_area .lang_sp:hover{
        cursor: pointer;
    }
    .global-menu .lang_area .lang_sp .icon{
        margin-right: calc((7 / 320) * 100vw);
    }
    .global-menu .lang_area .lang_sp.close .select_lang_list{
        display: none;
    }
    .global-menu .lang_area .lang_sp.open .select_lang_list{
        display: block;
        position: fixed;
        bottom: calc((90 / 320) * 100vw);
        left: 0;
        width: 100%;
        background: #FFF;
    }
    .global-menu .lang_area .lang_sp.open .select_lang_list li a{
        height: calc((40 / 320) * 100vw);
        border-top: #CCC 1px solid;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 99999999999;
    }
}

/*=========================================
 footer
 ==========================================*/
.page_top_link{
    position: fixed;
    display: block;
    transition:all 0.3s;
    opacity: 0;
    z-index: 99;
}
.page_top_link a{
    width: 100%;
    height: 100%;
    display: block;
}
.page_top_link.disable{
    opacity: 0;
    display: none;
}
.page_top_link.active{
    opacity: 1;
    display: block!important;
}
@media screen and (min-width: 768px){
    .page_top_link{
        width: 45px;
        height: 45px;
        bottom: 30px;
        right: 40px;
    }
    .page_top_link a{
        background: url("../img/icon/page_top_link.svg") no-repeat center center;
        background-size: 100%;
    }
}
@media screen and (max-width: 767.9px){
    .page_top_link{
        width: calc((35 / 320) * 100vw);
        height: calc((35 / 320) * 100vw);
        bottom: calc((20 / 320) * 100vw);
        right: calc((10 / 320) * 100vw);
        opacity: .75;
    }
    .page_top_link a{
        background: url("../img/icon/page_top_link_sp.svg") no-repeat center center;
        background-size: 100%;
    }
}
#footer {
    background: rgb(var(--color_19));
    color: #FFF;
}
#footer a{
    color: #FFF;
    text-decoration: underline;
}
#footer .inner {
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
}
#footer .company_area p{
    line-height: 1.8!important;
}
#footer .company_area .name .main{
    font-weight: bold;
}
#footer .footer_link_list{
    list-style: none;
}
#footer .footer_link_list li{
    background-image: url("../img/icon/list_arrow.svg");
    background-position: left center;
    background-repeat: no-repeat;
}
#footer .google_map {
    position: relative;
    width: 100%;
}
#footer .google_map:before {
    content:"";
    display: block;
}
#footer .google_map >div{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
#footer .google_map >div iframe{
    width: 100%;
    height: 100%;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}
#footer .group_banner_ierae {
    margin: 10px 0 0 17px;
}
@media screen and (min-width: 768px){
    .main_contents.top_main_contents .page_container{
        padding-bottom: 120px;
    }
    .main_contents:not(.top_main_contents) .page_container{
        padding-bottom: 80px;
    }
    #footer{
        padding-top: 60px;
        padding-bottom: 15px;
    }
    #footer .inner{
        padding-right: 10px;
        padding-left: 20px;
        display: flex;
        flex-wrap: wrap;
    }
    #footer .left{
        width: 47.6530612244898%;
        padding-right: 15px;
    }
    #footer .right{
        width: 52.3469387755102%;
        zoom: 1;
    }
    #footer .right:before,
    #footer .right:after{
        content: "";
        display: table;
    }
    #footer .right:after{
        clear: both;
    }
    #footer .bottom{
        width: 100%;
    }
    #footer .company_area p{
        font-size: 16px;
    }
    #footer .company_area .name .main{
        font-size: 20px;
    }
    #footer .company_area .name .sub{
        margin-bottom: 10px;
    }
    #footer .footer_link_list{
        font-size: 15px;
    }
    #footer .footer_link_list li{
        padding-left: 17px;
        background-size: 7px;
        margin-top: 60px;
    }
    #footer .google_map_area{
        padding-right: 10px;
    }
    #footer .google_map:before {
        padding-top: 50.90909090909091%;
    }
    #footer .security_area{
        /*width: 150px;*/
        width: 100%;
        float: right;
        margin-top: 50px;
        margin-bottom: 50px;
    }
    #footer .security_area #sitesheels {
        height: 66px;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row-reverse;
    }
    #footer .security_area #sitesheels .sitesheel {
        width: 130px;
        height: 66px;
        margin-left: 20px;
    }
    #footer .bottom{
        font-size: 11px;
        text-align: right;
    }
    #footer .bottom .copyright{
        margin-top:5px;
    }
}
@media screen and (max-width: 767.9px){
    .main_contents.top_main_contents .page_container{
        padding-bottom: calc((50 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .page_container{
        padding-bottom: calc((20 / 320) * 100vw);
    }
    #footer{
        padding-top: calc((25 / 320) * 100vw);
        padding-bottom: calc((70 / 320) * 100vw);
    }
    #footer .inner{
        padding-right: 10px;
        padding-left: 10px;
    }
    #footer .company_area p{
        font-size: calc((13 / 320) * 100vw);
    }
    #footer .company_area .name .main{
        font-size: calc((16 / 320) * 100vw);
    }
    #footer .company_area .name .sub{
        margin-bottom: calc((10 / 320) * 100vw);
    }
    #footer .footer_link_list{
        font-size: calc((14 / 320) * 100vw);
    }
    #footer .footer_link_list li{
        padding-left: calc((17 / 320) * 100vw);
        background-size: calc((7 / 320) * 100vw);
        margin-top: calc((30 / 320) * 100vw);
    }
    #footer .left,
    #footer .google_map_area{
        padding-right: 10px;
        padding-left: 10px;
        margin-bottom: 60px;
    }
    #footer .google_map_area{
        margin-top: calc((50 / 320) * 100vw);
        margin-bottom: calc((10 / 320) * 100vw);
    }
    #footer .google_map:before {
        padding-top: 85.80121703853955%;
    }
    #footer .bottom{
        font-size: calc((12 / 320) * 100vw);
        text-align: center;
    }
    #footer .bottom .copyright{
        margin-top: calc((5 / 320) * 100vw);
    }
    #footer .security_area {
        margin-top: 50px;
        margin-bottom: 50px;
    }
    #footer .security_area #sitesheels {
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
    }
    #footer .security_area #sitesheels .ierae-sheel {
        margin-left: 10px;
        width: 130px;
        height: 66px;
    }
}

/*=========================================
 main visual
 ==========================================*/
.main_visual .bg_img_area{
    position: fixed;
    height: 100vh;
    height: 100dvh;
    width: 100%;
    overflow: hidden;
    z-index: -9999;
    top: 0;
    left: 0;
}
.main_visual .bg_img_area >div{
    width: 100%;
    height: 100%;
}
.main_visual .bg_img_area >div img{
    object-fit: cover;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}
.main_visual{
    color: #FFF;
}
.page_container{
    background: #FFF;
    width: 100%;
}
/*=========================================
 title
 ==========================================*/
.page_title_area .bg_img_area{
    height: 100vh;
    height: 100dvh;
}
.page_title_area .txt_area{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(var(--color_15),0.6);
}
.page_title_area .txt_area .page_tit{
    text-shadow: 3px 3px 5px rgba(var(--color_15),0.6);
    letter-spacing: 0.1em;
    text-align: center;
}
.main_sec_tit,
.main_sec_tit a{
    color: rgb(var(--color_19));
}
.main_sec_tit a{
    text-decoration: underline;
}
.sec_tit:not(.no_border){
    border-bottom: rgb(var(--color_19)) 3px solid;
}
.sec_tit.no_border{
    padding-bottom: 0!important;
}
.main_sec_tit,
.sec_tit{
    width: 100%;
}
.main_sec_tit,
.sec_tit{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.main_sec_tit,
.sec_tit.txt_center {
    justify-content: center;
}
.main_sec_tit {
    text-align: center;
}
.main_sec_tit.txt_left {
    text-align: left;
    justify-content: inherit;
}
.main_sec_tit .icon,
.sec_tit .icon{
    display: inline-block;
    width: auto;
}
.sec_tit .tit a,
.sec_tit .sub_tit a{
    color: rgb(var(--color_15));
    text-decoration: underline;
}
.sec_tit .sub_tit{
    width: 100%;
    display: block;
}
@media screen and (min-width: 768px){
    .page_title_area + .page_container{
        padding-top: 30px;
    }
    .page_title_area .txt_area{
        min-height: 138px;
    }
    .page_title_area .txt_area .page_tit{
        font-size: 34px;
    }
    .main_sec_tit{
        margin-bottom: 60px;
    }
    .main_sec_tit.mt_bottom_min{
        margin-bottom: 30px;
    }
    .main_sec_tit .tit{
        font-size: 30px;
    }
    .sec_tit{
        padding-bottom: 10px;
        margin-bottom: 20px;
    }
    .main_sec_tit .icon,
    .sec_tit .icon{
        height: 30px;
        margin-right: 10px;
    }
    .sec_tit .tit{
        font-size: 20px;
    }
    .sec_tit .sub_tit{
        font-size: 18px;
    }
    .sec_tit .tit + .sub_tit,
    .sec_tit .sub_tit + .tit{
        padding-top: 10px;
    }
}
@media screen and (max-width: 767.9px){
    .page_title_area + .page_container{
        padding-top: calc((20 / 320) * 100vw);
    }
    .page_title_area .txt_area{
        min-height: calc((69 / 320) * 100vw);
    }
    .page_title_area .txt_area .page_tit{
        font-size: calc((25 / 320) * 100vw);
    }
    .main_sec_tit .tit{
        font-size: calc((20 / 320) * 100vw);
    }
    .main_sec_tit{
        margin-bottom: calc((30 / 320) * 100vw);
    }
    .main_sec_tit.mt_bottom_min{
        margin-bottom: calc((15 / 320) * 100vw);
    }
    .sec_tit{
        padding-bottom: calc((10 / 320) * 100vw);
        margin-bottom: calc((10 / 320) * 100vw);
    }
    .main_sec_tit .icon,
    .sec_tit .icon{
        height: calc((15 / 320) * 100vw);
        margin-right: calc((10 / 320) * 100vw);
    }
    .sec_tit .tit{
        font-size: calc((17 / 320) * 100vw);
    }
    .sec_tit .sub_tit{
        font-size: calc((14 / 320) * 100vw);
    }
    .sec_tit .tit + .sub_tit,
    .sec_tit .sub_tit + .tit{
        margin-top: calc((10 / 320) * 100vw);
    }
}
/*=========================================
 table
 ==========================================*/
table{
    border-collapse:  collapse;
    width: 100%;
}
th,td {
    border-style: solid;
    border-color: rgba(33,33,33,.2);
}
table:not(.table_underline):not(.responsive_table) tr th{
    background: #EEE;
}

table:not(.table_underline) tr th,
table:not(.table_underline) tr td {
    border-width: 1px;
}
table.table_underline tr th,
table.table_underline tr td {
    text-align: left;
}
table.table_underline tr:not(:last-child) th,
table.table_underline tr:not(:last-child) td {
    border-width: 0 0 1px 0;
}
table.table_underline tr:last-child th,
table.table_underline tr:last-child td {
    border-width: 0;
}
.nowrap{
    white-space: nowrap;
}
@media screen and (min-width: 768px){
    table{
        font-size: 16px;
    }
    th{
        font-size: 14px;
    }
    th,td {
        padding: 5px 10px;
    }
    table.table_underline tr th,
    table.table_underline tr td {
        padding-left: 5px;
        padding-right: 5px;
    }
    table.table_underline tr:not(:first-child) th,
    table.table_underline tr:not(:first-child) td {
        padding-top: 15px;
    }
    table.table_underline tr:not(:last-child) th,
    table.table_underline tr:not(:last-child) td {
        padding-bottom: 15px;
    }
}
@media screen and (max-width: 767.9px){
    table{
        font-size: calc((16 / 320) * 100vw);
    }
    th{
        font-size: calc((14 / 320) * 100vw);
    }
    th,td {
        padding: calc((5 / 320) * 100vw) calc((10 / 320) * 100vw);
    }
    table.table_underline tr th,
    table.table_underline tr td {
        padding-left: calc((5 / 320) * 100vw);
        padding-right: calc((5 / 320) * 100vw);
    }
    table.table_underline tr:not(:first-child) th,
    table.table_underline tr:not(:first-child) td {
        padding-top: calc((15 / 320) * 100vw);
    }
    table.table_underline tr:not(:last-child) th,
    table.table_underline tr:not(:last-child) td {
        padding-bottom: calc((15 / 320) * 100vw);
    }
    table.responsive_table tr th,
    table.responsive_table tr td{
        display: block;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    table.responsive_table tr th{
        padding-bottom: 0!important;
    }
    table.responsive_table tr td{
        padding-top: calc((5 / 320) * 100vw)!important;
    }
    table.responsive_table tr:not(:first-child) th{
        padding-top: calc((15 / 320) * 100vw);
    }
    table.responsive_table tr:not(:last-child) td{
        padding-bottom: calc((15 / 320) * 100vw);
    }
    table.table_underline.responsive_table tr:last-child th,
    table.table_underline.responsive_table tr:not(:last-child) th {
        border-width: 0;
    }
}

/*=========================================
 other
 ==========================================*/
.main_contents:not(.top_main_contents) .sec .par_txt{
    line-height: 2;
}
.main_contents:not(.top_main_contents) .sec .page_txt{
    line-height: 1.2;
}
.main_contents:not(.top_main_contents) .sec .txt_tit,
.main_contents:not(.top_main_contents) .sec .content_tit .tit,
.main_contents:not(.top_main_contents) .sec .txt_catchphrase{
    font-weight: bold;
}
.main_contents:not(.top_main_contents) .sec .content_tit .tit{
    color: rgb(var(--color_19));
}
.main_contents:not(.top_main_contents) .sec .txt_catchphrase{
    line-height: 1.6;
}
.main_contents:not(.top_main_contents) .sec .img_area.center,
.main_contents:not(.top_main_contents) .sec .btn_area.center{
    text-align: center;
}
.main_contents:not(.top_main_contents) .sec .img_area.center img,
.main_contents:not(.top_main_contents) .sec .btn_area.center .btn{
    margin: 0 auto;
}
.main_contents:not(.top_main_contents) .sec .img_area.center.logo-brantectbygmo img {
    width: 100%;
    max-width: 620px;
}
.main_contents:not(.top_main_contents) .sec .img_area.right,
.main_contents:not(.top_main_contents) .sec .btn_area.right{
    text-align: right;
}
.main_contents:not(.top_main_contents) .sec .img_area.right img,
.main_contents:not(.top_main_contents) .sec .btn_area.right .btn{
    margin: 0 0 0 auto;
}
.main_contents:not(.top_main_contents) .sec .btn,
.main_contents:not(.top_main_contents) .sec .btn.rectangle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
    height: 100%;
    font-weight: bold;
}
.main_contents:not(.top_main_contents) .sec .btn{
    border: 1px solid rgb(var(--color_18));
    color: rgb(var(--color_18));
}
.main_contents:not(.top_main_contents) .sec .btn.rectangle{
    border: 1px solid rgb(var(--color_19));
    background: rgb(var(--color_19));
    color: #fff;
}
.main_contents:not(.top_main_contents) .sec .btn:hover,
.main_contents:not(.top_main_contents) .sec .btn.rectangle:hover{
    text-decoration: none;
}
.main_contents:not(.top_main_contents) .sec .btn:hover{
    color: #fff;
    background: rgb(var(--color_18));
}
.main_contents:not(.top_main_contents) .sec .btn.rectangle:hover{
    color: rgb(var(--color_19));
    background: #FFF;
}
.main_contents:not(.top_main_contents) .sec .brackets_num_list a,
.main_contents:not(.top_main_contents) .sec .num_list a,
.main_contents:not(.top_main_contents) .sec .disc_list a,
.main_contents:not(.top_main_contents) .sec .par_txt a{
    text-decoration: underline;
    color: rgb(var(--color_19));
    word-break: break-all;
}
.main_contents:not(.top_main_contents) .sec .num_list,
.main_contents:not(.top_main_contents) .sec .brackets_num_list{
    counter-reset: item;
    list-style-type: none;
    padding-left: 0;
}
.main_contents:not(.top_main_contents) .sec .num_list >li,
.main_contents:not(.top_main_contents) .sec .brackets_num_list >li{
    display: block;
    position: relative;
    line-height: 1.8!important;
}
.main_contents:not(.top_main_contents) .sec .num_list >li:before,
.main_contents:not(.top_main_contents) .sec .brackets_num_list >li:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1.8!important;
}
.main_contents:not(.top_main_contents) .sec .num_list >li:before {
    counter-increment: item;
    content: counter(item)'.';
}
.main_contents:not(.top_main_contents) .sec .brackets_num_list >li:before {
    counter-increment: item;
    content: '('counter(item)')';
}
.main_contents:not(.top_main_contents) .sec .disc_list{
    list-style: disc!important;
    line-height: 1.8!important;
}
.main_contents:not(.top_main_contents) .sec .disc_list >li{
    line-height: 1.8!important;
}
.main_contents:not(.top_main_contents) .sec .indent_1{
    display: inline-block;
    line-height: 1.8!important;
}
@media screen and (min-width: 768px){
    .main_contents:not(.top_main_contents) .sec{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .main_contents:not(.top_main_contents) .content_sec:not(:last-child){
        margin-bottom: 60px;
    }
    .main_contents:not(.top_main_contents) .sec .content:not(:last-child){
        margin-bottom: 20px;
    }
    .main_contents:not(.top_main_contents) .sec .content:not(:last-child).middle{
        margin-bottom: 40px;
    }
    .main_contents:not(.top_main_contents) .sec .content:not(:last-child).large{
        margin-bottom: 60px;
    }
    .main_contents:not(.top_main_contents) .sec .txt_tit{
        margin-bottom: 5px;
    }
    .main_contents:not(.top_main_contents) .sec .num_list,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list,
    .main_contents:not(.top_main_contents) .sec .disc_list,
    .main_contents:not(.top_main_contents) .sec .txt_tit,
    .main_contents:not(.top_main_contents) .sec .par_txt,
    .main_contents:not(.top_main_contents) .sec .page_txt{
        font-size: 16px;
    }
    .main_contents:not(.top_main_contents) .sec .txt_annotation{
        font-size: 14px;
        text-indent: -14px;
        padding-left: 14px;
    }
    .main_contents:not(.top_main_contents) .sec .content_tit .tit{
        font-size: 20px;
        margin-bottom: 10px;
    }
    .main_contents:not(.top_main_contents) .sec .page_txt.txt_middle{
        font-size: 18px;
    }
    .main_contents:not(.top_main_contents) .sec .par_txt + .par_txt,
    .main_contents:not(.top_main_contents) .sec .num_list + .par_txt,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list + .par_txt,
    .main_contents:not(.top_main_contents) .sec .txt_annotation + .par_txt,
    .main_contents:not(.top_main_contents) .sec .disc_list + .par_txt{
        margin-top: 30px;
    }
    .main_contents:not(.top_main_contents) .sec .num_list:not(first-child),
    .main_contents:not(.top_main_contents) .sec .brackets_num_list:not(first-child),
    .main_contents:not(.top_main_contents) .sec .disc_list:not(first-child){
        margin-top: 15px;
    }
    .main_contents:not(.top_main_contents) .sec .txt_annotation:not(first-child){
        margin-top: 10px;
    }
    .main_contents:not(.top_main_contents) .sec .txt_catchphrase{
        font-size: 24px;
        margin-bottom: 30px;
    }
    .main_contents:not(.top_main_contents) .sec .txt_catchphrase.small{
        font-size: 18px;
    }
    .main_contents:not(.top_main_contents) .sec .img_area,
    .main_contents:not(.top_main_contents) .sec .btn_area{
        margin: 15px auto;
    }
    .main_contents:not(.top_main_contents) .sec .btn_area{
        max-width: 460px;
    }
    .main_contents:not(.top_main_contents) .sec .btn{
        width: 100%;
        max-width: 460px;
        min-height: 40px;
        border-radius: 20px;
        padding: 0 5px;
    }
    .main_contents:not(.top_main_contents) .sec .btn_area .btn:not(:first-child){
        margin-top: 15px;
    }
    .main_contents:not(.top_main_contents) .sec .btn.large_btn{
        max-width: 600px;
        min-height: 80px;
        border-radius: 40px;
        font-size: 32px;
    }
    .main_contents:not(.top_main_contents) .sec .btn.rectangle{
        border-radius: 0;
    }
    .main_contents:not(.top_main_contents) .sec .num_list >li,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list >li,
    .main_contents:not(.top_main_contents) .sec .disc_list{
        padding-left: 30px;
    }
    .main_contents:not(.top_main_contents) .sec .num_list >li:not(:first-child),
    .main_contents:not(.top_main_contents) .sec .brackets_num_list >li:not(:first-child){
        margin-top: 10px;
    }
    .main_contents:not(.top_main_contents) .sec .num_list >li >ol,
    .main_contents:not(.top_main_contents) .sec .num_list >li >ul,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list >li >ol,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list >li >ul{
        padding-left: 30px!important;
    }
    .main_contents:not(.top_main_contents) .sec .disc_list >li{
/*/        padding-left: -16px;
        text-indent: -16px;*/
    }
    .main_contents:not(.top_main_contents) .sec .indent_1{
        padding-left: 16px;
    }
    .box_content{
        padding: 20px;
    }
    .box_content + p{
        margin-top: 30px;
    }
}
@media screen and (max-width: 767.9px){
    .main_contents:not(.top_main_contents) .sec{
        padding-top: calc((30 / 320) * 100vw);
        padding-bottom: calc((30 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .content_sec:not(:last-child){
        margin-bottom: calc((50 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .content:not(:last-child){
        margin-bottom: calc((15 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .content:not(:last-child).middle{
        margin-bottom: calc((30 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .content:not(:last-child).large{
        margin-bottom: calc((45 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .txt_tit{
        margin-bottom: calc((5 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .num_list,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list,
    .main_contents:not(.top_main_contents) .sec .disc_list,
    .main_contents:not(.top_main_contents) .sec .txt_tit,
    .main_contents:not(.top_main_contents) .sec .par_txt,
    .main_contents:not(.top_main_contents) .sec .page_txt{
        font-size: calc((16 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .txt_annotation{
        font-size: calc((14 / 320) * 100vw);
        padding-left: calc((14 / 320) * 100vw);
        text-indent: calc((-14 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .content_tit .tit{
        font-size: calc((20 / 320) * 100vw);
        margin-bottom: calc((10 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .page_txt.txt_middle{
        font-size: calc((18 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .par_txt + .par_txt,
    .main_contents:not(.top_main_contents) .sec .num_list + .par_txt,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list + .par_txt,
    .main_contents:not(.top_main_contents) .sec .txt_annotation + .par_txt,
    .main_contents:not(.top_main_contents) .sec .disc_list + .par_txt{
        margin-top: calc((30 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .num_list:not(first-child),
    .main_contents:not(.top_main_contents) .sec .brackets_num_list:not(first-child),
    .main_contents:not(.top_main_contents) .sec .disc_list:not(first-child){
        margin-top: calc((15 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .txt_annotation:not(first-child){
        margin-top: calc((10 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .txt_catchphrase{
        font-size: calc((24 / 320) * 100vw);
        margin-bottom: calc((30 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .txt_catchphrase.small{
        font-size: calc((18 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .img_area,
    .main_contents:not(.top_main_contents) .sec .btn_area{
        margin: calc((10 / 320) * 100vw) auto;
    }
    .main_contents:not(.top_main_contents) .sec .btn{
        width: auto;
        min-width: calc((240 / 320) * 100vw);
        min-height: calc((30 / 320) * 100vw);
        border-radius: calc((15 / 320) * 100vw);
        padding: calc((3 / 320) * 100vw) calc((10 / 320) * 100vw);
        font-size: calc((14 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .btn.txt_small_sp{
        font-size: calc((12 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .btn_area .btn:not(:first-child){
        margin-top: calc((15 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .btn.large_btn{
        min-height: calc((40 / 320) * 100vw);
        border-radius: calc((20 / 320) * 100vw);
        font-size: calc((20 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .btn.rectangle{
        border-radius: 0;
    }
    .main_contents:not(.top_main_contents) .sec .num_list >li,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list >li,
    .main_contents:not(.top_main_contents) .sec .disc_list{
        padding-left: calc((30 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .num_list >li:not(:first-child),
    .main_contents:not(.top_main_contents) .sec .brackets_num_list >li:not(:first-child){
        margin-top: calc((10 / 320) * 100vw);
    }
    .main_contents:not(.top_main_contents) .sec .num_list >li >ol,
    .main_contents:not(.top_main_contents) .sec .num_list >li >ul,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list >li >ol,
    .main_contents:not(.top_main_contents) .sec .brackets_num_list >li >ul{
        padding-left: calc((30 / 320) * 100vw)!important;
    }
    .main_contents:not(.top_main_contents) .sec .indent_1{
        padding-left: calc((16 / 320) * 100vw);
    }
    .box_content{
        padding: calc((15 / 320) * 100vw);
    }
    .box_content + p{
        margin-top: calc((20 / 320) * 100vw);
    }
}

/*=========================================
 flow_content
 ==========================================*/
.flow_content .col{
    position: relative;
    text-align: center;
}
.flow_content .col:not(:last-child):after{
    position: absolute;
    content: "";
    display: block;
    background-image: url("../img/icon/arrow.svg");
    background-repeat: no-repeat;
    background-position: center center;
}
.flow_content .col .txt_area p{
    font-weight: bold;
    line-height: 1.2;
}
.flow_content .col .img_area{
    margin-top: 0;
}
.flow_content .col .img_area img{
    display: inline-block;
}
@media screen and (min-width: 768px){
    .flow_content{
        display: flex;
        justify-content: center;
    }
    .flow_content .col{
        width: calc((100% - (60px * 4)) / 5);
    }
    .flow_content .col:not(:last-child){
        margin-right: 60px;
    }
    .flow_content .col:not(:last-child):after{
        width: 30px;
        height: 30px;
        background-size: 30px;
        right: -45px;
        top: calc(50% - 15px);
    }
    .flow_content .col:not(:last-child).arrow_reverses:after {
        transform: scale(-1, 1);
    }
    .flow_content .col .txt_area p{
        font-size: 12px;
    }
    .flow_content .col .img_area img{
        width: 60%;
    }
    .flow_content + .par_txt{
        margin-top: 30px;
    }
}
@media screen and (max-width: 767.9px){
    .flow_content .col:not(:last-child){
        margin-bottom: calc((40 / 320) * 100vw);
    }
    .flow_content .col:not(:last-child):after{
        width: calc((20 / 320) * 100vw);
        height: calc((20 / 320) * 100vw);
        background-size: calc((20 / 320) * 100vw);
        bottom: calc((-30 / 320) * 100vw);
        left: calc(50% - ((10 / 320) * 100vw));
        transform: rotate(90deg);
    }
    .flow_content .col:not(:last-child).arrow_reverses:after {
        transform: rotate(-90deg);
    }
    .flow_content .col .txt_area p{
        font-size: calc((12 / 320) * 100vw);
    }
    .flow_content .col .img_area img{
        max-width: calc((60 / 320) * 100vw);
    }
    .flow_content + .par_txt{
        margin-top: calc((40 / 320) * 100vw);
    }
}

/*=========================================
 accordion
 ==========================================*/
.accordion_list dt,
.accordion_list dd{
    position: relative;
}
.accordion_list dt{
    font-weight: bold;
    cursor: pointer;
}
.accordion_list dt:after,
.accordion_list.qa_list dt:before,
.accordion_list.qa_list dd:before{
    position: absolute;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.accordion_list dt:after{
    position: absolute;
    content: "";
    background-image: url("../img/icon/select_arrow.svg");
    background-position: center center;
    background-repeat: no-repeat;
    left: 0;
}
.accordion_list dt:not(.selected):after{
    transform: rotate(-90deg);
}
.accordion_list.qa_list dt:before{
    content: "Q.";
}
.accordion_list.qa_list dd:before{
    content: "A.";
}
.accordion_list dd:not(:first-of-type) {
    display: none;
}
@media screen and (min-width: 768px){
    .accordion_list dt:not(:first-child){
        margin-top: 15px;
    }
    .accordion_list dt,
    .accordion_list dd{
        padding-left: 53px;
    }
    .accordion_list dt:after{
        width: 24px;
        height: 24px;
        background-size: 10px;
    }
    .accordion_list.qa_list dt:before,
    .accordion_list.qa_list dd:before{
        width: 24px;
        height: 24px;
        left: 24px;
    }
    .accordion_list.qa_list dd{
        margin-top: 5px;
    }
}
@media screen and (max-width: 767.9px){
    .accordion_list dt:not(:first-child){
        margin-top: calc((15 / 320) * 100vw);
    }
    .accordion_list dt,
    .accordion_list dd{
        padding-left: calc((53 / 320) * 100vw);
    }
    .accordion_list dt:after{
        width: calc((24 / 320) * 100vw);
        height: calc((24 / 320) * 100vw);
        background-size: calc((10 / 320) * 100vw);
    }
    .accordion_list.qa_list dt:before,
    .accordion_list.qa_list dd:before{
        width: calc((24 / 320) * 100vw);
        height: calc((24 / 320) * 100vw);
        left: calc((24 / 320) * 100vw);
    }
    .accordion_list.qa_list dd{
        margin-top: calc((5 / 320) * 100vw);
    }
}

/*=========================================
 fadein
 ==========================================*/
.fadein {
    opacity: 0;
    transform: translate(0, 0);
    transition: all 1.5s;
}
.fadein.left{
    transform: translate(-30px,0);
}
.fadein.right{
    transform: translate(30px,0);
}
.fadein.up{
    transform: translate(0,-30px);
}
.fadein.bottom{
    transform: translate(0,30px);
}
.fadein.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}
@media screen and (min-width: 768px){
    .fadein.pc_left{
        transform: translate(-30px,0);
    }
    .fadein.pc_right{
        transform: translate(30px,0);
    }
    .fadein.pc_up{
        transform: translate(0,-30px);
    }
    .fadein.pc_bottom{
        transform: translate(0,30px);
    }
}
@media screen and (max-width: 767.9px){
    .fadein.sp_left{
        transform: translate(-30px,0);
    }
    .fadein.sp_right{
        transform: translate(30px,0);
    }
    .fadein.sp_up{
        transform: translate(0,-30px);
    }
    .fadein.sp_bottom{
        transform: translate(0,30px);
    }
}

/*=========================================
 GMO Group campaign banner
 ==========================================*/
.group_campaign_bnrs {
    padding: 20px 10px 0 10px;
    background-color: #F4F4F4;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.campaign_bnr {
    margin-left: 20px;
    padding-bottom: 20px;
}
/*=========================================
 fixed header setting
 I have written the settings on other lines. Please search for "From here down is fixed header setting".
 ==========================================*/
main {
    margin-top: calc(29px + 96px + 21px);

}
main.top_main_contents {
    margin-top: calc(29px + 96px + 50px + 160px);
}
@media screen and (max-width: 939.9px) {
    main, main.top_main_contents {
        margin-top: 0;
    }
}
main.lp_main_contents,
main.lp-main-contents {
    margin-top: 0;
}
/*=========================================
 /trademarkservice/
 ==========================================*/
#trademarkservice img {
    max-width: 75%;
}
@media screen and (max-width: 599px){
    #trademarkservice img {
        max-width: 100%;
    }
}

/*=========================================
 /cookie_banner/
 ==========================================*/
#cookie-consent {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    font-size: 12px;
    color: rgb(255,255,255);
    background-color: rgba(0,0,0,0.7);
    padding: 20px 280px 20px 20px;
    box-sizing: border-box;
    visibility: hidden;
    z-index: 9998;
}

#cookie-consent.is-show {
    visibility: visible;
}

#cookie-consent .cookie-agree, #cookie-consent .cookie-reject {
    color: #fff;
    background: #21BBFF;
    padding: .5em 1.5em;
    margin-left: 20px;
}
#cookie-consent .cookie-agree:hover, #cookie-consent .cookie-reject:hover {
    cursor: pointer;
}

#cookie-consent.cc-hide {
    display: none;
}

@keyframes hide {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        visibility: hidden;
    }
}

#cookie-consent .cookie-text .policy-link a {
    text-decoration: underline;
    color:inherit;
}

#cookie-consent .cookie-reject {
    color: rgb(0,0,0);
    background: rgb(255,255,255);
    white-space: nowrap;
}

#cookie-consent .cookie-agree {
    white-space: nowrap;
}


#cookie-consent .cookie-contents {
    display: flex;
    justify-content: center;
    align-items: center;
}

#cookie-consent .cookie-text {
    line-height: 1.8;
    letter-spacing: 0.98px;
}

#cookie-consent .close-icon {
    display: block;
    position: relative;
    width: 20px;
    height: 20px;
}

#cookie-consent .cookie-close.cookie-button {
    width: 20px;
    padding: 0;
}

#cookie-consent .close-icon::before, #cookie-consent .close-icon::after {
    cursor: pointer;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 20px;
    background: rgb(255,255,255);
}

#cookie-consent .close-icon::before {
    transform: translate(-50%,-50%) rotate(45deg);
}

#cookie-consent .close-icon::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}

#cookie-consent .cookie-button {
    padding: .5em 1.5em;
    margin-left: 20px;
}
@media only screen and (max-width: 980px) {
    #cookie-consent .cookie-button {
        display: inline;
    }

    #cookie-consent .cookie-contents {
        display: block !important;
        margin-bottom: 2em;
        text-align: center;
    }

    #cookie-consent .cookie-text {
        margin-bottom: 3em;
        text-align: left;
    }
}
@media only screen and (max-width: 619px) {
    #cookie-consent {
        bottom: auto;
        top: 0;
        left: 0;
        z-index: 99999991;
        padding-right: 20px;
        background-color: rgba(0, 0, 0, 0.8);
    }
}
/*=========================================
 /flating window banner/
 ==========================================*/
 @media only screen and (max-width: 768px) {
    .gmoGroupHeader {
    z-index: 9990 !important;
     }
}
 .floating-banner {
	position: fixed;
	margin: 15px 20px 0 20px;
    z-index: 9999;
    bottom: 0;
	right: 0;
}
.floating-banner a {
	text-decoration: none;
    display: block;
}
.floating-banner a:hover {
    cursor: pointer;
}
.floating-banner-icon {
	color: #f8f8f8;
	font-size: 40px;
}

.floating-banner-back {
	width: 240px;
	height: 209px;
}
.floating-banner-back img {
	width: 240px;
	height: 209px;
}
.floating-banner-close {
	font-weight: bold;
	position: absolute;
	top: -14px;
	right: -10px;
	z-index: 99999;
	padding: 2px 8px;
	border: none;
	background-color: #f8f8f8;
	border-radius: 25px;
	border: 1px solid #DDD;
	cursor: pointer;
}
/*=========================================
 /For an English page that only has a Japanese service logo/
 ==========================================*/
 .en_service_name {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo UI", sans-serif;
    font-size: 52px;
    font-weight: 200;
 }
 .en_service_domaindoctor {
    margin-top: 28px;
 }
