@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600&display=swap');

/* *****************************************************************************
=01 reset style
=02 option style
=03 common style
=04 layout style
***************************************************************************** */
/*---------- =01 reset style ----------*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote::before, blockquote::after,
q::before, q::after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/*---------- //end reset style ----------*/

/*---------- =02 option style ----------*/
.tal{text-align:left!important;}
.tac{text-align:center!important;}
.tar{text-align:right!important;}
.mbNone{margin-bottom:0!important;}
.mbShort{margin-bottom:1em!important;}
.mbMiddle{margin-bottom:2em!important;}
.mbLong{margin-bottom:3em!important;}
.bold{font-weight:bold;}
.red{color:#db0000;}
.blue{color: #;}
.cf{zoom:1;}
.cf:before,.cf:after{content:"";display:table;}
.cf:after{clear:both;}
/*---------- //end option style ----------*/

/*---------- =03 common style ----------*/
*{
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
html{
	font-size: 62.5%;
}
body{
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    line-height: 2;
    color: #000000;
    font-size: 1.6rem;
    letter-spacing: 0;
    margin-top: 90px;
    background-color: #ffffff;
}
a{
    color: #000000;
	text-decoration: none;
}
a:hover,
a:active{
	text-decoration: none;
}
img{
    height: auto;
}
img,a img{
	vertical-align: bottom;
	border: none;
}
b,
strong,
.bold{
	font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
}
::selection{
	background-color: #000000;
	color: #ffffff;
}
::-moz-selection {
	background-color: #000000;
	color: #ffffff;
}
.en{
    font-family: 'Poppins', sans-serif;
}

/* IE */
_:lang(x)::-ms-backdrop, .selector {
	font-family: "Segoe UI", Meiryo, sans-serif;
}

@media print, screen and (max-width: 1060px){
    body{
        margin-top: 76px;
    }
}

@media print, screen and (max-width: 760px){
    body{
        margin-top: 60px;
    }
}

/*---------- //end common style ----------*/

/*---------- =04 layout style ----------*/
/*========================================
header layout
========================================*/
/* site-header */
.site-header{
    width: 100%;
    height: 90px;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #ffffff;
    z-index: 100;
    box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, 0.05);
}
.site-header > .inner{
    width: 100%;
    padding-left: 50px;
    padding-right: 50px;
    height: 90px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media print, screen and (max-width: 1680px){
    /* site-header */
    .site-header > .inner{
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media print, screen and (max-width: 1060px){
    /* site-header */
    .site-header{
        height: 76px;
    }
    .site-header > .inner{
        height: 76px;
        padding-left: 15px;
        padding-right: 0;
    }
}

@media print, screen and (max-width: 760px){
    /* site-header */
    .site-header{
        height: 60px;
    }
    .site-header > .inner{
        height: 60px;
        padding-left: 10px;
    }
}

/* site-logo */
.site-logo{
    width: 254px;
}
.site-logo > a{
    display: inline-block;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.site-logo > a:hover{
    opacity: 0.75;
}
.site-logo > a > img{
    width: 100%;
}

@media print, screen and (max-width: 1060px){
    /* site-logo */
    .site-logo{
        width: 240px;
    }
}

@media print, screen and (max-width: 760px){
    /* site-logo */
    .site-logo{
        width: 200px;
    }
    .site-logo > a:hover{
        opacity: 1;
    }
}

/* header-primary */
.header-primary{
    flex: 1;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    margin-left: 20px;
}

/* 6項目時：max-width: 1340px */
@media print, screen and (max-width: 1560px){
    /* header-primary */
    .header-primary{
        display: block;
        margin-left: 20px;
    }
}

@media print, screen and (max-width: 1060px){
    /* header-primary */
    .header-primary{
        display: none;
    }
}

@media print, screen and (max-width: 760px){
    /* header-primary */
    .header-primary{
    }
}

/* header-side-navigation */
.header-side-navigation{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-left: 34px;
}

@media print, screen and (max-width: 1680px){
    /* header-side-navigation */
    .header-side-navigation{
        margin-left: 25px;
    }
}

/* language-nav */
.language-nav{
    letter-spacing: -.4em;
}
.language-nav > li{
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.4rem;
    white-space: nowrap;
    line-height: 1em;
}
.language-nav > li:nth-child(1){
    padding-right: 11px;
}
.language-nav > li:nth-child(2){
    border-left: 1px solid #cccccc;
    padding-left: 11px;
}
.language-nav > li > a{
    color: #cccccc;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.language-nav > li > a:hover{
    color: #0074c1;
}

@media print, screen and (max-width: 1680px){
    /* language-nav */
    .language-nav > li{
        font-size: 1.3rem;
    }
    .language-nav > li:nth-child(1){
        padding-right: 8px;
    }
    .language-nav > li:nth-child(2){
        padding-left: 8px;
    }
}

/* header-button */
.header-button-area{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: 32px;
}
.header-button{
    margin-left: 15px;
    font-size: 1.2rem;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
}
.header-button:nth-child(1){
    margin-left: 0;
}
.header-button > a{
    display: inline-block;
    color: #ffffff;
    /*width: 160px;*/
    line-height: 32px;
    text-align: center;
    border-radius: 16px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    position: relative;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow;
}
.header-button > a:hover{
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.45);
}
.header-button > a::after{
    border-radius: 16px;
}
.header-button > a:hover::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    display: block;
}
.header-button-download > a{
    background-color: #0074c1;
    width: 240px;
}
.header-button-download > a:hover{
    background-color: #ffffff;
    color: #0074c1;
}
.header-button-download > a:hover::after{
    border: 2px solid #0074c1;
}
.header-button-contact > a{
    background-color: #fbb03b;
    width: 160px;
}
.header-button-contact > a:hover{
    background-color: #ffffff;
    color: #fbb03b;
}
.header-button-contact >  a:hover::after{
    border: 2px solid #fbb03b;
}

@media print, screen and (max-width: 1680px){
    /* header-button */
    .header-button-area{
        margin-left: 25px;
    }
    .header-button{
        margin-left: 10px;
    }
    /*
    .header-button > a{
        width: 140px;
    }
    */
    .header-button-contact > a{
        width: 140px;
    }
}

/* 6項目時：max-width: 1340px */
@media print, screen and (max-width: 1560px){
    /* header-button */
    .header-button{
        font-size: 1.1rem;
        margin-left: 15px;
    }
    .header-button > a{
        line-height: 26px;
        border-radius: 13px;
    }
    .header-button > a::after{
        border-radius: 13px;
    }
}

/* site-global-nav */
.site-global-nav{
    letter-spacing: -.4em;
    line-height: 1em;
}
.site-global-nav > li{
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.4rem;
    white-space: nowrap;
    margin-left: 28px;
}
.site-global-nav > li:nth-child(1){
    margin-left: 0;    
}
.site-global-nav-window{
    padding-right: 18px;
    background: url(/assets/images/icon-window-blue.svg) right center no-repeat;
    background-size: 12px auto;
}
.site-global-nav-security{
    padding-right: 18px;
    background: url(/assets/images/icon-security-blue.svg) right top -1px no-repeat;
    background-size: 12px auto;
}
.site-global-nav > li > a{
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    position: relative;
}
.site-global-nav > li > a:hover{
    color: #0074c1;
}
.site-global-nav > li > a::after{
    content: "";
    display: block;
    height: 2px;
    width: 100%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0;
    transition-delay: 0;
    background: #0074c1;
    position: absolute;
    left: 0;
    bottom: -8px;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}
.site-global-nav > li > a:hover::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}
.site-global-nav > li.company > a,
.site-global-nav > li.service > a{
    padding-right: 18px;
    background: url(/assets/images/arrow-megamenu.svg) right center no-repeat;
    background-size: 10px auto;
}
.site-global-nav > li > a.nav-on{
    color: #0074c1;  
}

@media print, screen and (max-width: 1680px){
    /* site-global-nav */
    .site-global-nav > li{
        margin-left: 25px;
    }
}

/* 6項目時：max-width: 1340px */
@media print, screen and (max-width: 1560px){
    /* site-global-nav */
    .site-global-nav-area{
        margin-top: 9px;
    }
    .site-global-nav{
        text-align: right;
    }
    .site-global-nav > li > a::after{
        bottom: -4px;
    }
}

/* hamburger-button */
.hamburger-button{
    display: none;
}

@media screen and (max-width: 1060px){
    /* hamburger-button */
    .hamburger-button{
        display: block;
        position: absolute;
        width: 76px;
        height: 76px;
        cursor: pointer;
        top: 0;
        right: 0;
        z-index: 101;
    }
    .hamburger-button > div{
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        position: absolute;
        top: 29px;
        left: 24px;
        width: 27px;
        height: 18px;
    }
    .hamburger-button > div > span{
        display: block;
        height: 2px;
        position: absolute;
        background-color: #000000;
        width: 27px;
    }
    .hamburger-button > div > span:nth-child(1){
        -webkit-transform: rotate(0);
        transform: rotate(0);
        -webkit-transform-origin: left top;
        transform-origin: left top;
        top: 0;
        width: 27px;
    }
    .hamburger-button > div > span:nth-child(2){
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        top: 8px;
        width: 27px;
    }
    .hamburger-button > div > span:nth-child(3){
        -webkit-transform-origin: right bottom;
        transform-origin: right bottom;
        top: 16px;
        width: 27px;
    }
    .hamburger-button.is-open > div{
        transform: rotate(90deg);
    }
    .hamburger-button.is-open > div > span:nth-child(1){
        -webkit-transform: translateY(20px) rotate(-45deg);
        transform: translateY(20px) rotate(-45deg);
        top: -2px;
        left: 2px;
        width: 27px;
    }
    .hamburger-button.is-open > div > span:nth-child(2){
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
        top: -2px;
        left: 2px;
        width: 27px;
    }
    .hamburger-button.is-open > div > span:nth-child(3){
        opacity: 0;
    }
}

@media print, screen and (max-width: 760px){
    /* hamburger-button */
    .hamburger-button{
        width: 60px;
        height: 60px;
    }
    .hamburger-button > div{
        top: 21px;
        left: 16px;
    }
}

/* hamburger-nav */
.hamburger-nav{
    display: none;
}

@media screen and (max-width: 1060px){
    /* hamburger-nav */
    .hamburger-nav{
        background: rgba(255,255,255,0.98);
        display: block;
        height: 100%;
        opacity: 0;
        overflow: auto;
        padding-top: 100px;
        padding-left: 60px;
        padding-right: 60px;
        padding-bottom: 60px;
        position: fixed;
        top: 0;
        left: 0;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        visibility: hidden;
        width: 100%;
        -webkit-overflow-scrolling: touch;
    }
    .hamburger-nav.is-show{
        opacity: 1;
        top: 0;
        visibility: visible;
    }
    .hamburger-nav-main > li{
        border-bottom: 1px solid #eeeeee;
        font-size: 1.8rem;
        line-height: 1em;
    }
    .hamburger-nav-main > li:nth-child(1){
        border-top: 1px solid #eeeeee;
    }
    .hamburger-nav-main > li > a{
        background: url(/assets/images/arrow-blue.svg) right 10px center no-repeat;
        background-size: 20px auto;
        display: block;
        padding: 25px 5px;
    }
    .hamburger-nav-window{
        display: inline-block;
        padding-right: 32px;
        background: url(/assets/images/icon-window-blue.svg) right center no-repeat;
        background-size: 15px auto;
    }
    .hamburger-nav-security{
        display: inline-block;
        padding-right: 32px;
        background: url(/assets/images/icon-security-blue.svg) right center no-repeat;
        background-size: 15px auto;
    }
}

@media screen and (max-width: 760px){
    /* hamburger-nav */
    .hamburger-nav{
        padding-top: 60px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
    }
    .hamburger-nav-main > li{
        font-size: 1.6rem;
    }
    .hamburger-nav-main > li > a{
        background: url(/assets/images/arrow-blue.svg) right 5px center no-repeat;
        background-size: 18px auto;
        padding-top: 22px;
        padding-bottom: 22px;
    }
    .hamburger-nav-window{
        padding-right: 28px;
        background: url(/assets/images/icon-window-blue.svg) right center no-repeat;
        background-size: 14px auto;
    }
    .hamburger-nav-security{
        padding-right: 28px;
        background: url(/assets/images/icon-security-blue.svg) right center no-repeat;
        background-size: 14px auto;
    }
}

/* language-nav-sp */
.language-nav-sp{
    letter-spacing: -.4em;
    text-align: center;
    margin-top: 40px;
}
.language-nav-sp > li{
    display: inline-block;
    letter-spacing: normal;
    font-size: 1.8rem;
    white-space: nowrap;
    line-height: 1em;
}
.language-nav-sp > li:nth-child(1){
    padding-right: 20px;
}
.language-nav-sp > li:nth-child(2){
    border-left: 1px solid #cccccc;
    padding-left: 20px;
}
.language-nav-sp > li > a{
    color: #cccccc;
}

@media screen and (max-width: 760px){
    /* language-nav-sp */
    .language-nav-sp{
        margin-top: 15px;
    }
    .language-nav-sp > li{
        font-size: 1.6rem;
    }
    .language-nav-sp > li:nth-child(1){
        padding-right: 18px;
    }
    .language-nav-sp > li:nth-child(2){
        padding-left: 18px;
    }
}

/* header-button-sp */
.header-button-area-sp{
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*margin-top: 40px;*/
    margin-top: 60px;
}
.header-button-sp{
    width: 50%;
    font-size: 1.6rem;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
}
.header-button-sp:nth-child(1){
    padding-right: 20px;
}
.header-button-sp:nth-child(2){
    padding-left: 20px;
}
.header-button-sp > a{
    width: 100%;
    display: inline-block;
    color: #ffffff;
    line-height: 50px;
    text-align: center;
    border-radius: 25px;
    position: relative;
}
.header-button-download-sp > a{
    background-color: #0074c1;
}
.header-button-contact-sp > a{
    background-color: #fbb03b;
}

@media screen and (max-width: 900px){
    /* language-nav-sp */
    .header-button-area-sp{
        display: block;
    }
    .header-button-sp{
        width: 100%;
    }
    .header-button-sp:nth-child(1){
        padding-right: 0;
    }
    .header-button-sp:nth-child(2){
        margin-top: 20px;
        padding-left: 0;
    }
}

@media screen and (max-width: 760px){
    /* language-nav-sp */
    .header-button-area-sp{
        /*margin-top: 15px;*/
        margin-top: 20px;        
    }
    .header-button-sp{
        font-size: 1.4rem;
    }
    /*
    .header-button-sp:nth-child(1){
        padding-right: 5px;
    }
    */
    .header-button-sp:nth-child(2){
        margin-top: 10px;
        /*padding-left: 5px;*/
    }
    .header-button-sp > a{
        line-height: 44px;
        border-radius: 22px;
    }
}

/* megamenu */
.megamenu-area{
    position: absolute;
    top: 90px;
    left: 0;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    -webkit-transform: translateY(-90px);
    transform: translateY(-90px);
    visibility: hidden;
    z-index: 10;
    opacity: 0;
    width: 100%;
}
.megamenu-area.is-select{
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}
.megamenu-area-inner{
    background-color: #eff6fc;
    padding: 40px 35px;
    box-shadow: 0 0.2rem 0.2rem rgb(0 0 0 / 5%);
}
.megamenu-main{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.megamenu-list{
    display: flex;
    justify-content: center;
}
.megamenu-list-box{
    width: 20%;
    position: relative;
    margin-left: 15px;
    margin-right: 15px;
}
.megamenu-list-img{
    overflow: hidden;
    width: 100%;
}
.megamenu-list-img > img{
    width: 100%;
    display: block;
    -ms-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
}
a:hover > .megamenu-list-img > img{
    -ms-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -ms-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
}
.megamenu-pagename{
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1;
    margin-top: 18px;
}
.megamenu-pagename > span{
    display: inline-block;
    background: url(/assets/images/arrow-blue.svg) right center no-repeat;
    background-size: 18px auto;
    padding-right: 32px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
a:hover > .megamenu-pagename > span{
    color: #0074c1;
}

@media screen and (max-width: 1400px){
    /* megamenu */
    .megamenu-area-inner{
        padding-left: 30px;
        padding-right: 30px;
    }
    .megamenu-list-box{
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media screen and (max-width: 1320px){
    /* megamenu */
    .megamenu-pagename{
        margin-top: 7%;
        font-size: 1.4vw;
    }
    .megamenu-pagename > span{
        background: url(/assets/images/arrow-blue.svg) right center no-repeat;
        background-size: 1.4vw auto;
        padding-right: 2.4vw;
    }
}

@media screen and (max-width: 1060px){
    /* megamenu */
    .megamenu{
        display: none;
    }
}

/* accordion-button */
.accordion-button{
    width: 100%;
    font-size: 1.8rem;
    line-height: 1em;
    cursor: pointer;
    display: block;
    position: relative;
}
.accordion-button > span{
    display: block;
    position: relative;
    padding: 25px 5px;
}
.accordion-button > span::before,
.accordion-button > span::after{
    content: '';
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 5px;
    background: #0074c1;
    position: absolute;
    right: 11px;
    top: 50%;
    transform: translateY(-50%);
}
.accordion-button span::after{
    background: #0074c1;
    transform: translateY(-50%) rotate(90deg);
    transition: 0.5s;
}
.accordion-button span.accordion-active::after{
    transform: rotate(0);
    transition: 0.5s;
    opacity: 0;
}

@media print, screen and (max-width: 760px){
    /* accordion-button */
    .accordion-button{
        font-size: 1.6rem;
        padding-top: 20px 0 20px 5px;
    }
    .accordion-button > span{
        display: block;
        position: relative;
        padding-top: 22px;
        padding-bottom: 22px;
    }
    .accordion-button > span::before,
    .accordion-button > span::after{
        width: 16px;
        right: 6px;
    }
}

/* accordion-box */ 
.accordion-box{
    background-color: #f9f9f9;
}
.accordion-list > li{
    border-top: 1px solid #ebebeb;
}
.accordion-list > li > a{
    background: url(/assets/images/arrow-blue.svg) right 20px center no-repeat;
    background-size: 18px auto;
    display: block;
    padding: 22px 20px;
    font-size: 1.6rem;
    line-height: 1;
}

@media print, screen and (max-width: 760px){
    /* accordion-box */ 
    .accordion-list > li > a{
        font-size: 1.4rem;
        padding-top: 20px;
        padding-bottom: 20px;
        background: url(/assets/images/arrow-blue.svg) right 20px center no-repeat;
        background-size: 16px auto;
    }
}

/*========================================
contents layout
========================================*/
/* contents */
.contents-space{
    margin-top: 80px;
}

@media print, screen and (max-width: 760px){
    /* contents */
    .contents-space{
        margin-top: 50px;
    }
}

/* pagelink-point */
.pagelink-point{
    margin-top: -90px;
    padding-top: 90px;
}

@media print, screen and (max-width: 1060px){
    /* pagelink-point */
    .pagelink-point{
        margin-top: -76px;
        padding-top: 76px;
    }
}

@media print, screen and (max-width: 760px){
    /* pagelink-point */
    .pagelink-point{
        margin-top: -60px;
        padding-top: 60px;
    }
}

/* note */
.note{
    margin-left: 1em;
    display: block;
}
.note::before{
  content: '※';
  margin-left: -1em;
}

/* space */
.space-top{
    margin-top: 2em!important;
}
.space-bottom{
    margin-bottom: 2em!important;
}

@media print, screen and (max-width: 760px){
    /* space */
    .space-top{
        margin-top: 1.5em!important;
    }
    .space-bottom{
        margin-bottom: 1.5em!important;
    }
}

/* text-red */
.text-red{
    color: #e81d24;
}

/* breadcrumb-list */
.breadcrumb-list{
    padding: 12px 40px;
}
.breadcrumb-list > ul{
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: -.4em;
    line-height: 1;
}
.breadcrumb-list > ul > li{
    display: inline-block;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: normal;
    padding-left: 40px;
    background: url(/assets/images/arrow-breadcrumb-list.svg) 16px center no-repeat;
    background-size: 5px auto;
    font-size: 1.3rem;
}
.breadcrumb-list > ul > li:nth-child(1){
    padding-left: 0;
    background-image: none;
}
.breadcrumb-list > ul > li > a{
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.breadcrumb-list > ul > li > a:hover{
    color: #0074c1;
}

@media screen and (max-width: 760px){
    /* breadcrumb-list */
    .breadcrumb-list{
        padding: 10px 20px;
    }
    .breadcrumb-list > ul > li{
        font-size: 1rem;
        padding-left: 20px;
        background: url(/assets/images/arrow-breadcrumb-list.svg) 7px center no-repeat;
        background-size: 4px auto;
    }
    .breadcrumb-list > ul > li > a:hover{
        color: #000000;
    }
}

/* page-title */
.page-title{
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
    height: 300px;
    position: relative;
}
.page-title::after{
    content: "";
    width: 66.25%;
    height: 300px;
    position: absolute;
    top: 0;
    right: 0;
}
.page-title-inner{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    height: 300px;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}
.page-title-en{
    font-size: 2rem;
    line-height: 1;
    color: #0074c1;
    margin-bottom: 6px;
    white-space: nowrap
}
.page-title-en > span{
    display: inline-block;
    background-color: #ffffff;
    padding-top: 8px;
    padding-right: 12px;
    padding-bottom: 8px;
}
.page-title-primary{
    font-size: 4.5rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    white-space: nowrap
}
.page-title-primary > span{
    display: inline-block;
    background-color: #ffffff;
    padding-top: 8px;
    padding-right: 12px;
    padding-bottom: 8px;
}

@media screen and (max-width: 760px){
    /* page-title */
    .page-title{
        padding-left: 20px;
        padding-right: 20px;
        height: 280px;
    }
    .page-title::after{
        height: 280px;
    }
    .page-title-inner{
        height: 280px;
    }
    .page-title-en{
        font-size: 1.8rem;
    }
    .page-title-en > span{
        padding-top: 6px;
        padding-right: 10px;
        padding-bottom: 6px;
    }
    .page-title-primary{
        font-size: 4rem;
    }
    .page-title-primary > span{
        display: inline-block;
        padding-top: 6px;
        padding-right: 10px;
        padding-bottom: 6px;
    }
}

@media screen and (max-width: 480px){
    /* page-title */
    .page-title{
        height: 260px;
    }
    .page-title::after{
        width: 100%;
        height: 260px;
    }
    .page-title-inner{
        justify-content: center;
        height: 260px;
    }
    .page-title-inner > div{
        text-align: center;
    }
    .page-title-en{
        font-size: 1.6rem;
    }
    .page-title-en > span{
        padding-left: 10px;
    }
    .page-title-primary{
        font-size: 2.8rem;
    }
    .page-title-primary > span{
        padding-left: 10px;
    }
}

/* page-title-cover */
.page-title-cover{
    width: 100%;
    height: 500px;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
.page-title-cover > .inner{
    text-align: center;
}
.page-title-cover-primary{
    line-height: 1;
    font-size: 4.5rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.page-title-cover-en{
    line-height: 1;
    font-size: 2.8rem;
    margin-top: 25px;
}

@media screen and (max-width: 1000px){
    /* page-title-cover */
    .page-title-cover{
        height: 400px;
    }
    .page-title-cover-primary{
        font-size: 4.1rem;
    }
    .page-title-cover-en{
        font-size: 2.5rem;
        margin-top: 22px;
    }
}

@media screen and (max-width: 760px){
    /* page-title-cover */
    .page-title-cover{
        height: 300px;
    }
    .page-title-cover-primary{
        font-size: 3.4rem;
    }
    .page-title-cover-en{
        font-size: 2.1rem;
        margin-top: 18px;
    }
}

/* page-title-gray */
.page-title-gray{
    width: 100%;
    padding-left: 60px;
    padding-right: 60px;
    height: 300px;
    position: relative;
    background-color: #eff6fc;
}
.page-title-gray-inner{
    max-width: 960px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: 300px;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}
.page-title-gray-inner > div{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row-reverse;
    width: 100%;
}
.page-title-gray-en{
    font-size: 2rem;
    line-height: 1;
    color: #0074c1;
    white-space: nowrap;
    padding-left: 35px;
}
.page-title-gray-primary{
    font-size: 4.5rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    white-space: nowrap
}

@media screen and (max-width: 1000px){
    /* page-title-gray */
    .page-title-gray{
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media screen and (max-width: 760px){
    /* page-title-gray */
    .page-title-gray{
        padding-left: 20px;
        padding-right: 20px;
        height: 280px;
    }
    .page-title-gray-inner{
        height: 280px;
    }
    .page-title-gray-inner > div{
        display: block;
        text-align: center;
    }
    .page-title-gray-en{
        font-size: 1.8rem;
        padding-left: 0;
        margin-bottom: 18px;
    }
    .page-title-gray-primary{
        font-size: 4rem;
    }
}

@media screen and (max-width: 480px){
    /* page-title-gray */
    .page-title-gray{
        height: 260px;
    }
    .page-title-gray-inner{
        height: 260px;
    }
    .page-title-gray-en{
        font-size: 1.6rem;
    }
    .page-title-gray-primary{
        font-size: 2.8rem;
    }
}

/* box-area */
.box-area{
    padding-top: 120px;
}

@media screen and (max-width: 760px){
    /* box-area */
    .box-area{
        padding-top: 60px;
    }
}

/* text-link */
.text-link{
    font-size: 1.6rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.75;
}
.text-link > a{
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    background: #ffffff url(/assets/images/arrow-circle-blue.svg) right center no-repeat;
    background-size: 16px auto;
    display: inline-block;
    padding-right: 34px;
}
.text-link > a:hover{
    color: #0074c1;
}

@media screen and (max-width: 760px){
    /* text-link */
    .text-link{
        font-size: 1.5rem;
    }
    .text-link > a{
        background: #ffffff url(/assets/images/arrow-circle-blue.svg) right center no-repeat;
        background-size: 15px auto;
        padding-right: 28px;
    }
    .text-link > a:hover{
        color: #000000;
    }
}

/* text-link-back */
.text-link-back{
    font-size: 1.6rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.75;
}
.text-link-back > a{
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    background: #ffffff url(/assets/images/arrow-circle-blue-back.svg) left center no-repeat;
    background-size: 16px auto;
    display: inline-block;
    padding-left: 34px;
}
.text-link-back > a:hover{
    color: #0074c1;
}

@media screen and (max-width: 760px){
    /* text-link-back */
    .text-link-back{
        font-size: 1.5rem;
    }
    .text-link-back > a{
        background: #ffffff url(/assets/images/arrow-circle-blue-back.svg) left center no-repeat;
        background-size: 15px auto;
        padding-left: 28px;
    }
    .text-link-back > a:hover{
        color: #000000;
    }
}

/* text-button */
.text-button{
    font-size: 1.6rem;
    line-height: 1.6;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
}
.text-button > a{
    display: inline-block;
    color: #ffffff;
    padding: 16px 56px 16px 20px;
    background: #0074c1 url(/assets/images/arrow-circle-white.svg) right 20px center no-repeat;
    background-size: 16px auto;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    position: relative;
}
.text-button > a:hover{
    color: #0074c1;
    background: #ffffff url(/assets/images/arrow-circle-blue.svg) right 20px center no-repeat;
    background-size: 16px auto;
}
.text-button > a:hover::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    display: block;
    border: 2px solid #0074c1;
}

@media screen and (max-width: 760px){
    /* text-button */
    .text-button{
        font-size: 1.4rem;
    }
    .text-button > a,
    .text-button > a:hover{
        color: #ffffff;
        padding: 15px 50px 15px 15px;
        background: #0074c1 url(/assets/images/arrow-circle-white.svg) right 15px center no-repeat;
        background-size: 15px auto;
    }
}

/* page-link-nav */
.page-link-nav{
    margin-top: 65px;
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 60px;
}
.page-link-nav.page-link-nav-shorten{
    margin-top: 0;
}
.page-link-nav > ul{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1;
    letter-spacing: -.4em;
}
.page-link-nav > ul > li{
    display: inline-block;
    font-size: 1.6rem;
    letter-spacing: normal;
    margin-right: 30px;
    margin-bottom: 20px;
}
.page-link-nav > ul > li:last-child{
    margin-right: 0;
}
.page-link-nav > ul > li > a{
    display: inline-block;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    color: #0074c1;
    background: url(/assets/images/arrow-page-link.svg) right center no-repeat;
    background-size: 11px auto;
    padding-right: 19px;
}
.page-link-nav > ul > li > a > span{
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    position: relative;
}
.page-link-nav > ul > li > a > span::after{
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0;
    transition-delay: 0;
    background: #0074c1;
    position: absolute;
    left: 0;
    bottom: -5px;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}
.page-link-nav > ul > li > a:hover > span::after{
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

@media screen and (max-width: 1000px){
    /* page-link-nav */
    .page-link-nav{
        margin-top: 60px;
        padding-left: 40px;
        padding-right: 40px;
        padding-bottom: 40px;
    }
}

@media screen and (max-width: 760px){
    /* page-link-nav */
    .page-link-nav{
        margin-top: 50px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 40px;
    }
    .page-link-nav > ul > li{
        font-size: 1.5rem;
        margin-bottom: 10px;
    }
    .page-link-nav > ul > li > a{
        background: url(/assets/images/arrow-page-link.svg) right center no-repeat;
        background-size: 10px auto;
    }
    .page-link-nav > ul > li > a:hover > span::after{
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transform-origin: right top;
        transform-origin: right top
    }
}

/* basic-box */
.basic-box{
    padding-left: 60px;
    padding-right: 60px;
}
.basic-box-space{
    margin-bottom: 100px;
}
.basic-box > .inner{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 1000px){
    /* basic-box */
    .basic-box{
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media screen and (max-width: 760px){
    /* basic-box */
    .basic-box{
        padding-left: 20px;
        padding-right: 20px;
    }
    .basic-box-space{
        margin-bottom: 50px;
    }
}

/* basic-section */
.basic-section{
    margin-top: 50px;
    margin-bottom: 80px;
}
.basic-section-box{
    margin-top: 60px;
}
.basic-section-box:nth-child(1){
    margin-top: 0;
}

@media screen and (max-width: 760px){
    /* basic-section */
    .basic-section{
        margin-top: 35px;
        margin-bottom: 50px;
    }
    .basic-section-box{
        margin-top: 50px;
    }
}

/* basic-intro */
.basic-intro{
    padding: 60px;
}
.basic-intro > .inner{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 1000px){
    /* basic-intro */
    .basic-intro{
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media screen and (max-width: 760px){
    /* basic-intro */
    .basic-intro{
        padding: 40px 20px;
    }
}

/* basic-two-column */
.basic-two-column{
    display: flex;
    justify-content: space-between;
}
.basic-two-column-wrap-zigzag > .basic-two-column:nth-child(even){
    flex-direction: row-reverse;
}
.basic-two-column-inner{
    display: flex;
    justify-content: space-between;
}
.basic-two-column-wrap-zigzag > .basic-two-column:nth-child(even) > .basic-two-column-inner{
    flex-direction: row-reverse;
}
.basic-two-column-primary{
    width: 56.25%;
}
.basic-two-column-img{
    width: 38.75%;
}
.basic-two-column-img > div{
    margin-top: 20px;
}
.basic-two-column-img > img,
.basic-two-column-img > div > img{
    width: 100%;
}
.basic-two-column-text{
    margin-top: 22px;
}
.basic-two-column-text > P{
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 1.5em;
}
.basic-two-column-text > P:nth-child(1){
    margin-top: 0;
}
.basic-two-column-description-list{
    margin-top: 22px;
    font-size: 1.6rem;
    line-height: 1.75;
}
.basic-two-column-description-list > dt{
    margin-top: 1.5em;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
}
.basic-two-column-description-list > dt:nth-child(1){
    margin-top: 0;
}


@media screen and (max-width: 760px){
    /* basic-two-column */
    .basic-two-column,
    .basic-two-column-inner{
        display: block;
    }
    .basic-two-column-primary{
        width: 100%;
    }
    .basic-two-column-img{
        width: 100%;
        margin-top: 20px;
    }
    .basic-two-column-text{
        margin-top: 20px;
    }
    .basic-two-column-text > P{
        font-size: 1.5rem;
    }
    .basic-two-column-description-list{
        margin-top: 20px;
        font-size: 1.5rem;
    }
}

/* basic-column */
.basic-column{
    background-color: #eff6fb;
    border: 1px solid #e6e6e6;
    padding: 40px;
}

@media screen and (max-width: 760px){
    /* basic-column */
    .basic-column{
        padding: 35px;
    }
}

@media screen and (max-width: 420px){
    /* basic-column */
    .basic-column{
        padding-left: 25px;
        padding-right: 25px;
    }
}

/* basic-title */
.basic-title{
    font-size: 2.8rem;
    line-height: 1.4;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    color: #0074c1;
    letter-spacing: 0.1em;
    border-bottom: 2px solid #e6e6e6;
    padding-bottom: 22px;
    position: relative;
}
.basic-title::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 70px;
    height: 2px;
    background-color: #0074c1;
    z-index: 1;
}

@media screen and (max-width: 760px){
    /* basic-title */
    .basic-title{
        font-size: 2.2rem;
        padding-bottom: 16px;
    }
    .basic-title::after{
        width: 50px;
    }
}

/* heading-line */
.heading-line{
    font-size: 2.4rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    color: #0074c1;
    position: relative;
    padding-left: 48px;
    line-height: 1.5;
    margin-bottom: 28px;
}
.heading-line::before{
    position: absolute;
    content: "";
    width: 35px;
    height: 2px;
    top: 17px;
    left: 0;
    background-color: #0074c1;
}

@media screen and (max-width: 760px){
    /* heading-line */
    .heading-line{
        font-size: 2rem;
        padding-left: 40px;
        margin-bottom: 20px;
    }
    .heading-line::before{
        width: 28px;
        top: 14px;
    }
}

/* heading-disc */
.heading-disc{
    font-size: 1.8rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    padding-left: 18px;
    position: relative;
    line-height: 1.5;
    margin-bottom: 15px;
}
.heading-disc::before{
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #0074c1;
}

@media screen and (max-width: 760px){
    /* heading-disc */
    .heading-disc{
        font-size: 1.7rem;
        margin-bottom: 12px;
    }
    .heading-disc::before{
        width: 7px;
        height: 7px;
    }
}

/* heading-border */
.heading-border{
    color: #0074c1;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    font-size: 2.1rem;
    line-height: 1.5;
    border-bottom: 2px solid #0074c1;
    padding-bottom: 8px;
}

@media screen and (max-width: 760px){
    /* heading-border */
    .heading-border{
        font-size: 1.8rem;
        padding-bottom: 5px;
    }
}

/* heading-point */
.heading-point{
    font-size: 2.1rem;
    line-height: 1.5;
    border-left: 5px solid #0074c1;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    padding-left: 16px;
    margin-bottom: 25px;
}

@media screen and (max-width: 760px){
    /* heading-point */
    .heading-point{
        font-size: 1.8rem;
        border-left: 4px solid #0074c1;
        padding-left: 16px;
        margin-bottom: 20px;
    }
}

/* heading-color */
.heading-color{
    color: #0074c1;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    font-size: 2.1rem;
    line-height: 1.5;
    margin-bottom: 15px;
}

@media screen and (max-width: 760px){
    /* heading-color */
    .heading-color{
        font-size: 1.8rem;
        margin-bottom: 10px;
    }
}

/* basic-text */
.basic-text{
    margin-top: 2.5em;
}
.basic-text:nth-of-type(1){
    margin-top: 0;
}
.basic-text > p{
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 1.5em;
}
.basic-text > p:nth-child(1){
    margin-top: 0;
}

@media screen and (max-width: 760px){
    /* basic-text */
    .basic-text{
        margin-top: 2em;
    }
    .basic-text > p{
        font-size: 1.5rem;
    }
}

/* basic-text-small */
.basic-text-small{
    margin-top: 1.5em;
}
.basic-text-small:nth-of-type(1){
    margin-top: 0;
}
.basic-text-small > p{
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 1.5em;
}
.basic-text-small > p:nth-child(1){
    margin-top: 0;
}

@media screen and (max-width: 760px){
    /* basic-text-small */
    .basic-text-small{
        margin-top: 1em;
    }
    .basic-text-small > p{
        font-size: 1.3rem;
    }
}

/* basic-list */
.basic-list > li:nth-child(1){
    margin-top: 0;
}
.basic-list > li{
    font-size: 1.6rem;
    line-height: 1.75;
    position: relative;
    padding-left: 18px;
    margin-top: 0.5em;
}
.basic-list > li::before{
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #0074c1;
}

@media screen and (max-width: 760px){
    /* heading-disc */
    .basic-list > li{
        font-size: 1.5rem;
        padding-left: 15px;
    }
    .basic-list > li::before{
        width: 6px;
        height: 6px;
    }
}

/* basic-description-list */
.basic-description-list{
    margin-top: 2.5em;
    font-size: 1.6rem;
    line-height: 1.75;  
}
.basic-description-list > dt{
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    margin-top: 1em;
    margin-bottom: 0.2em;
}
.basic-description-list > dt:nth-child(1){
    margin-top: 0;
}

@media screen and (max-width: 760px){
    /* basic-description-list */
    .basic-description-list{
        margin-top: 2em;
        font-size: 1.5rem;
    }
}

/* basic-table */
.basic-table > table{
    width: 100%;
}
.basic-table > table > tbody > tr > th,
.basic-table > table > tbody > tr > td{
    border: 1px solid #e6e6e6;
    font-size: 1.4rem;
    line-height: 1.75;
    padding: 20px;
}
.basic-table > table > tbody > tr > th{
    background-color: #eff6fb;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
}

@media screen and (max-width: 760px){
    /* basic-table */
    .basic-table > table > tbody > tr > th,
    .basic-table > table > tbody > tr > td{
        padding: 18px;
    }
}

@media screen and (max-width: 580px){
    /* basic-table */
    .basic-table > table{
        display: block;
        border-bottom: 1px solid #e6e6e6;
    }
    .basic-table > table > tbody > tr > th,
    .basic-table > table > tbody > tr > td{
        display: block;
        width: 100%;
        padding: 15px;
    }
    .basic-table > table > tbody > tr > td{
        border-top: none;
        border-bottom: none;
    }
}

/* basic-table-list */
.basic-table-list > li{
    font-size: 1.4rem;
    line-height: 1.75;
    position: relative;
    padding-left: 16px;
    margin-top: 0.5em;
}
.basic-table-list > li::before{
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #000000;
}

/* basic-img */
.basic-img > img{
    width: 100%;
}

/* basic-img-list */
.basic-img-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.basic-img-list > div{
    width: 50%;
    margin-top: 50px;
}
.basic-img-list > div:nth-child(odd){
    padding-right: 25px;
}
.basic-img-list > div:nth-child(even){
    padding-left: 25px;
}
.basic-img-list > div:nth-child(-n+2){
    margin-top: 0;   
}
.basic-img-list-img > img{
    width: 100%;
}
.basic-img-list-text{
    margin-top: 1em;
}
.basic-img-list-text > p{
    font-size: 1.6rem;
    line-height: 1.75;
}

@media screen and (max-width: 1000px){
    /* basic-img-list */
    .basic-img-list > div:nth-child(odd){
        padding-right: 20px;
    }
    .basic-img-list > div:nth-child(even){
        padding-left: 20px;
    }
}

@media screen and (max-width: 760px){
    /* basic-img-list */
    .basic-img-list > div{
        margin-top: 40px;
    }
    .basic-img-list > div:nth-child(odd){
        padding-right: 10px;
    }
    .basic-img-list > div:nth-child(even){
        padding-left: 10px;
    }
    .basic-img-list-text > p{
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 580px){
    /* basic-img-list */
    .basic-img-list{
        display: block;
    }
    .basic-img-list > div{
        width: 100%;
    }
    .basic-img-list > div:nth-child(odd){
        padding-right: 0;
    }
    .basic-img-list > div:nth-child(even){
        padding-left: 0;
    }
    .basic-img-list > div:nth-child(2){
        margin-top: 40px;   
    }
}

/* stripe-area-title */
.stripe-area-title{
    padding-left: 60px;
    padding-right: 60px;
}
.stripe-area-title > .inner{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
  
@media screen and (max-width: 1000px){
    /* stripe-area-title */
    .stripe-area-title{
        padding-left: 40px;
        padding-right: 40px;
    }
}
  
@media screen and (max-width: 760px){
    /* stripe-area-title */
    .stripe-area-title{
        padding-left: 20px;
        padding-right: 20px;
    }
}
  
/* stripe-box */
.stripe-box{
    padding: 75px 60px;
}
.stripe-box:nth-child(even){
    background-color: #eff6fb;
}
.stripe-box > .inner{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
.stripe-box-contents{
    display: flex;
    justify-content: space-between;
}
.stripe-box-primary{
    width: 48.8542%;
}
.stripe-box-catch > p{
    font-size: 2.6rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.4;
}
.stripe-box-text{
    margin-top: 25px;
}
.stripe-box-text > p{
    font-size: 1.6rem;
    line-height: 1.75;
}
.stripe-box-button{
    font-size: 1.6rem;
    line-height: 1em;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    margin-top: 55px;
}
.stripe-box-button > a{
    display: inline-block;
    color: #ffffff;
    line-height: 50px;
    padding-left: 20px;
    padding-right: 135px;
    background: #0074c1 url(/assets/images/arrow-circle-white.svg) right 20px center no-repeat;
    background-size: 16px auto;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    position: relative;
}
.stripe-box-button > a:hover{
    color: #0074c1;
    background: #ffffff url(/assets/images/arrow-circle-blue.svg) right 20px center no-repeat;
    background-size: 16px auto;
}
.stripe-box-button > a:hover::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    display: block;
    border: 2px solid #0074c1;
}
.stripe-box-img-wrap{
    width: 40.2083%;
}
.stripe-box-img > img{
    width: 100%;
}
.stripe-box-button-sp{
    display: none;
}

@media screen and (max-width: 1080px){
    /* stripe-box */
    .stripe-box-primary{
      width: 52%;
    }
}
  
@media screen and (max-width: 1000px){
    /* stripe-box */
    .stripe-box{
        padding-left: 40px;
        padding-right: 40px;
    }
    .stripe-box-primary{
        width: 54%;
    }
    .stripe-box-catch > p{
        font-size: 2.2rem;
        line-height: 1.5;
    }
}
  
@media screen and (max-width: 760px){
    /* stripe-box */
    .stripe-box{
        padding: 40px 20px;
    }
    .stripe-box-contents{
        display: block;
    }
    .stripe-box-primary{
        width: 100%;
    }
    .stripe-box-catch > p{
        font-size: 2rem;
    }
    .stripe-box-text{
        margin-top: 20px;
    }
    .stripe-box-text > p{
        font-size: 1.5rem;
    }
    .stripe-box-img-wrap{
        width: 100%;
        margin-top: 30px;
    }
    .stripe-box-button{
        display: none;
    }
    .stripe-box-button-sp{
        margin-top: 25px;
        display: block;
        font-size: 1.4rem;
        line-height: 1em;
        font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
        font-weight: bold;
    }
    .stripe-box-button-sp > a{
        display: block;
        color: #ffffff;
        line-height: 48px;
        padding-left: 20px;
        padding-right: 20px;
        background-color: #0074c1;
        text-align: center;
    }
    .stripe-box-button-sp > a > span{
        display: inline-block;
        background: url(/assets/images/arrow-circle-white.svg) right center no-repeat;
        background-size: 14px auto;
        padding-right: 26px;
    }
}

/* link-list */
.link-list > li{
    font-size: 1.6rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 24px;
}
.link-list > li:nth-child(1){
    margin-top: 0;    
}
.link-list > li > a{
    display: inline-block;
    border-bottom: 1px solid #333333;
    color: #333333;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.link-list > li > a:hover{
    border-bottom: 1px solid #ffffff;
}

@media screen and (max-width: 760px){
    /* link-list */
    .link-list > li{
        font-size: 1.5rem;
        margin-top: 20px;
    }
    .link-list > li > a:hover{
        border-bottom: 1px solid #333333;
    }
}

/* simple-list */
.simple-list > li{
    font-size: 1.6;
    line-height: 1.75;
}

@media screen and (max-width: 760px){
    /* simple-list */
    .simple-list > li{
        font-size: 1.5;
    }
}

/* simple-link */
.simple-link{
    font-size: 1.6rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.5;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.simple-link > a{
    display: inline-block;
    border-bottom: 1px solid #333333;
    color: #333333;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.simple-link > a:hover{
    border-bottom: 1px solid #ffffff;
}

@media screen and (max-width: 760px){
    /* simple-link */
    .simple-link{
        font-size: 1.5rem;
    }
    .simple-link > a:hover{
        border-bottom: 1px solid #333333;
    }
}

/* icon-pdf */
.icon-pdf{
    background: url(/assets/images/icon-pdf.svg) right top 2px no-repeat;
    background-size: 17px auto;
    display: inline-block;
    padding-right: 27px;
}

@media screen and (max-width: 760px){
    /* icon-pdf */
    .icon-pdf{
        background: url(/assets/images/icon-pdf.svg) right top 3px no-repeat;
        background-size: 15px auto;
        padding-right: 25px;
    }
}

/* icon-xlsx */
.icon-xlsx{
    background: url(/assets/images/icon-xlsx.svg) right top 2px no-repeat;
    background-size: 17px auto;
    display: inline-block;
    padding-right: 27px;
}

@media screen and (max-width: 760px){
    /* icon-xlsx */
    .icon-xlsx{
        background: url(/assets/images/icon-xlsx.svg) right top 2px no-repeat;
        background-size: 15px auto;
        padding-right: 25px;
    }
}

/* more-area */
.more-area{
    background-color: #cee4f3;
    padding: 60px 40px 80px;
}
.more-area > .inner{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
.more-area-title{
    font-size: 2.4rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    color: #0074c1;
    text-align: center;
    line-height: 1;
    margin-bottom: 24px;
}
.more-area-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}
.more-area-list-item{
    margin-top: 24px;
    width: 50%;
    display: flex;
}
.more-area-list-item:nth-child(odd){
    padding-right: 12px;
}
.more-area-list-item:nth-child(even){
    padding-left: 12px;
}
.more-area-list-item > a{
    display: block;
    background-color: #ffffff;
    width: 100%;
    background: #ffffff url(/assets/images/arrow-blue.svg) right 28px center no-repeat;
    padding-top: 23px;
    padding-right: 74px;
    padding-bottom: 21px;
    background-size: 25px auto;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.more-area-list-item > a:hover{
    opacity: 0.75;
}
.more-area-list-item > a > div{
    padding-left: 92px;
}
.more-area-list-service{
    background: url(/assets/images/icon-service.svg) left 30px center no-repeat;
    background-size: 35px auto;
}
.more-area-list-case{
    background: url(/assets/images/icon-case.svg) left 27px center no-repeat;
    background-size: 40px auto;
}
.more-area-list-download{
    background: url(/assets/images/icon-download.svg) left 26px center no-repeat;
    background-size: 42px auto;
}
.more-area-list-recruit{
    background: url(/assets/images/icon-recruit.svg) left 27px center no-repeat;
    background-size: 40px auto;
}
.more-area-list-title{
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    color: #0074c1;
    font-size: 2.1rem;
    line-height: 1.5;
}
.more-area-list-text{
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 4px;
}

@media screen and (max-width: 1000px){
    /* more-area */
    .more-area-list-item > a{
        background: #ffffff url(/assets/images/arrow-blue.svg) right 20px center no-repeat;
        padding-right: 60px;
        background-size: 22px auto;
    }
    .more-area-list-item > a > div{
        padding-left: 84px;
    }
    .more-area-list-service{
        background: url(/assets/images/icon-service.svg) left 27px center no-repeat;
        background-size: 32px auto;
    }
    .more-area-list-case{
        background: url(/assets/images/icon-case.svg) left 24px center no-repeat;
        background-size: 36px auto;
    }
    .more-area-list-download{
        background: url(/assets/images/icon-download.svg) left 24px center no-repeat;
        background-size: 37px auto;
    }
    .more-area-list-recruit{
        background: url(/assets/images/icon-recruit.svg) left 25px center no-repeat;
        background-size: 36px auto;
    }
    .more-area-list-title{
        font-size: 1.9rem;
    }
}

@media screen and (max-width: 760px){
    /* more-area */
    .more-area{
        padding: 50px 20px;
    }
    .more-area-title{
        font-size: 2.2rem;
        margin-bottom: 35px;
    }
    .more-area-list{
        display: block;
    }
    .more-area-list-item{
        margin-top: 20px;
        width: 100%;
        display: block;
    }
    .more-area-list-item:nth-child(odd){
        padding-right: 0;
    }
    .more-area-list-item:nth-child(even){
        padding-left: 0;
    }
    .more-area-list-item > a:hover{
        opacity: 1;
    }
    .more-area-list-text{
        margin-top: 4px;
    }
}

/* contact-area */
.contact-area{
    background-color: #0074c1;
    color: #ffffff;
    padding: 60px 40px 75px;
}
.contact-area > .inner{
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
.contact-area-title{
    text-align: center;
    font-size: 1.6rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1;
}
.contact-area-catch{
    text-align: center;
    font-size: 2.4rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 10px;
}
.contact-area-catch > br{
    display: none;
}
.contact-area-primary{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 36px;
}
.contact-area-button{
    width: 50%;
    display: flex;
    padding-right: 12px;
}
.contact-area-button > a{
    display: block;
    width: 100%;
    border: 3px solid #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 2.4rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    padding-left: 20px;
    padding-right: 20px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.contact-area-button > a:hover{
    background-color: #ffffff;
    color: #0074c1;
}
.contact-area-button > a > span{
    display: inline-block;
    line-height: 1;
    padding-right: 40px;
    background: url(/assets/images/arrow-white.svg) right center no-repeat;
    background-size: 25px auto;
    white-space: nowrap;
}
.contact-area-button > a:hover > span{
    background: url(/assets/images/arrow-blue.svg) right center no-repeat;
    background-size: 25px auto;
}
.contact-area-item{
    width: 50%;
    padding-left: 12px;
    display: flex;
    align-items: center;
}
.contact-area-item > div{
    width: 100%;
    text-align: center;
    border: 3px solid #ffffff;
    padding: 20px;
}
.contact-area-item-text{
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 1;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    margin-bottom: 10px;
    white-space: nowrap;
}
.contact-area-item-tel{
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
.contact-area-item-tel > span{
    line-height: 1;
}
.contact-area-item-tel > span:nth-child(1){
    font-size: 3.6rem;
}
.contact-area-item-tel > span:nth-child(2){
    font-size: 1.4rem;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    padding-left: 6px;
}

@media screen and (max-width: 1000px){
    /* contact-area */
    .contact-area-button > a{
        font-size: 2.2rem;
    }
    .contact-area-button > a > span{
        padding-right: 35px;
        background: url(/assets/images/arrow-white.svg) right center no-repeat;
        background-size: 23px auto;
    }
    .contact-area-button > a:hover > span{
        background: url(/assets/images/arrow-blue.svg) right center no-repeat;
        background-size: 23px auto;
    }
    .contact-area-item-text{
        font-size: 1.5rem;
    }
    .contact-area-item-tel > span:nth-child(1){
        font-size: 3.2rem;
    }
    .contact-area-item-tel > span:nth-child(2){
        font-size: 1.3rem;
        padding-left: 4px;
    }
}

@media screen and (max-width: 760px){
    /* contact-area */
    .contact-area{
        padding: 50px 20px;
    }
    .contact-area-title{
        font-size: 1.5rem;
    }
    .contact-area-catch{
        font-size: 2rem;
        margin-top: 15px;
    }
    .contact-area-catch > br{
        display: inline;
    }
    .contact-area-primary{
        margin-top: 30px;
    }
    .contact-area-button{
        padding-right: 10px;
    }
    .contact-area-button > a:hover{
        background-color: #0074c1;
        color: #ffffff;
    }
    .contact-area-button > a:hover > span{
        background: url(/assets/images/arrow-white.svg) right center no-repeat;
        background-size: 23px auto;
    }

    .contact-area-item{
        padding-left: 10px;
    }
}

@media screen and (max-width: 680px){
    /* contact-area */
    .contact-area-primary{
        display: block;
    }
    .contact-area-button{
        width: 100%;
        padding-right: 0;
    }
    .contact-area-button > a{
        padding-top: 25px;
        padding-bottom: 25px;
    }
    .contact-area-item{
        width: 100%;
        padding-left: 0;
        margin-top: 20px;
    }
}

@media screen and (max-width: 460px){
    /* contact-area */
    .contact-area-title{
        font-size: 1.4rem;
    }
    .contact-area-catch{
        font-size: 1.8rem;
    }
    .contact-area-primary {
        margin-top: 25px;
    }
    .contact-area-button > a{
        font-size: 2rem;
    }
    .contact-area-button > a > span,
    .contact-area-button > a:hover > span{       
        padding-right: 32px;
        background: url(/assets/images/arrow-white.svg) right center no-repeat;
        background-size: 20px auto;
    }
    .contact-area-item-text{
        font-size: 1.4rem;
    }
    .contact-area-item-tel > span:nth-child(1){
        font-size: 2.8rem;
    }
    .contact-area-item-tel > span:nth-child(2){
        font-size: 1.2rem;
    }
}

/* news-list */
.news-list-box{
    margin-top: 18px;
}
.news-list-box:nth-child(1){
    margin-top: 0;
}
.news-list-box > a{
    display: flex;
    align-items: flex-start;
}
.news-list-data{
    display: flex;
    align-items: center;
    margin-right: 54px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.news-list-box > a:hover .news-list-data{
    color: #0074c1;
}
.news-list-date{
    width: 85px;
    margin-top: 4px;
    margin-right: 54px;
    font-size: 1.6rem;
    line-height: 1em;
    white-space: nowrap;
}
.news-list-category > span{
    width: 90px;
    font-size: 1.2rem;
    line-height: 23px;
    display: inline-block;
    white-space: nowrap;
    text-align: center;
    background-color: #0074c1;
    color: #ffffff;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
}
.news-list-text{
    font-size: 1.6rem;
    flex: 1;
    line-height: 1.75;
    padding-top: 4px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.news-list-box > a:hover .news-list-text{
    color: #0074c1;
}
  
@media screen and (max-width: 1000px){
  /* news-list */
    .news-list{
        width: 100%;
        flex: 1;
        margin-top: 0;
    }
    .news-list-box{
        margin-top: 20px;
    }
    .news-list-box > a{
        display: block;
    }
    .news-list-date{
        margin-right: 40px;
    }
    .news-list-text{
        padding-top: 12px;
    }
}
  
@media screen and (max-width: 760px){
    /* news-list */
    .news-list-box > a:hover .news-list-data{
        color: #000000;
    }
    .news-list-date{
        width: 85px;
        margin-right: 15px;
        font-size: 1.5rem;
    }
    .news-list-category > span{
        width: 80px;
        font-size: 1.1rem;
        line-height: 21px;
    }
    .news-list-text{
        font-size: 1.5rem;
        padding-top: 10px;
    }
    .news-list-box > a:hover .news-list-text{
        color: #000000;
    }
}


/* pagination-list */
.pagination-list{
    margin-top: 72px;
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    font-family: 'Poppins', sans-serif;
}
.pagination-list a,
.pagination-list span{
    font-size: 1.6rem;
    font-family: 'Poppins', sans-serif; 
    text-align: center;
    margin-left: 5px;
    margin-right: 5px;
    display: inline-block;
}
.pagination-list a{
    border: 1px solid #999999;
    background-color: #ffffff;
    line-height: 28px;
    min-width: 30px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.pagination-list a:hover{
    border: 1px solid #0074c1;
    background-color: #0074c1;
    color: #ffffff;
}
.pagination-list .current{
    background-color: #0074c1;
    color: #ffffff;
    line-height: 30px;
    min-width: 30px;
}
.pagination-list a.prev,
.pagination-list a.next{
    border: none;
    color: #ffffff;
    text-indent: -9999px;
}
.pagination-list a.prev:hover,
.pagination-list a.next:hover{
    border: none;
    background-color: #ffffff;
    opacity: 0.75;
}
.pagination-list a.prev{
    background: url(/assets/images/arrow-blue-back.svg) center center no-repeat;
    background-size: 25px auto;
}
.pagination-list a.next{
    background: url(/assets/images/arrow-blue.svg) center center no-repeat;
    background-size: 25px auto;
}
  
@media screen and (max-width: 760px){
    /* pagination-list */
    .pagination-list{
      margin-top: 40px;
    }
    .pagination-list a,
    .pagination-list span{
      font-size: 1.5rem;
      margin-left: 3px;
      margin-right: 3px;
    }
    .pagination-list a:hover{
      border: 1px solid #999999;
      background-color: #ffffff;
      color: #000000;
    }
    .pagination-list a.prev:hover,
    .pagination-list a.next:hover{
      opacity: 1;
    }
    .pagination-list a.prev{
      background: url(/assets/images/arrow-blue-back.svg) center center no-repeat;
      background-size: 20px auto;
    }
    .pagination-list a.next{
      background: url(/assets/images/arrow-blue.svg) center center no-repeat;
      background-size: 20px auto;
    }
}

/* box-404 */
.box-404{
    padding-top: 100px;
    text-align: center;
    padding-bottom: 70px;
}
.box-404-heading{
    font-size: 4.5rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: YakuHanJP_Narrow, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    white-space: nowrap;
}

@media screen and (max-width: 760px){
    /* box-404 */
    .box-404-heading{
        font-size: 4rem;
    }
}

/*========================================
footer layout
========================================*/
/* footer-primary */
.footer-primary{
    padding-top: 45px;
    padding: 45px 40px 80px;
    padding-bottom: 80px;
    background-color: #ffffff;
}
.footer-primary > .inner{
    width: 100%;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}

@media screen and (max-width: 1000px){
    /* footer-primary */
    .footer-primary{
        padding-top: 45px;
        padding-bottom: 45px;
    }
    .footer-primary > .inner{
        display: block;
    }
}

@media screen and (max-width: 760px){
    /* footer-primary */
    .footer-primary{
        padding: 50px 20px;
    }
}

/* footer-link-area */
.footer-link-area{
    display: flex;
}

@media screen and (max-width: 760px){
    /* footer-link-area */
    .footer-link-area{
        display: block;
    }
}

/* footer-navigation */
.footer-navigation{
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 1000px){
    /* footer-navigation */
    .footer-navigation{
        width: 50%;
        padding-right: 20px;
    }
}

@media screen and (max-width: 760px){
    /* footer-navigation */
    .footer-navigation{
        width: 100%;
        padding-right: 0;
    }
}

/* footer-nav */
.footer-nav{
    min-width: 140px;
    margin-right: 54px;
}
.footer-nav > li{
    font-size: 1.4rem;
    line-height: 1em;
    padding-top: 20px;
}
.footer-nav > li:nth-child(1){
    padding-top: 0;
}
.footer-nav > li > a{
    color: #333333;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.footer-nav > li > a:hover{
    color: #0074c1;
}
.footer-nav-child{
    border-top: 1px solid #455469;
    margin-top: 14px;
}
.footer-nav-child > li{
    font-size: 1.2rem;
    line-height: 1em;
    padding-top: 16px;
}
.footer-nav-child > li:nth-child(1){
    padding-top: 18px;
}
.footer-nav-child > li > a{
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.footer-nav-child > li > a:hover{
    color: #0074c1;
}

@media screen and (max-width: 1260px){
    /* footer-nav */
    .footer-nav{
        min-width: 120px;
        margin-right: 35px;
    }
    .footer-nav:nth-child(1){
        min-width: 100px;
    }
}

@media screen and (max-width: 1000px){
    /* footer-nav */
    .footer-nav{
        width: 50%;
        margin-right: 0;
    }
    .footer-nav:nth-child(1){
        padding-right: 10px;
    }
    .footer-nav:nth-child(2){
        padding-left: 10px;
    }
}

@media screen and (max-width: 760px){
    /* footer-nav */
    .footer-nav-child > li > a:hover{
        color: #333333;
    }
}

/* footer-button-area */
.footer-button-area{
    display: flex;
    justify-content: space-between;
}
.footer-button-group{
    min-width: 154px;
    margin-left: 42px;
}
.footer-button-group:nth-child(1){
    margin-left: 0    
}
.footer-button{
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 1em;
}
.footer-button:nth-child(1){
    margin-top: 0;
}
.footer-button > a{
    display: block;
    color: #ffffff;
    padding: 18px 12px;
    background: #0074c1 url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
    background-size: 16px auto;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.footer-button > a:hover{
    background: #00a8eb url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
    background-size: 16px auto;
}
.footer-button.footer-button-security > a{
    background: #0074c1 url(/assets/images/icon-security-white.svg) right 12px center no-repeat;
    background-size: 14px auto;
}
.footer-button.footer-button-security > a:hover{
    background: #00a8eb url(/assets/images/icon-security-white.svg) right 12px center no-repeat;
    background-size: 14px auto;
}
.footer-button.footer-button-contact > a{
    background: #093288 url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
    background-size: 16px auto;
}
.footer-button.footer-button-contact > a:hover{
    background: #0045cf url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
    background-size: 16px auto;
}
.footer-button.footer-button-window > a{
    background: #0b48bd url(/assets/images/icon-window-white.svg) right 10px center no-repeat;
    background-size: 15px auto;
}
.footer-button.footer-button-window > a:hover{
    background: #0072f5 url(/assets/images/icon-window-white.svg) right 10px center no-repeat;
    background-size: 15px auto;
}

@media screen and (max-width: 1260px){
    /* footer-button-area */
    .footer-button-group{
        margin-left: 25px;
    }
    .footer-button{
        margin-top: 15px;
    }
}

@media screen and (max-width: 1000px){
    /* footer-button-area */
    .footer-button-area{
        width: 50%;
        padding-left: 20px;
    }
    .footer-button-group{
        width: 50%;
        margin-left: 0;
    }
    .footer-button-group:nth-child(1){
        padding-right: 10px;
    }
    .footer-button-group:nth-child(2){
        padding-left: 10px;
    }
    .footer-button > a{
        padding-left: 10px;
        padding-right: 10px;
        background: #0074c1 url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
        background-size: 14px auto;
    }
    .footer-button > a:hover{
        background: #00a8eb url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
        background-size: 14px auto;
    }
    .footer-button.footer-button-contact > a{
        background: #093288 url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
        background-size: 14px auto;
    }
    .footer-button.footer-button-contact > a:hover{
        background: #0045cf url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
        background-size: 14px auto;
    }
}

@media screen and (max-width: 760px){
    /* footer-button-area */
    .footer-button-area{
        width: 100%;
        margin-top: 40px;
        padding-left: 0;
    }
    .footer-button > a:hover{
        background: #0074c1 url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
        background-size: 14px auto;
    }
    .footer-button.footer-button-security > a:hover{
        background: #0074c1 url(/assets/images/icon-security-white.svg) right 12px center no-repeat;
        background-size: 14px auto;
    }
    .footer-button.footer-button-contact > a:hover{
        background: #093288 url(/assets/images/arrow-circle-white.svg) right 10px center no-repeat;
        background-size: 14px auto;
    }
    .footer-button.footer-button-window > a:hover{
        background: #0b48bd url(/assets/images/icon-window-white.svg) right 10px center no-repeat;
        background-size: 15px auto;
    }
}

@media screen and (max-width: 420px){
    /* footer-button-area */
    .footer-button-area{
        display: block;
    }
    .footer-button-group{
        width: 100%;
    }
    .footer-button-group:nth-child(1){
        padding-right: 0;
    }
    .footer-button-group:nth-child(2){
        margin-top: 15px;
        padding-left: 0;
    }
}

/* footer-profile */
.footer-logo{
    width: 100%;
    max-width: 254px;
}
.footer-logo > a{
    display: inline-block;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.footer-logo > a:hover{
    opacity: 0.75;
}
.footer-logo > a > img{
    width: 100%;
}
.footer-address{
    padding-top: 20px;
    font-size: 1.4rem;
    line-height: 1.75;
    color: #333333;
}

@media screen and (max-width: 1260px){
    /* footer-profile */
    .footer-logo{
        max-width: 254px;
    }
    .footer-address{
        font-size: 1.3rem;
    }
}

@media screen and (max-width: 1000px){
    /* footer-profile */
    .footer-profile{
        margin-top: 40px;
    }
    .footer-logo{
        margin-left: auto;
        margin-right: auto;
    }
    .footer-address{
        padding-top: 10px;
        text-align: center;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 760px){
    /* footer-profile */
    .footer-logo{
        max-width: 220px;
    }
    .footer-address{
        font-size: 1.2rem;
    }
}

/* footer-bottom */
.footer-bottom{
    background-color: #0074c1;
    color: #ffffff;
    padding: 20px;
}
.footer-bottom > .inner{
    width: 100%;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width: 540px){
    /* footer-bottom */
    .footer-bottom > .inner{
        display: block;
    }
}

/* footer-nav-secondary */
.footer-nav-secondary{
    letter-spacing: -.4em;
    line-height: 1em;
}
.footer-nav-secondary > li{
    font-size: 1.4rem;
    display: inline-block;
    letter-spacing: normal;
    border-left: 1px solid #80bae0;
    padding-left: 18px;
    padding-right: 18px;
}
.footer-nav-secondary > li:nth-child(1){
    border-left: none;
    padding-left: 0;
}
.footer-nav-secondary > li:last-child{
    padding-right: 0;
}
.footer-nav-secondary > li > a{
    color: #ffffff;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.footer-nav-secondary > li > a:hover{
    opacity: 0.75;
}

@media screen and (max-width: 1260px){
    /* footer-nav-secondary */
    .footer-nav-secondary > li{
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 760px){
    /* footer-nav-secondary */
    .footer-nav-secondary > li{
        padding-left: 15px;
        padding-right: 15px;
    }
    .footer-nav-secondary > li > a:hover{
        opacity: 1;
    }
}

@media screen and (max-width: 760px){
    /* footer-nav-secondary */
    .footer-nav-secondary{
        text-align: center;
    }
}

/* copyright */
.copyright{
    font-size: 1.4rem;
    line-height: 1em;
}

@media screen and (max-width: 1260px){
    /* copyright */
    .copyright{
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 540px){
    /* copyright */
    .copyright{
        margin-top: 15px;
        text-align: center;
    }
}

/*========================================
other layout
========================================*/

/*---------- //end layout style ----------*/