@charset "utf-8";
/* CSS Document */
#cWrap {
	/*margin-top:134px;*/
	width:100%;
	/*background:url(/cmn/img/cwrap-bg.gif) left top repeat-x;*/
}
@media only screen and (max-width: 980px){ /*tablet*/
#cWrap {
	margin-top:98px;
 }
}
/**#contents*********************************************/
#contents {
/*	width:980px;*/
    width: 100%;
	margin:30px auto;
	padding:0;
	text-align:left;
	background:none;
}
.attention-box {
    clear: both;
    background: #fffbe2;
    padding: 15px 10px;
    margin-bottom: 20px;
}
.attention-box ul li{
    margin-bottom: 10px;
}

/**#sidebar*********************************************/
/**clear設定************************/	
#contents {
	min-height: 1%;
	}
	
#contents:after
 {
	content: ".";
 	display: block;
 	height: 0;
 	clear: both;
 	visibility: hidden;
	}

/*\*/
* html #contents { 
	height: 1%;
	}

#contents { 
	display: block;
	}/**/



#contents {
	clear:both;
	width:980px;
	text-align:left;
	margin:0 auto -20px auto;
}

/**main********************************************************/
/**topSidebar********************************************************/
/**clear設定************************/
#contents:after{
	content: ".";
 	display: block;
 	height: 0;
 	clear: both;
 	visibility: hidden;
	}

/*\*/
* html #contents{
	height: 1%;
	}

#contents{
    width: 100%!important;
	display: block;
	}
#topmain .top-lyt-02._col3 > li:last-child {
     margin-bottom: 30px !important; 
}

/*******NEW******************/
#topmain {
/*    overflow-x: hidden;*/
    width: 100%;
    min-width: 320px;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
/*    font-family: Verdana, sans-serif, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo;*/
    color: #111;
    line-height: 1.6;
    word-wrap: break-word;
    overflow-wrap: break-word;
    background: #fff;
}
#topmain a:hover, #topmain a:active, #topmain a:focus {
    text-decoration: none;
}
#topmain *, #topmain *::before, #topmain *::after {
    box-sizing: border-box;
}
#topmain p {
    font-style: normal;
    list-style: none;
    border: none;
    font-size: 1.0rem;
}
button {
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
}

a {
    color: #111;
    text-decoration: none;
}

a > img {
    transition: all .2s;
}

a > img:hover, a > img:active, a > img:focus {
    text-decoration: none;
    opacity: .6;
}

a > img:visited {
    text-decoration: none;
}

img {
    max-width: 100%;
    vertical-align: middle;
}

sup {
    font-size: 1.2rem;
}

@font-face {
    font-weight: normal;
    font-style: normal;
    /*font-family: "icomoon";
    src: url("/cmn/fonts/icomoon.eot?edzpuy");
    src: url("/cmn/fonts/icomoon.eot?edzpuy#iefix") format("embedded-opentype"), url("/cmn/fonts/icomoon.ttf?edzpuy") format("truetype"), url("/shared/fonts/icomoon.woff?edzpuy") format("woff"), url("/cmn/fonts/icomoon.svg?edzpuy#icomoon") format("svg");*/
}

.content-inner {
    box-sizing: content-box;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}

.content-inner._col1 {
    padding: 0 30px 100px;
}

.content-inner._col1 .main-content {
    width: 100%;
    max-width: 100%;
}

.content-inner._col1-02 {
    max-width: 800px;
    padding: 40px 30px 0;
}

.content-inner._col1-02 .main-content {
    width: 100%;
    max-width: 100%;
}

.content-inner._col2 {
    display: -ms-flexbox;
    display: flex;
    padding: 0 30px 100px;
}

@media screen and (max-width: 1024px) {
    .content-inner {
        padding: 0 20px;
    }
    .content-inner._col1 {
        padding: 0 20px;
    }
    .content-inner._col1-02 {
        padding: 40px 20px 0;
    }
    .content-inner._col2 {
        display: block;
        padding: 0 20px;
    }
}

@media screen and (max-width: 768px) {
    .content-inner {
        padding: 0 10px;
    }
    .content-inner._col1 {
        padding: 0 10px;
    }
    .content-inner._col1-02 {
        padding: 40px 10px 0;
    }
    .content-inner._col2 {
        padding: 0 10px;
    }
}

.main-content {
    width: calc(100% - 240px);
    max-width: 990px;
    margin-right: 60px;
}

@media screen and (max-width: 1024px) {
    .main-content {
        width: 100%;
        padding-bottom: 80px;
    }
}

@media screen and (max-width: 768px) {
    .main-content {
        padding-bottom: 50px;
    }
}

[data-script-enabled="true"] .dropdown-wrap {
    display: none;
}

[data-script-enabled="true"] .nav-utility-02 > li .lang-content {
    position: absolute;
    display: none;
}
.jed {
background: #fff;
display: block;
padding: 30px 0 40px 0;
box-sizing: content-box;
max-width: 1200px;
margin: 0 auto;
}
.jed .jed-banner {
    text-align: center;
}
@media only screen and (max-width: 750px){
.jed {
padding: 0 0 30px 0;
box-sizing: content-box;
max-width: 100%;
margin: 0 auto;
}
}
/* ----------------------------------------
   bnr-area
---------------------------------------- */
    .bnr-area .top-lyt-03 {
    display: -ms-flexbox;
    display: flex;
    width: calc(100% + 30px);
    margin: 30px 0 -30px -30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    }
@media screen and (max-width: 768px) {
    .bnr-area .top-lyt-03 {
        width: auto;
        margin: 15px 0 -30px 0;
    }
}

/* ----------------------------------------
   menu icon
---------------------------------------- */
.btn-menu {
    position: relative;
    display: none;
}

@media screen and (max-width: 1024px) {
    .icon-menu-lines {
        position: absolute;
        top: -7px;
        right: 0;
        bottom: 0;
        left: 0;
        display: inline-block;
        width: 28px;
        height: 3px;
        margin: auto;
        vertical-align: middle;
        background: #005396;
        transition: .3s;
    }
    .icon-menu-lines::before, .icon-menu-lines::after {
        position: absolute;
        left: 0;
        display: inline-block;
        width: 28px;
        width: 100%;
        height: 3px;
        background: #005396;
        content: "";
        transition: .3s;
        -ms-transform-origin: 2.85714px center;
        transform-origin: 2.85714px center;
    }
    .icon-menu-lines::before {
        top: 7px;
    }
    .icon-menu-lines::after {
        top: -7px;
    }
    .icon-menu-xcross {
        position: relative;
        display: table-cell;
        float: right;
        width: 50px;
        height: 55px;
        margin: 0 auto;
        padding-bottom: 5px;
        text-align: center;
    }
    .icon-menu-xcross.icon-menu-transform .icon-menu-lines {
        background: transparent;
    }
    .icon-menu-xcross.icon-menu-transform .icon-menu-lines::before, .icon-menu-xcross.icon-menu-transform .icon-menu-lines::after {
        top: 0;
        width: 28px;
        height: 3px;
        -ms-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    }
    .icon-menu-xcross.icon-menu-transform .icon-menu-lines::before {
        transform: rotate3d(0, 0, 2, 45deg);
    }
    .icon-menu-xcross.icon-menu-transform .icon-menu-lines::after {
        transform: rotate3d(0, 0, 2, -45deg);
    }
    .icon-menu-text {
        position: absolute;
        right: 0;
        bottom: 2px;
        left: -3px;
        overflow: hidden;
        width: 46px;
        margin: 0 auto;
        font-size: 1.0rem;
        color: #005396;
    }
}

#btn-top {
    position: fixed;
    right: 10px;
    bottom: 20px;
    z-index: 50;
    width: 50px;
    height: 50px;
    font-size: 0;
    border-radius: 50%;
}

#btn-top a {
    display: block;
    width: 50px;
    height: 50px;
    background: #008dff;
    border-radius: 50%;
    box-shadow: 0 5px 7px -7px #000;
    transition-duration: .8s;
}

#btn-top a:hover, #btn-top a:active {
    background: #1997ff;
    animation: hover-bob 1.5s ease-out infinite alternate;
}

#btn-top a:focus {
    opacity: .6;
}

#btn-top a::before {
    position: absolute;
    top: 5px;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 14px;
    height: 14px;
    margin: auto;
    color: #fff;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    content: "";
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.top-hdg-l02 {
    position: relative;
    font-weight: bold;
    font-size: 2.0rem;
    color: #005396;
    text-align: center;
}

.top-hdg-l02 br {
    display: none;
}

.top-hdg-l02::before {
    display: block;
    width: 91px;
    height: 19px;
    margin: 0 auto;
    background-image: url("/en/img/top/sprite.png");
    background-position: -95px -167px;
    content: "";
}

.top-hdg-l02::after {
    display: block;
    width: 53px;
    height: 6px;
    margin: 0 auto;
    background-image: url("/en/img/top/sprite.png");
    background-position: -107px -85px;
    content: "";
}

.top-hdg-l02 span {
    display: block;
    margin: 5px 0 8px;
}

@media screen and (max-width: 1024px) {
    .top-hdg-l02 {
        margin: 0 auto;
        padding: 0;
        font-size: 2.4rem;
        line-height: 1.3;
    }
    .top-hdg-l02 span {
        display: block;
        margin: 5px 0 8px;
    }
    .top-hdg-l02 br {
        display: block;
    }
}

* + .top-hdg-l02 {
    margin-top: 60px;
}

.top-hdg-l03 {
    margin-top: 46px;
    font-weight: bold;
    font-size: 1.5rem;
    color: #111;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .top-hdg-l03 {
        margin-top: 30px;
    }
}

.top-info {
    background: #dbeeff;
}
.top-info .top-info-inner {
    display: -ms-flexbox;
    display: flex;
    box-sizing: content-box;
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 30px;
}

.top-info .top-hdg-02 {
    position: relative;
    min-width: 92px;
    margin-top: -10px;
    margin-right: 30px;
    padding-left: 25px;
    font-weight: bold;
    font-size: 3rem;
    color: #005396;
}

.top-info .top-hdg-02::before {
    position: absolute;
    top: 15px;
    left: 0;
    display: block;
    width: 20px;
    height: 23px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -246px -203px;
    content: "";
}

.top-info .content p + p {
    margin-top: 12px;
}

.top-notice {
    background: #fefade;
}

.top-notice .top-notice-inner {
    display: -ms-flexbox;
    display: flex;
    box-sizing: content-box;
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 30px;
}

.top-notice .top-hdg-02 {
    position: relative;
    min-width: 92px;
    margin-top: -10px;
    margin-right: 30px;
    padding-left: 25px;
    font-weight: bold;
    font-size: 3rem;
    color: #005396;
}

.top-notice .top-hdg-02::before {
    position: absolute;
    top: 15px;
    left: 0;
    display: block;
    width: 20px;
    height: 23px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -246px -203px;
    content: "";
}

.top-notice .content p + p {
    margin-top: 12px;
}

@media screen and (max-width: 1024px) {
    .top-info .top-hdg-02 {
        margin-top: -7px;
        margin-right: 10px;
        font-size: 2.4rem;
    }
    .top-info .top-hdg-02::before {
    top: 7px;
}
    .top-info .top-hdg-02 + p {
        font-size: 1.4rem;
    }
    .top-info .top-info-inner {
        padding: 14px 20px;
    }
    .top-notice {
/*        display: none;*/
    }
}
@media screen and (max-width: 840px) {
    .top-info .top-hdg-02 {
        margin-top: -7px;
        font-size: 2.4rem; 
    }
    .top-info .top-hdg-02::before {
    top: 7px;
    }
    .top-info .top-info-inner {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (max-width: 768px) {
    .top-info .top-info-inner {
        padding: 14px 10px;
    }
}
.list-bullet-01 {
    margin-top: 24px;
    font-size: 0;
}

.list-bullet-01 > li {
    position: relative;
    padding-left: 21px;
    font-size: 1.0rem;
}

.list-bullet-01 > li > *:not(br):first-child {
    margin-top: 7px;
}

.list-bullet-01 > li + li {
    margin-top: 7px;
}

.list-bullet-01 > li:before {
    position: absolute;
    top: 9px;
    left: 4px;
    width: 6px;
    height: 6px;
    background: #808080;
    border-radius: 50%;
    content: "";
}

.list-bullet-01 > li .list-bullet-01 {
    margin-top: 10px;
}

.list-bullet-01 > li .list-bullet-01 > li:before {
    width: 4px;
    height: 4px;
}

.list-bullet-01._inline {
    margin-bottom: -10px;
}

.list-bullet-01._inline > li {
    display: inline-block;
    box-sizing: border-box;
    margin: 0 20px 7px 0;
    vertical-align: top;
}

.list-bullet-01._col2 > li {
    width: calc(50% - 20px);
}

.list-bullet-01._col2 > li:nth-child(2n) {
    margin-right: 0;
}

.list-bullet-01._inline._col4 > li {
    width: calc(25% - 15px);
    margin: 0 15px 7px 0;
}

.list-bullet-01._inline._col4 > li:nth-child(4n) {
    margin-right: 0;
}

@media screen and (max-width: 1024px) {
    .list-bullet-01._inline._col4 > li {
        display: inline-block;
        width: calc(33% - 15px);
    }
    .list-bullet-01._inline._col4 > li:nth-child(4n) {
        margin-right: 15px;
    }
    .list-bullet-01._inline._col4 > li:nth-child(3n) {
        margin-right: 0;
    }
}

@media screen and (max-width: 768px) {
    .list-bullet-01._inline._col4 > li {
        display: inline-block;
        width: calc(50% - 10px);
        margin: 0 10px 7px 0;
    }
    .list-bullet-01._inline._col4 > li:nth-child(3n) {
        margin-right: 10px;
    }
    .list-bullet-01._inline._col4 > li:nth-child(2n) {
        margin-right: 0;
    }
}

@media screen and (max-width: 768px) {
    .list-bullet-01 > li {
        padding-left: 18px;
    }
    .list-bullet-01._inline > li {
        display: block;
    }
    .list-bullet-01._col2 > li {
        width: 100%;
    }
}
.list-news-01._top {
    margin-top: 40px;
}

@media screen and (max-width: 1024px) {
    .list-news-01._top {
        margin-top: 30px;
    }
}

.top-lyt-01 {
    display: -ms-flexbox;
    display: flex;
}

.top-lyt-01._col2 .col {
    position: relative;
    width: 50%;
    padding: 0 0 20px;
}

.top-lyt-01._col2 .col::after {
    position: absolute;
    bottom: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 12px;
    content: "";
}

.top-lyt-01._col2 .col .inner {
    max-width: 675px;
    padding: 40px 18px 10px;
    text-align: center;
}

.top-lyt-01._col2 .col:nth-child(1) {
    background: url(/en/img/bg_top_map.png) repeat;
}

.top-lyt-01._col2 .col:nth-child(1)::after {
    background: url(/en/img/top/bg_top_03.png) repeat-x right;
}

.top-lyt-01._col2 .col:nth-child(1) .inner {
    margin-left: auto;
}

.top-lyt-01._col2 .col:nth-child(2) {
    padding: 0 0 30px;
    background: url("/en/img/top/bg_top_02.png") repeat;
}

.top-lyt-01._col2 .col:nth-child(2)::after {
    background: url(/en/img/top/bg_top_04.png) repeat-x;
}

.top-lyt-01._col2 .col:nth-child(2) .inner {
    margin-right: auto;
}

.top-lyt-01 .hdg-01 {
    font-weight: bold;
    font-size: 3rem;
    color: #f50;
}

.top-lyt-01 .hdg-01 + p {
    margin-top: 27px;
}

.top-lyt-01 .hdg-02 {
    font-weight: bold;
    font-size: 3rem;
    color: #005396;
}

.top-lyt-01 .link-list-01 { /*need*/
    -ms-flex-pack: center;
    justify-content: center;
    margin: 19px 0 -10px;
}

@media screen and (max-width: 1024px) {
    .top-lyt-01 {
        display: block;
    }
    .top-lyt-01._col2 .col {
        width: 100%;
    }
    .top-lyt-01._col2 .col:nth-child(1)::after {
        display: none;
    }
    .top-lyt-01._col2 .col .inner {
        max-width: none;
        padding: 30px 20px 10px;
    }
    .top-lyt-01._col2 .col:nth-child(2) .inner li {
        margin-right: 0;
    }
    .top-lyt-01 .hdg-01, .top-lyt-01 .hdg-02 {
        font-size: 2.4rem;
    }
    .top-lyt-01 .hdg-01 + p {
        margin-top: 17px;
    }
    .top-lyt-01 .link-list-01._inline { /*need*/
        display: -ms-flexbox;
        display: flex;
    }
}

@media screen and (max-width: 768px) {
    .top-lyt-01._col2 .col .inner {
        padding: 30px 10px 10px;
    }
}

.top-lyt-01._col2 .col:nth-child(1) .top-index-list li a {
    padding-top: 103px;
    border: 1px solid #ffd5bf;
}

.top-lyt-01._col2 .col:nth-child(1) .top-index-list li a:hover, .top-lyt-01._col2 .col:nth-child(1) .top-index-list li a:active, .top-lyt-01._col2 .col:nth-child(1) .top-index-list li a:focus {
    background: #f50;
}

.top-lyt-01._col2 .col:nth-child(1) .top-index-list li a::before {
    background: #f50;
}

@media screen and (max-width: 1024px) {
    .top-lyt-01._col2 .col:nth-child(1) .top-index-list li a {
        padding-top: 97px;
    }
}

.top-lyt-01._col2 .col:nth-child(2) .top-index-list li a {
    padding-top: 97px;
    border: 1px solid #bedbfc;
}

.top-lyt-01._col2 .col:nth-child(2) .top-index-list li a:hover, .top-lyt-01._col2 .col:nth-child(2) .top-index-list li a:active, .top-lyt-01._col2 .col:nth-child(2) .top-index-list li a:focus {
    background: #005396;
}

.top-lyt-01._col2 .col:nth-child(2) .top-index-list li a::before {
    background: #005396;
}

.top-index-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 30px 0 0 -20px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top-index-list._col2 li a {
    width: 200px;
    height: 160px;
}

.top-index-list._col3 li a {
    width: 180px;
    height: 140px;
}

.top-index-list li [class^="icon-font-"] {
    font-family: "icomoon";
}

.top-index-list li [class^="icon-font-"]::before {
    position: absolute;
    right: 0;
    left: 0;
    z-index: 1;
    display: block;
    margin: 0 auto;
    font-size: 54px;
    content: "";
}

.top-index-list._col2 li [class^="icon-font-"]::before {
    top: 12px;
}

.top-index-list._col3 li [class^="icon-font-"]::before {
    top: 12px;
}

.top-index-list li {
    margin: 0 0 20px 20px;
    border-radius: 5px;
    box-shadow: 0 1px 1px 0 #ccc;
}

.top-index-list li a {
    position: relative;
    z-index: 2;
    display: block;
    overflow: hidden;
    background: #fff;
    border-radius: 5px;
}

.top-index-list li a::before {
    position: absolute;
    top: 0;
    left: -240%;

    z-index: -1;
    width: 240%;
    height: 120%;
    content: "";
    -ms-transform: rotate(38.5deg);
    transform: rotate(38.5deg);
}

.top-index-list li a:hover:before, .top-index-list li a:active:before, .top-index-list li a:focus:before {
    top: -20%;
    left: -28%;
}

.top-index-list li a, .top-index-list li a::before, .top-index-list li a [class^="icon-font-"] {
    transition: all .5s;
    transition-timing-function: cubic-bezier(.01, -.105, .43, 1.59);
}

.top-index-list li a:focus, .top-index-list li a:hover, .top-index-list li a:active, .top-index-list li a:focus [class^="icon-font-"]::before, .top-index-list li a:hover [class^="icon-font-"]::before, .top-index-list li a:active [class^="icon-font-"]::before {
    color: #fff;
}

.top-index-list li .icon-font-01::before {
    color: #f50;
    content: "\e900";
}

.top-index-list li .icon-font-02::before {
    color: #f50;
    content: "\e907";
}

.top-index-list li .icon-font-03::before {
    color: #005396;
    content: "\e901";
}

.top-index-list li .icon-font-04::before {
    color: #005396;
    content: "\e902";
}

.top-index-list li .icon-font-05::before {
    color: #005396;
    content: "\e903";
}

.top-index-list li .icon-font-06::before {
    color: #005396;
    content: "\e904";
}

.top-index-list li .icon-font-07::before {
    color: #005396;
    content: "\e905";
}

.top-index-list li .icon-font-08::before {
    color: #005396;
    content: "\e906";
}

@media screen and (max-width: 1024px) {
    .top-index-list._col2 {
        margin: 30px 0 0 -20px;
    }
    .top-index-list._col2 li {
        width: calc(50% - 20px);
        margin: 0 0 20px 20px;
    }
    .top-index-list._col2 li a {
        width: 100%;
    }
    .top-index-list._col3 {
        margin: 30px 0 0 -20px;
    }
    .top-index-list._col3 li {
        width: calc(33.3% - 20px);
        margin: 0 0 20px 20px;
    }
    .top-index-list._col3 li a {
        width: 100%;
    }
    .top-index-list._col2 .col:nth-child(1) .top-index-list li a, .top-index-list._col2 .col:nth-child(2) .top-index-list li a {
        padding-top: 97px;
    }
    .top-index-list._col2 li a, .top-index-list._col3 li a {
        height: 140px;
    }
}

@media screen and (max-width: 768px) {
    .top-index-list._col2 {
        margin: 30px 0 0 -10px;
    }
    .top-index-list._col2 li {
        width: calc(50% - 10px);
        margin: 0 0 10px 10px;
    }
    .top-index-list._col3 {
        margin: 30px 0 0 -10px;
    }
    .top-index-list._col3 li {
        width: calc(50% - 10px);
        height: 140px;
        margin: 0 0 10px 10px;
    }
}

@media screen and (max-width: 360px) {
    .top-index-list._col2 li a::before, .top-index-list._col3 li a::before {
        top: 30%;
        left: -250%;
    }
    .top-index-list._col2 li a:focus:before, .top-index-list._col2 li a:active:before, .top-index-list._col2 li a:hover:before, .top-index-list._col3 li a:focus:before, .top-index-list._col3 li a:active:before, .top-index-list._col3 li a:hover:before {
        top: -20%;
        left: -28%;
    }
}

.top-section-02 {
    padding: 60px 0 73px;
}

.top-section-02 .btn-align-c {
    margin-top: 40px;
}

@media screen and (max-width: 768px) {
    .top-section-02 {
        padding: 40px 0 45px;
    }
}

.top-section-03 {
    position: relative;
    padding: 60px 0 72px;
    background: #e5edf4;
}

.top-section-03::before {
    position: absolute;
    top: -12px;
    z-index: 1;
    display: block;
    width: 100%;
    height: 12px;
    background: url("/en/img/top/bg_top_05.png") repeat-x left top;
    content: "";
}

@media screen and (max-width: 768px) {
    .top-section-03 {
        padding: 40px 0 45px;
    }
}

@media screen and (max-width: 1024px) {
    .top-section-03 .content-inner {
        padding: 0 20px;
    }
}

@media screen and (max-width: 768px) {
    .top-section-03 .content-inner {
        padding: 0 10px;
    }
}

.top-section-04 {
    padding: 60px 0 73px;
    background: url("/en/img/top/bg_top_02.png") repeat;
}

@media screen and (max-width: 768px) {
    .top-section-04 {
        padding: 40px 0 45px;
    }
}

.top-section-05 {
    position: relative;
    padding: 30px 0 73px;
    color: #fff;
    background: #005396;
}

.top-section-05::before {
    position: absolute;
    top: -12px;
    z-index: 1;
    display: block;
    width: 100%;
    height: 12px;
    background: url("/en/img/top/bg_top_06.png") repeat-x left top;
    content: "";
}

@media screen and (max-width: 1024px) {
    .top-section-05 {
        padding: 40px 0 53px;
    }
}

.top-lyt-02 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: calc(100% + 30px);
    margin: 40px 0 -30px -30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top-lyt-02._col3 > li {
    width: calc(33.3% - 30px);
    margin: 0 0 30px 30px;
    background: #fff;
}

.top-lyt-02._col3 > li > a {
    display: block;
    background: #fff;
    /*box-shadow: 0 2px 3px -1px #e7e7e7;*/
    transition: all .2s;
}

.top-lyt-02._col3 > li > a:hover, .top-lyt-02._col3 > li > a:active, .top-lyt-02._col3 > li > a:focus {
    text-decoration: none;
    opacity: .6;
}

.top-lyt-02._col3 > li > a:visited {
    text-decoration: none;
}

/*.top-lyt-02._col3 > li > a:hover, .top-lyt-02._col3 > li > a:active, .top-lyt-02._col3 > li > a:focus {
    box-shadow: 0 2px 3px -1px #b4b4b4;
}*/

.top-lyt-02._col3 > li > a img {
    width: 100%;
}

.top-lyt-02._col3 > li .text {
    padding: 13px 18px 18px;
    font-size: 1.4rem;
}

.top-lyt-02._col3 > li .title {
    font-weight: bold;
    font-size: 1.8rem;
}

.top-lyt-02._col3 > li .title + p {
    margin-top: 10px;
}

.top-lyt-02 figure {
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .top-lyt-02._col3 {
        width: calc(100% + 20px);
        margin: 40px 0 -20px -20px;
    }
    .top-lyt-02._col3 > li {
        width: calc(100% / 2 - 20px);
        margin: 0 0 20px 20px;
    }
    .top-lyt-02._col2 > li {
        width: calc(50% - 30px);
        margin: 0 0 30px 30px;
    }
}

@media screen and (max-width: 768px) {
    .top-lyt-02._col3 {
        display: block;
        width: 100%;
        margin: 30px 0 -20px;
        margin-left: 0;
    }
    .top-lyt-02._col3 > li {
        width: 100%;
        margin: 0 auto 20px;
    }
}

.top-lyt-03 {
    display: -ms-flexbox;
    display: flex;
    width: calc(100% + 30px);
    margin: 20px 0 -30px -30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top-lyt-03._col3 > li {
    position: relative;
    width: calc(33.3% - 30px);
    margin: 0 0 30px 30px;
}

.top-lyt-03._col3 > li > a {
    display: block;
    transition: all .2s;
}

.top-lyt-03._col3 > li > a:hover, .top-lyt-03._col3 > li > a:active, .top-lyt-03._col3 > li > a:focus {
    text-decoration: none;
    opacity: .6;
}

.top-lyt-03._col3 > li > a:visited {
    text-decoration: none;
}

.top-lyt-03._col3 > li > a img {
    width: 100%;
}

.top-lyt-03._col3 > li::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 30%;
    background: linear-gradient(transparent 0, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .2) 80%);
    content: "";
}
.top-lyt-03._col3 > li:last-child {
    margin-bottom: 30px !important;
}
.top-lyt-03._col3 > li figure {
    position: relative;
}

.top-lyt-03._col3 > li figcaption {
    position: absolute;
    right: 0;
    bottom: 12px;
    left: 0;
    z-index: 2;
    margin: auto 0;
    font-weight: bold;
    font-size: 1.4rem;
    color: #fff;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .top-lyt-03._col3 {
        width: calc(100% + 20px);
        margin: 20px 0 -20px -20px;
    }
    .top-lyt-03._col3 > li {
        width: calc(100% / 2 - 20px);
        margin: 0 0 20px 20px;
    }
    .top-lyt-03._col3 > li > a {
        text-align: center;
    }
}

@media screen and (max-width: 768px) {
    .top-lyt-03._col3 {
        width: 100%;
        margin: 10px 0 -20px;
        margin-left: 0;
    }
    .top-lyt-03._col3 > li {
        width: 100%;
        margin: 0 auto 20px;
    }
}

.top-img-text-01 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 30px;
}

.top-img-text-01._left-img {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.top-img-text-01._left-img .content {
    width: 100%;
}

.top-img-text-01._left-img .content > *:first-child {
    margin-top: 0;
}

.top-img-text-01._left-img figure {
    margin-right: 30px;
}

.top-img-text-01._left-img figure img {
max-width: none;
border: 6px solid #fff;
border-radius: 50%;
width: 400px;
height: 400px;
object-fit: cover;
}

.top-img-text-01._right-img {
    -ms-flex-direction: row;
    flex-direction: row;
}

.top-img-text-01._right-img .content {
    width: 100%;
}

.top-img-text-01._right-img .content > *:first-child {
    margin-top: 0;
}

.top-img-text-01._right-img figure {
    margin-left: 30px;
}

.top-img-text-01._right-img figure img {
    max-width: none;
}

.top-img-text-01 .lead + p {
    margin-top: 10px;
}

.top-img-text-01 figcaption {
    display: block;
    margin-top: 10px;
    font-size: 1.2rem;
    text-align: center;
}

.top-img-text-01 .btn-align-l {
    margin-top: 25px;
}

.top-img-text-01 .bg {
    position: relative;
    padding-right: 305px;
}

.top-img-text-01 .bg::after {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 305px;
    height: 330px;
    content: "";
}

.top-img-text-01 .hdg-01 {
    font-weight: bold;
    font-size: 2.1rem;
}

.top-img-text-01 .hdg-02 {
    margin-top: 36px;
    font-weight: bold;
    font-size: 1.5rem;
}

.top-img-text-01 .hdg-02 + p {
    margin-top: 12px;
    line-height: 1.5;
}

@media screen and (max-width: 1024px) {
    .top-img-text-01 {
        margin-top: 0;
    }
    .top-img-text-01._left-img, .top-img-text-01._right-img {
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
    .top-img-text-01._left-img figure, .top-img-text-01._right-img figure {
        width: 100%;
        max-width: none;
        margin: 0 auto;
        text-align: center;
    }
    .top-img-text-01._left-img .content, .top-img-text-01._right-img .content {
        width: 100%;
        margin-top: 20px;
    }
    .top-img-text-01._left-img figure {
        max-width: none;
    }
    .top-img-text-01._left-img figure img {
        max-width: 108px;
        width: 108px;
        height: 108px;
        border: 3px solid #fff;
    }
    .top-img-text-01._left-img .content {
        margin-top: 3px;
    }
    .top-img-text-01._right-img figure {
        max-width: none;
    }
    .top-img-text-01._right-img figure img {
        max-width: 81px;
    }
    .top-img-text-01._right-img .content {
        margin-top: 3px;
    }
    .top-img-text-01 .bg {
        padding-right: 0;
    }
    .top-img-text-01 .bg::after {
        position: static;
        margin: 15px auto 0;
    }
    .top-img-text-01 .hdg-01 {
        font-size: 1.4rem;
        text-align: center;
        margin-bottom: 20px;
    }
    .top-img-text-01 .hdg-02 {
        margin-top: 5px;
        font-weight: bold;
        font-size: 1.2rem;
    }
    .top-img-text-01 .box-top-01 + .hdg-02 {
        margin-top: 30px;
    }
}

.box-top-01 {
    max-width: 640px;
    margin-top: 10px;
    padding: 12px 20px 10px;
}

.box-top-01 + .box-top-01 {
    margin-top: 20px;
}
.box-top-01 .tbl th {
    white-space: nowrap;
}

@media screen and (max-width: 1024px) {
    .box-top-01 {
        margin: 0 auto;
    }
    .box-top-01 + .box-top-01 {
        margin-top: 10px;
    }
}

.box-top-01 .hdg-03 {
    font-weight: bold;
    font-size: 2.4rem;
}

.box-top-01 .tbl {
    width: 100%;
    margin-top: -7px;
    text-align: left;
    border: none;
    border-spacing: 0;
    border-collapse: collapse;
}
.box-top-01 .tbl thead th {
    font-weight: bold;
    font-size: 1.0rem;
    text-align: center;
    background: none;
    border: none;
}

.box-top-01 .tbl tbody th {
    padding: 5px 0 5px;
    font-size: 1.0rem;
    background: none;
    border: none;
}

.box-top-01 .tbl tbody td {
    padding: 5px 0 5px;
    font-size: 1.0rem;
    text-align: center;
    background: none;
    border: none;
}
.box-top-01 .tbl td {
    background: none;
    border: none;
}
.box-top-01._evening {
    background: #f50;
}

.box-top-01._evening .tbl tbody tr + tr {
    border-top: 1px solid #ffaa80;
}

.box-top-01._night {
    background: #003865;
}

.box-top-01._night .tbl tbody tr + tr {
    border-top: 1px solid #809cb2;
}

@media screen and (max-width: 1024px) {
    .box-top-01 {
        margin-top: 10px;
    }
}

@media screen and (max-width: 768px) {
    .box-top-01 {
        margin-top: 10px;
    }
    .box-top-01 .hdg-03 {
        font-size: 2rem;
    }
    .box-top-01 .tbl .w30 {
        width: 50% !important;
    }
    .box-top-01 .tbl .w20 {
        width: 0 !important;
    }
}

.top-section-06 .content-inner-01 {
    position: relative;
    /*max-width: 1350px;*/
    max-width: 1200px;
    min-height: 450px;
    margin: 0 auto;
    padding: 122px 30px 0;
}

.top-section-06 .content-inner-01::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    /*width: calc(800vw * 100 / 1350);*/
    width: calc(800vw * 100 / 1200);
    max-width: 800px;
    height: 450px;
    background: url("/en/img/top/bg_top_02.png") no-repeat;
    background-size: 100% auto;
    content: "";

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

@media screen and (max-width: 1200px) {
    .top-section-06 .content-inner-01 {
        min-height: 33.3vw;
    }
}

@media screen and (max-width: 768px) {
    .top-section-06 .content-inner-01 {
        padding: 30px 20px 0;
    }
    .top-section-06 .content-inner-01::before {
        position: static;
        width: 100%;
        max-width: 800px;
        height: auto;
        margin: 0 auto;
        padding-top: 56.25%;
        background-size: auto;
        background-size: contain;
    }
}

@media screen and (max-width: 768px) {
    .top-section-06 .content-inner-01 {
        min-height: auto;
        padding: 0;
    }
}

.top-section-06 .content-inner-02 {
    /*max-width: 1350px;*/
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 30px 82px;
}

@media screen and (max-width: 1024px) {
    .top-section-06 .content-inner-02 {
        padding: 60px 20px 45px;
    }
}

@media screen and (max-width: 768px) {
    .top-section-06 .content-inner-02 {
        padding: 40px 10px 45px;
    }
}

.box-top-02 {
    /*width: calc(645vw * 100 / 1350);*/
    width: calc(645vw * 100 / 1200);
    max-width: 645px;
    margin-left: auto;
    padding: 30px;
    color: #fff;
    background: #005396;
}

.box-top-02 .hdg-01 {
    font-weight: bold;
    font-size: 3.2rem;
}

.box-top-02 .hdg-01 + * {
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .box-top-02 {
        width: 100%;
        max-width: none;
        padding: 20px 20px 40px;
    }
    .box-top-02 .hdg-01 {
        font-size: 2.8rem;
        text-align: center;
    }
    .box-top-02 .hdg-01 + * {
        margin-top: 10px;
    }
}

.top-section-07 {
    position: relative;
    background: #ffeee5;
}

.top-section-07::before {
    position: absolute;
    top: -12px;
    display: block;
    width: 100%;
    height: 12px;
    background: url(/en/img/top/bg_top_03.png) repeat;
    content: "";
}

.top-section-07 .content-inner {
    padding: 30px 30px 39px;
}

@media screen and (max-width: 1024px) {
    .top-section-07 .content-inner {
        padding: 20px;
    }
}

@media screen and (max-width: 768px) {
    .top-section-07 .content-inner {
        padding: 20px 10px;
    }
}

.top-contact-01 {
    display: -ms-flexbox;
    display: flex;
    width: calc(100% + 70px);
    margin: 0 0 -30px -70px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top-contact-01 > .col {
    width: calc(50% - 70px);
    margin: 0 0 30px 70px;
}

.top-contact-01 > .col * + .hdg-01 {
    margin-top: 26px;
}

@media screen and (max-width: 1024px) {
    .top-contact-01 > .col * + .hdg-01 {
        margin-top: 36px;
    }
}

.top-contact-01 > .col .hdg-01 {
    position: relative;
    font-weight: bold;
    font-size: 1.5rem;
    color: #f50;
}

.top-contact-01 > .col .hdg-01._pc {
    padding-left: 36px;
}

.top-contact-01 > .col .hdg-01._pc::before {
    position: absolute;
    top: 8px;
    left: 0;
    display: block;
    width: 24px;
    height: 20px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -246px -134px;
    content: "";
}

.top-contact-01 > .col .hdg-01._mail {
    padding-left: 35px;
}

.top-contact-01 > .col .hdg-01._mail::before {
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    width: 23px;
    height: 17px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -131px -62px;
    content: "";
}

.top-contact-01 > .col .hdg-01._tel {
    padding-left: 30px;
}

.top-contact-01 > .col .hdg-01._tel::before {
    position: absolute;
    top: 8px;
    left: 5px;
    display: block;
    width: 16px;
    height: 20px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -114px -189px;
    content: "";
}

#topmain .top-contact-01 .mail {
    margin-top: 14px;
    font-weight: bold;
    font-size: 20px;
}

.top-contact-01 .mail a {
    color: #111;
}
#topmain .top-contact-01 .tel-main {
    margin-top: 15px;
    font-weight: bold;
    font-size: 1.0rem;
}
#topmain .top-contact-01 .tel-main a {
    font-weight: bold;
    font-size: 2.0rem;
}
.top-contact-01 .desc-01 {
    margin-top: 19px;
}

.top-contact-01 .desc-01 dt {
    margin-top: 20px;
    font-weight: bold;
}

.top-contact-01 .desc-01 dd > *:first-child {
    margin-top: 0;
}

.top-contact-01 .desc-01 dd + dt {
    margin-top: 10px;
}

.top-contact-01 .desc-02 {
    margin-top: 22px;
}

.top-contact-01 .desc-02 dt, .top-contact-01 .desc-02 dd {
    display: inline-block;
}

.top-contact-01 .desc-02 dt {
    margin-right: 5px;
    font-weight: bold;
}

.top-contact-01 .desc-01 dt {
    font-weight: bold;
}

.top-contact-01 .btn-align-l {
    margin-top: 27px;
}

.top-contact-01 .link-list-01 { /*need*/
    margin: 14px 0 -10px;
}

#topmain .top-contact-01 .link-list-01 > li { /*need*/
    margin: 0 23px 10px 0;
}
#topmain .top-contact-01 .link-list-01 > li:last-child {
    margin-bottom: 10px !important;
}
@media screen and (max-width: 1024px) {
    .top-contact-01 > .col {
        width: 100%;
    }
    .top-contact-01 .desc-02 {
        margin-top: 14px;
    }
    .top-contact-01 .btn-align-l {
        margin-top: 14px;
    }
}

html:lang(en) body {
    font-family: Verdana, sans-serif, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo;
}

html:lang(en) [class^="top-section"] h2, html:lang(en) [class^="top-section"] h3, html:lang(en) .top-lyt-02 p, html:lang(en) .top-lyt-03 figcaption {
    line-height: 1.4;
}

html:lang(en) .top-hdg-l02 span {
    margin: 10px 0 8px;
}

html:lang(en) .top-hdg-l02 + * {
    margin-top: 35px;
}

html:lang(en) #topmain .top-lyt-02._col3 > li p.title {
    font-size: 1.2rem;
}

@media screen and (max-width: 1024px) {
    html:lang(en) .top-hdg-l02 {
        font-size: 1.8rem;
    }
}

html:lang(en) .top-info .top-hdg-02 {
    min-width: 140px;
}

html:lang(en) .top-info .top-hdg-02 + p {
    width: calc(100% - 130px);
}

html:lang(en) .top-img-text-01 .bg::after {
    background: url(/en/img/top/bg_top_map.png);
}

@media screen and (max-width: 768px) {
    html:lang(en) .top-info .top-info-inner {
        display: block;
    }
    html:lang(en) .top-info .top-hdg-02 + p {
        width: 100%;
        margin-top: 3px;
    }
}

html:lang(en) .tbl-01 th, html:lang(en) .tbl-01 td {
    padding: 12px 10px;
}

html:lang(en) .layout-01._col2 .tbl-01 th {
    padding: 12px 4px;
}

#main > *:first-child, .main-content > *:first-child {
    margin-top: 0;
}

[class^="hdg-"] + .iframe-01 {
    margin-top: 0 !important;
}

@media screen and (max-width: 768px) {
    [class^="hdg-"] + .iframe-01 {
        margin-top: 0 !important;
    }
}

.hdg-mod1-01 {
    padding: 28px 33px;
    font-weight: bold;
    font-size: 3rem;
    color: #005396;
    line-height: 1.4;
    /*background: url(/shared/img/bg_hdg_01.png);*/
}

.hdg-mod1-01 .inner {
    position: relative;
    display: block;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px 0 33px;
}

.hdg-mod1-01 .inner::before {
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    width: 21px;
    height: 24px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -246px -83px;
    content: "";
}

@media screen and (max-width: 1024px) {
    .hdg-mod1-01 {
        padding: 28px 20px;
    }
}

@media screen and (max-width: 768px) {
    .hdg-mod1-01 {
        padding: 15px 10px;
        font-size: 2.2rem;
    }
    .hdg-mod1-01 .inner {
        padding: 0 30px;
    }
    .hdg-mod1-01 .inner::before {
        top: 3px;
    }
}

.hdg-mod1-01 + * {
    margin-top: 60px !important;
}

@media screen and (max-width: 1024px) {
    .hdg-mod1-01 + * {
        margin-top: 40px !important;
    }
}

@media screen and (max-width: 768px) {
    .hdg-mod1-01 + * {
        margin-top: 30px !important;
    }
}

.hdg-mod2-01 {
    position: relative;
    margin: 60px 0 36px;
    padding-bottom: 12px;
    font-weight: bold;
    font-size: 2.6rem;
    color: #005396;
    line-height: 1.4;
    /*background: url(/shared/img/bg_hdg_02.png) repeat-x -8px bottom;*/
}

@media screen and (max-width: 1024px) {
    .hdg-mod2-01 .inner {
        padding: 28px 20px;
    }
}

@media screen and (max-width: 768px) {
    .hdg-mod2-01 {
        margin: 40px 0 24px;
        font-size: 2rem;
    }
    .hdg-mod2-01 .inner {
        padding: 15px 10px;
    }
}

.hdg-mod2-01 a {
    position: relative;
    padding-left: 20px;
    color: #005396;
    transition: all .2s;
}

.hdg-mod2-01 a:hover, .hdg-mod2-01 a:active, .hdg-mod2-01 a:focus {
    text-decoration: none;
    opacity: .6;
}

.hdg-mod2-01 a:visited {
    text-decoration: none;
}

.hdg-mod2-01 a::before {
    position: absolute;
    top: 14px;
    right: auto;
    bottom: auto;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
    .hdg-mod2-01 a::before {
        top: 10px;
    }
}

.hdg-mod2-01 + * {
    margin-top: 36px !important;
}

@media screen and (max-width: 768px) {
    .hdg-mod2-01 + * {
        margin-top: 30px !important;
    }
}

.hdg-mod3-01, .hdg-mod3-02 {
    position: relative;
    margin: 40px 0 18px;
    padding-left: 13px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.4;
}

.hdg-mod3-01::before, .hdg-mod3-02::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 4px;
    height: calc(100% - 6px);
    margin: auto 0;
    background: linear-gradient(#0078db, #0078db 50%, #005396 51%, #005396);
    background-color: #0066b9;
    border-radius: 4px;
    content: "";
}

@media screen and (max-width: 1024px) {
    .hdg-mod3-01 .inner, .hdg-mod3-02 .inner {
        padding: 28px 20px;
    }
}

@media screen and (max-width: 768px) {
    .hdg-mod3-01, .hdg-mod3-02 {
        margin: 30px 0 18px;
        font-size: 1.8rem;
    }
    .hdg-mod3-01 .inner, .hdg-mod3-02 .inner {
        padding: 15px 10px;
    }
}

.hdg-mod3-02 {
    padding-left: 0;
}

.hdg-mod3-02::before {
    display: none;
}

.hdg-mod3-02 a {
    position: relative;
    padding-left: 20px;
    transition: all .2s;
}

.hdg-mod3-02 a:hover, .hdg-mod3-02 a:active, .hdg-mod3-02 a:focus {
    text-decoration: none;
    opacity: .6;
}

.hdg-mod3-02 a:visited {
    text-decoration: none;
}

.hdg-mod3-02 a::before {
    position: absolute;
    top: 10px;
    right: auto;
    bottom: auto;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
    .hdg-mod3-02 a::before {
        top: 8px;
    }
}

.hdg-mod2-01 + .hdg-mod3-01 {
    margin-top: 36px !important;
}

@media screen and (max-width: 768px) {
    .hdg-mod2-01 + .hdg-mod3-01 {
        margin-top: 24px !important;
    }
}

.hdg-mod3-01 + *, .hdg-mod3-02 + * {
    margin-top: 18px !important;
}

@media screen and (max-width: 768px) {
    .hdg-mod3-01 + *, .hdg-mod3-02 + * {
        margin-top: 18px !important;
    }
}

.hdg-mod3-02 + .hdg-mod2-01 {
    margin-top: 60px !important;
}

@media screen and (max-width: 768px) {
    .hdg-mod3-02 + .hdg-mod2-01 {
        margin-top: 40px !important;
    }
}

.hdg-mod4-01 {
    margin: 30px 0 16px;
    padding-bottom: 5px;
    font-weight: bold;
    font-size: 1.7rem;
    line-height: 1.4;
    border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 768px) {
    .hdg-mod4-01 {
        margin-top: 26px;
    }
}

.hdg-mod4-01 + * {
    margin-top: 16px !important;
}

.hdg-mod3-01 + .hdg-mod4-01 {
    margin-top: 18px !important;
}

.hdg-mod5-01 {
    margin: 30px 0 10px;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {
    .hdg-mod5-01 {
        margin-top: 20px;
    }
}

.hdg-mod5-01 + * {
    margin-top: 10px !important;
}

@media screen and (max-width: 768px) {
    .hdg-mod5-01 + * {
        margin-top: 10px !important;
    }
}

.hdg-mod4-01 + .hdg-mod5-01 {
    margin-top: 16px !important;
}

main * + p {
    margin-top: 24px;
}

.article-time .label > span {
    display: inline-block;
    min-width: 120px;
    padding: 0 17px;
    font-size: 1.2rem;
    color: #005396;
    text-align: center;
    background: #fff;
    border: 1px solid #005396;
    border-radius: 2px;
}

@media screen and (max-width: 768px) {
    .article-time + * {
        margin-top: 30px;
    }
}

.lead {
    font-weight: bold;
    font-size: 1.8rem;
}

.lead-02 {
    font-weight: normal;
    font-size: 1.8rem;
    color: #f50;
}

p > a {
    color: #076bbb;
    transition: all .2s;
}

p > a:hover, p > a:active, p > a:focus {
    opacity: .6;
}

.text-signature {
    font-size: 1.4rem;
    text-align: right;
}

.label-01 {
    position: relative;
    top: -2px;
    margin: 0 0 0 8px;
    padding: 2px 5px;
    font-weight: normal;
    font-size: 1.0rem;
    color: #fff;
    background: #c6001c;
}
.label-02 {
    position: relative;
    margin: 0;
    padding: 5px 10px;
    font-weight: normal;
    color: #fff;
    background: #c6001c;
}

.box-anc {
    margin-top: 26px;
    padding: 15px 20px;
    border: 1px solid #0070c6;
}

.link-anc-01 {
    margin: 0 0 -10px -40px;
}

.link-anc-01._col1 > li {
    display: block;
}

.link-anc-01 > li {
    display: inline-block;
    margin: 0 0 10px 40px;
}

.link-anc-01 > li a {
    position: relative;
    display: inline-block;
    padding-left: 23px;
    vertical-align: top;
    text-decoration: none;
    transition: all .2s;
}

.link-anc-01 > li a:hover, .link-anc-01 > li a:active, .link-anc-01 > li a:focus {
    text-decoration: none;
    opacity: .6;
}

.link-anc-01 > li a:visited {
    text-decoration: none;
}

.link-anc-01 > li a::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 12px;
    height: 12px;
   /* background: url(/shared/img/icon_arrow_02.png);*/
    content: "";
}

@media screen and (max-width: 768px) {
    .link-anc-01 > li {
        display: block;
    }
}

.link-panel-01 {
    display: block;
    max-width: 478px;
    margin: 0 auto;
    border: 1px solid #d9d9d9;
    box-shadow: 2px 2px 2px 0 #f5f5f5;
    transition: all .2s;
}

.link-panel-01:hover, .link-panel-01:active, .link-panel-01:focus {
    text-decoration: none;
    opacity: .6;
}

.link-panel-01:visited {
    text-decoration: none;
}

.link-panel-01:hover, .link-panel-01:active, .link-panel-01:focus {
    box-shadow: 2px 2px 2px 0 #dfdfdf;
}

.link-panel-01:hover img, .link-panel-01:active img, .link-panel-01:focus img {
    opacity: 1;
}

.link-panel-01 > span {
    position: relative;
    display: block;
    padding: 9px 25px 9px 14px;
    font-weight: bold;
    font-size: 2rem;
}

.link-panel-01 > span::after {
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    left: auto;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
    .link-panel-01 {
        max-width: none;
    }
}

.link-panel-02 {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    padding: 10px 30px 10px 10px;
    border: 1px solid #d9d9d9;
    box-shadow: 2px 2px 2px 0 #f5f5f5;
    transition: all .2s;
    -ms-flex-align: center;
    align-items: center;
}

.link-panel-02:hover, .link-panel-02:active, .link-panel-02:focus {
    text-decoration: none;
    opacity: .6;
}

.link-panel-02:visited {
    text-decoration: none;
}

.link-panel-02:hover, .link-panel-02:active, .link-panel-02:focus {
    box-shadow: 2px 2px 2px 0 #dfdfdf;
}

.link-panel-02::after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    left: auto;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.link-panel-02 img {
    display: inline-block;
    margin-right: 20px;
}

.link-panel-02 > span {
    display: inline-block;
    margin-top: 5px;
}

.link-index-01, .link-index-02 {
    margin-top: 30px;
}

.link-index-01 > li, .link-index-02 > li {
    padding: 30px 0 23px;
    border-bottom: 1px solid #e6e6e6;
}

.link-index-01 > li:first-child, .link-index-02 > li:first-child {
    padding-top: 0;
}

.link-index-01 > li a, .link-index-02 > li a {
    transition: all .2s;
}

.link-index-01 > li a:hover, .link-index-01 > li a:active, .link-index-01 > li a:focus, .link-index-02 > li a:hover, .link-index-02 > li a:active, .link-index-02 > li a:focus {
    text-decoration: none;
    opacity: .6;
}

.link-index-01 > li a:visited, .link-index-02 > li a:visited {
    text-decoration: none;
}

.link-index-01 > li a:hover .btn-01::before, .link-index-01 > li a:active .btn-01::before, .link-index-01 > li a:focus .btn-01::before, .link-index-02 > li a:hover .btn-01::before, .link-index-02 > li a:active .btn-01::before, .link-index-02 > li a:focus .btn-01::before {
    width: 100%;
    opacity: 1;
}

.link-index-01 > li .img-text-01, .link-index-02 > li .img-text-01 {
    margin-top: 0;
}

.link-index-01 .btn-align-l, .link-index-02 .btn-align-l {
    margin-top: 25px;
}

.link-index-02 .img-text-01._left-img .content {
    width: 100%;
}

.link-index-02 .img-text-01._left-img figure, .link-index-02 .img-text-01._right-img figure {
    width: 100%;
    max-width: 530px;
}

@media screen and (max-width: 768px) {
    .link-index-02 .img-text-01._left-img figure, .link-index-02 .img-text-01._right-img figure {
        max-width: none;
    }
}

.link-index-02 .img-text-01._left-img figure img, .link-index-02 .img-text-01._right-img figure img {
    max-width: 100%;
}

.link-list-01._inline { /*need*/
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 768px) { /*need*/
    .link-list-01._inline {
        display: block;
    }
}

.link-01 {
    margin-top: 24px 0 0;
}

.link-01 a {
    position: relative;
    display: inline-block;
    padding-left: 20px;
    font-size: 1.6rem;
    color: #111;
    transition: all .2s;
}

.link-01 a:hover, .link-01 a:active, .link-01 a:focus {
    text-decoration: none;
    opacity: .6;
}

.link-01 a:visited {
    text-decoration: none;
}

.link-01 a::before {
    position: absolute;
    top: 8px;
    right: auto;
    bottom: auto;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.link-list-01 { /*need*/
    margin: 10px 0 -10px 0;
}

.link-list-01 > li { /*need*/
    margin: 0 10px 1px 0;
}

.link-list-01 > li:last-child { /*need*/
    margin-right: 0;
}

.link-list-01 > li a { /*need*/
    position: relative;
    display: inline-block;
    padding-left: 20px;
    font-size: 1.0rem;
    color: #ffa700;
    transition: all .2s;
    font-weight: bold;
    line-height: 1.4;
}

.link-list-01 > li a:hover, .link-list-01 > li a:active, .link-list-01 > li a:focus { /*need*/
    text-decoration: none;
    color: #ffcc00;
/*    opacity: .6;*/
}

.link-list-01 > li a:visited { /*need*/
    text-decoration: none;
}

.link-list-01 > li a::before { /*need*/
    position: absolute;
    top: 8px;
    right: auto;
    bottom: auto;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #ffa700;
    border-top: 2px solid #ffa700;
    border-right: 2px solid #ffa700;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.link-list-01 > li > .link-list-01 { /*need*/
    margin: 10px 0 0 22px;
}

.link-list-01._col2 > li { /*need*/
    display: inline-block;
    width: calc(50% - 20px);
    margin: 0 20px 10px 0;
    vertical-align: top;
}

.link-list-01._col2 > li:nth-child(2n) { /*need*/
    margin-right: 0;
}

@media screen and (max-width: 768px) { /*need*/
    .link-list-01._col2 > li {
        display: block;
        width: 100%;
    }
}

.layout-01 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 30px 0 -30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.layout-01._col2 .col {
    display: -ms-flexbox;
    display: flex;
    width: calc(50% - 15px);
    margin-bottom: 30px;
}

.layout-01._col2 .col > *:first-child {
    margin-top: 0;
}

.layout-01._col2 .col .box-02 {
    width: 100%;
}

.layout-01._col2 .col .link-panel-01 {
    width: 100%;
}

@media screen and (max-width: 1024px) {
    .layout-01._col2 {
        margin: 30px 0 -20px;
    }
    .layout-01._col2 .col {
        width: calc(50% - 10px);
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 768px) {
    .layout-01._col2 {
        display: block;
        margin: 30px 0 -10px;
    }
    .layout-01._col2._sp-mt0 .col + .col {
        margin-top: -21px;
    }
    .layout-01._col2 .col {
        width: 100%;
        margin-bottom: 10px;
    }
    .layout-01._col2 > .col > .tbl-01 {
        margin: 20px 0 0;
    }
}

.layout-01._col3 {
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 40px 0 -30px -30px;
}

.layout-01._col3 > .col {
    width: calc(33.3% - 30px);
    max-width: 410px;
    margin: 0 0 30px 30px;
}

.layout-01._col3 > .col > *:first-child {
    margin-top: 0;
}

.layout-01._col3 > .col > a {
    display: block;
    transition: all .2s;
}

.layout-01._col3 > .col > a:hover, .layout-01._col3 > .col > a:active, .layout-01._col3 > .col > a:focus {
    text-decoration: none;
    opacity: .6;
}

.layout-01._col3 > .col > a:visited {
    text-decoration: none;
}

.layout-01._col3 > .col .text {
    position: relative;
    display: inline-block;
    margin-top: 5px;
    padding-left: 20px;
    transition: all .2s;
}

.layout-01._col3 > .col .text:hover, .layout-01._col3 > .col .text:active, .layout-01._col3 > .col .text:focus {
    text-decoration: none;
    opacity: .6;
}

.layout-01._col3 > .col .text:visited {
    text-decoration: none;
}

.layout-01._col3 > .col .text::before {
    position: absolute;
    top: 8px;
    right: auto;
    bottom: auto;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 1024px) {
    .layout-01._col3 {
        width: calc(100% + 20px);
        margin: 40px 0 -20px -20px;
    }
    .layout-01._col3._left {
        -ms-flex-pack: left;
        justify-content: left;
    }
    .layout-01._col3 > .col {
        width: calc(100% / 2 - 20px);
        max-width: none;
        margin: 0 0 20px 20px;
    }
}

@media screen and (max-width: 768px) {
    .layout-01._col3 {
        display: block;
        width: 100%;
        margin: 30px 0 -10px;
        margin-left: 0;
    }
    .layout-01._col3 > .col {
        width: 100%;
        max-width: none;
        margin: 0 auto 10px;
    }
}

.layout-01._col4 {
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 30px 0 -20px -20px;
}

.layout-01._col4 > .col {
    width: calc(25% - 20px);
    margin: 0 0 20px 20px;
}

@media screen and (max-width: 1024px) {
    .layout-01._col4 > .col {
        width: calc(33.3% - 20px);
        margin: 0 0 20px 20px;
    }
}

@media screen and (max-width: 768px) {
    .layout-01._col4 {
        display: block;
        margin: 30px 0 -10px 0;
    }
    .layout-01._col4 > .col {
        width: 100%;
        margin: 0 0 10px 0;
    }
}

.layout-01._box-contact .col {
    display: block;
    padding: 10px;
    background: #ffeee5;
}

.layout-01._box-contact .inner {
    padding: 15px 20px 15px;
    background: #fff;
}

.layout-01._box-contact .inner > *:first-child {
    margin-top: 0;
}

.layout-01._box-contact .inner p:not(.btn-align-c) {
    font-size: 1.4rem;
    text-align: center;
}

.layout-01._box-contact .inner .link-list-01 { /*need*/
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .layout-01._box-contact .inner .link-list-01 { /*need*/
        display: -ms-flexbox;
        display: flex;
    }
}

.layout-01._box-contact .inner .link-list-01 li a { /*need*/
    font-size: 1.6rem;
}

.layout-01._box-contact .inner .btn-align-c + p {
    margin-top: 10px;
}

@media screen and (max-width: 1250px) {
    .layout-01._box-contact .inner .btn-02 {
        min-width: auto;
    }
}

.layout-01._box-contact .hdg {
    position: relative;
    margin-bottom: 12px;
    font-weight: bold;
    font-size: 2.0rem;
}

.layout-01._box-contact .hdg._net {
    padding-left: 40px;
}

.layout-01._box-contact .hdg._net::before {
    position: absolute;
    top: 6px;
    left: 7px;
    display: block;
    width: 24px;
    height: 20px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -246px -157px;
    content: "";
}

.layout-01._box-contact .hdg._tel {
    padding-left: 31px;
}

.layout-01._box-contact .hdg._tel::before {
    position: absolute;
    top: 6px;
    left: 7px;
    display: block;
    width: 16px;
    height: 20px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -95px -189px;
    content: "";
}

@media screen and (max-width: 768px) {
    .layout-01._box-contact .hdg._net::before {
        top: 4px;
    }
    .layout-01._box-contact .hdg._tel::before {
        top: 4px;
    }
}

.layout-01._box-contact .time {
    margin-top: 11px;
    text-align: center;
}

.layout-01._box-contact .time dt {
    font-weight: bold;
}

.layout-01._box-contact .time dd {
    font-size: 1.4rem;
}

@media screen and (max-width: 1060px) {
    .layout-01._box-contact .hdg {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 1060px) {
    .layout-01._box-contact .inner {
        padding: 15px 12px 15px;
    }
}

.layout-01 .link-list-01 { /*need*/
    margin: 24px 0 -10px;
}

@media screen and (max-width: 768px) { /*need*/
    .layout-01 .link-list-01 {
        margin: 24px 0 0;
    }
}

.layout-01 .img-col1-01 + * {
    margin-top: 15px;
}

.layout-01 .img-col1-01 + * + p {
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .layout-01 .img-col1-01 + * {
        margin-top: 8px;
    }
    .layout-01 .img-col1-01 + * + p {
        margin-top: 5px;
    }
}

.layout-02 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 30px 0 -30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.layout-02._col2 .col {
    width: calc(50% - 15px);
    margin-bottom: 30px;
}

.layout-02._col2 .col > *:first-child {
    margin-top: 0;
}

@media screen and (max-width: 1024px) {
    .layout-02._col2 {
        margin: 30px 0 -30px;
    }
    .layout-02._col2 .col {
        width: calc(50% - 10px);
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 768px) {
    .layout-02._col2 {
        display: block;
    }
    .layout-02._col2._sp-mt0 .col + .col {
        margin-top: -21px;
    }
    .layout-02._col2 .col {
        width: 100%;
    }
    .layout-02._col2 > .col > .tbl-01 {
        margin: 20px 0 0;
    }
}

.layout-02._col3 {
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 40px 0 -30px -30px;
}

.layout-02._col3 > .col {
    width: calc(33.3% - 30px);
    margin: 0 0 30px 30px;
}

.layout-02._col3 > .col > *:first-child {
    margin-top: 0;
}

.layout-02._col3 > .col > a {
    display: block;
    transition: all .2s;
}

.layout-02._col3 > .col > a:hover, .layout-02._col3 > .col > a:active, .layout-02._col3 > .col > a:focus {
    text-decoration: none;
    opacity: .6;
}

.layout-02._col3 > .col > a:visited {
    text-decoration: none;
}

.layout-02._col3 > .col .text {
    position: relative;
    display: inline-block;
    margin-top: 5px;
    padding-left: 20px;
    transition: all .2s;
}

.layout-02._col3 > .col .text:hover, .layout-02._col3 > .col .text:active, .layout-02._col3 > .col .text:focus {
    text-decoration: none;
    opacity: .6;
}

.layout-02._col3 > .col .text:visited {
    text-decoration: none;
}

.layout-02._col3 > .col .text::before {
    position: absolute;
    top: 8px;
    right: auto;
    bottom: auto;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 1024px) {
    .layout-02._col3 {
        width: calc(100% + 20px);
        margin: 40px 0 -30px -20px;
    }
    .layout-02._col3._left {
        -ms-flex-pack: left;
        justify-content: left;
    }
    .layout-02._col3 > .col {
        width: calc(100% / 2 - 20px);
        margin: 0 0 30px 20px;
    }
}

@media screen and (max-width: 768px) {
    .layout-02._col3 {
        width: 100%;
        margin: 40px 0 -30px 0;
    }
    .layout-02._col3._left {
        -ms-flex-pack: left;
        justify-content: left;
    }
    .layout-02._col3 > .col {
        width: 100%;
        margin: 0 0 30px 0;
    }
}

.layout-02 .link-list-01 { /*need*/
    margin: 24px 0 -10px;
}

@media screen and (max-width: 768px) { /*need*/
    .layout-02 .link-list-01 {
        margin: 24px 0 0;
    }
}

.layout-02 .img-col1-01 + * {
    margin-top: 15px;
}

.layout-02 .img-col1-01 + * + p {
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .layout-02 .img-col1-01 + * {
        margin-top: 8px;
    }
    .layout-02 .img-col1-01 + * + p {
        margin-top: 5px;
    }
}

.img-col1-01 {
    margin-top: 35px;
    text-align: center;
}

.img-col1-01 figure {
    display: block;
    margin: 0 auto;
}

.img-col1-01 figcaption {
    display: block;
    margin-top: 10px;
    font-size: 1.2rem;
    text-align: center;
}

.img-col1-01._col2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 35px 0 -20px -20px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.img-col1-01._col2 figure > img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .img-col1-01._col2 figure > img {
        width: auto;
    }
}

.img-col1-01._col2 > li {
    width: calc(50% - 20px);
    margin: 0 0 20px 20px;
}

.img-col1-01._col2 > li:nth-child(2n + 1) figure {
    display: table;
    margin: 0 0 0 auto;
}

.img-col1-01._col2 > li:nth-child(2n) figure {
    display: table;
    margin: 0 auto 0 0;
}

@media screen and (max-width: 768px) {
    .img-col1-01._col2 {
        margin: 35px 0 -20px 0;
    }
    .img-col1-01._col2 > li {
        width: 100%;
        margin: 0 0 20px 0;
    }
    .img-col1-01._col2 > li:nth-child(2n + 1) figure {
        display: block;
        margin: 0;
    }
    .img-col1-01._col2 > li:nth-child(2n) figure {
        display: block;
        margin: 0;
    }
}

.img-col1-01._col2._left {
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.img-col1-01._col2._left > li {
    width: auto;
}

.img-col1-01._col2._center > li:nth-child(2n + 1) figure, .img-col1-01._col2._center > li:nth-child(2n) figure {
    margin: auto;
}

.img-col1-01._left {
    text-align: left;
}

.img-text-01 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 30px;
}

.img-text-01._left-img {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.img-text-01._left-img .content {
    width: 100%;
}

.img-text-01._left-img .content > *:first-child {
    margin-top: 0;
}

.img-text-01._left-img figure {
    max-width: 410px;
    margin-right: 30px;
}

.img-text-01._left-img figure img {
    max-width: none;
}

.img-text-01._right-img {
    -ms-flex-direction: row;
    flex-direction: row;
}

.img-text-01._right-img .content {
    width: 100%;
}

.img-text-01._right-img .content > *:first-child {
    margin-top: 0;
}

.img-text-01._right-img figure {
    max-width: 410px;
    margin-left: 30px;
}

.img-text-01._right-img figure img {
    max-width: none;
}

.img-text-01 .lead + p {
    margin-top: 10px;
}

.img-text-01 figure {
    min-height: 0;
    min-height: calc(0%);
}

.img-text-01 figcaption {
    display: block;
    margin-top: 10px;
    font-size: 1.2rem;
    text-align: center;
}

.img-text-01 .btn-align-l {
    margin-top: 25px;
}

.img-text-01._max-size figure img {
    max-width: 410px;
}

@media screen and (max-width: 768px) {
    .img-text-01._left-img, .img-text-01._right-img {
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
    .img-text-01._left-img figure, .img-text-01._right-img figure {
        max-width: none;
        text-align: center;
    }
    .img-text-01._left-img figure img, .img-text-01._right-img figure img {
        max-width: 100%;
    }
    .img-text-01._left-img .content, .img-text-01._right-img .content {
        margin-top: 20px;
    }
    .img-text-01._left-img figure {
        max-width: none;
        margin-right: 0;
    }
    .img-text-01._left-img figure img {
        max-width: 100%;
    }
    .img-text-01._left-img .content {
        margin-top: 20px;
    }
    .img-text-01._right-img figure {
        max-width: none;
        margin-left: 0;
    }
    .img-text-01._right-img figure img {
        max-width: 100%;
    }
    .img-text-01._right-img .content {
        margin-top: 20px;
    }
}

.img-text-02 {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 30px -30px -1px;
    padding-left: 30px;
    background: #ddf0ff;
}

.img-text-02::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 30px;
    height: 100%;
    background: #a8cce8;
    content: "";
}

.img-text-02._right-img {
    -ms-flex-direction: row;
    flex-direction: row;
}

.img-text-02._right-img .content {
    min-width: calc(100% - 772px);
    padding: 22px 30px 60px 30px;
}

.img-text-02._right-img .content .hdg {
    font-weight: bold;
    font-size: 2.4rem;
}

.img-text-02._right-img .content .hdg span {
    font-weight: normal;
    font-size: 1.4rem;
}

.img-text-02._right-img .content > *:first-child {
    margin-top: 0;
}

.img-text-02 figure {
    width: 100%;
    min-height: 0;
    min-height: calc(0%);
}

.img-text-02 figcaption {
    display: block;
    margin-top: 10px;
    font-size: 1.2rem;
    text-align: center;
}

.img-text-02 .list-desc-01 {
    margin-top: 22px;
}

.img-text-02 .list-tag-02 {
    margin: 30px 0 -8px -8px;
}

@media screen and (max-width: 1024px) {
    .img-text-02 {
        margin: 30px -20px 0;
    }
    .img-text-02 .list-tag-02 {
        margin: 20px 0 -8px -8px;
    }
    .img-text-02::before {
        display: none;
    }
    .img-text-02._right-img {
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        padding-left: 0;
    }
    .img-text-02._right-img figure {
        max-width: none;
        text-align: center;
    }
    .img-text-02._right-img figure img {
        max-width: 100%;
    }
    .img-text-02._right-img figure {
        max-width: none;
        margin-left: 0;
    }
    .img-text-02._right-img figure img {
        max-width: 100%;
    }
    .img-text-02._right-img .content {
        min-width: calc(100% - 772px);
        padding: 15px 10px 20px 10px;
    }
    .img-text-02._right-img .content .hdg {
        font-size: 2rem;
    }
    .img-text-02._right-img .content .hdg span {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 768px) {
    .img-text-02 {
        margin: 30px -10px 0;
    }
    .img-text-02 .list-desc-01 .inner {
        display: table;
    }
    .img-text-02 .list-desc-01 .inner dt, .img-text-02 .list-desc-01 .inner dd {
        display: table-cell;
    }
}

.img-text-03 {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin: 0 -30px;
    -ms-flex-align: center;
    align-items: center;
}

.img-text-03._right-img {
    -ms-flex-direction: row;
    flex-direction: row;
}

.img-text-03._right-img .content {
    position: relative;
    display: table;
    width: 480px;
    margin: auto -20px auto 0;
    padding: 10px;
    background: #1998ff;
}

.img-text-03._right-img .content .inner {
    padding: 43px 28px 48px 30px;
    border: 1px solid #fff;
}

.img-text-03._right-img .content .inner > *:first-child {
    margin-top: 0;
}

.img-text-03._right-img .content p {
    margin-top: 14px;
    color: #fff;
}

.img-text-03._right-img .content .lead {
    font-weight: bold;
    font-size: 2.4rem;
    color: #fff;
    line-height: 1.4;
}

.img-text-03 figure {
    width: calc(100% - 480px);
    min-height: 0;
    min-height: calc(0%);
}

.img-text-03 figcaption {
    display: block;
    margin-top: 10px;
    font-size: 1.2rem;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .img-text-03 {
        margin: 0 -20px;
        -ms-flex-align: inherit;
        align-items: inherit;
    }
    .img-text-03::before {
        display: none;
    }
    .img-text-03._right-img {
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
    .img-text-03._right-img figure {
        max-width: none;
        text-align: center;
    }
    .img-text-03._right-img figure img {
        max-width: 100%;
    }
    .img-text-03._right-img figure {
        width: 100%;
        max-width: none;
        margin-left: 0;
    }
    .img-text-03._right-img figure img {
        max-width: 100%;
    }
    .img-text-03._right-img .content {
        width: 100%;
    }
    .img-text-03._right-img .content .inner {
        padding: 20px;
    }
    .img-text-03._right-img .content .lead {
        font-size: 1.8rem;
    }
    .img-text-03._right-img .content p {
        margin-top: 11px;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 768px) {
    .img-text-03 {
        margin: 0 -10px;
    }
}

.img-mv-01 figure {
    max-width: 100%;
    text-align: center;
}

.img-mv-01 figcaption {
    padding: 13px;
    color: #fff;
    text-align: center;
    background: #f50;
}

@media screen and (max-width: 768px) {
    .img-mv-01 figcaption {
        padding: 10px;
        font-size: 1.4rem;
    }
}

.box-01 {
    margin-top: 30px;
    padding: 20px;
    background: #f0f2f5;
}

.box-01 > *:first-child {
    margin-top: 0;
}

.box-01 .hdg, .box-01 .lead {
    font-weight: bold;
    font-size: 1.8rem;
}

.box-01 .hdg + *, .box-01 .lead + * {
    margin-top: 12px;
}

.box-01._menu {
    background: #fff4e5;
}

.box-01._menu .list-bullet-01 > li { /*need*/
    font-size: 1.4rem;
}

.box-01._blue {
    background: #f1faff;
}

.box-01._blue .list-bullet-01 > li { /*need*/
    font-size: 1.4rem;
}
.box-01._pk {
    background: #fff0f3;
}
.box-01._pk .list-bullet-01 > li { /*need*/
    font-size: 1.4rem;
}
.box-01._pk .hdg, .box-01._pk .lead {
    position: relative;
    color: #c6001c;
}



.box-01._alert {
    background: #fff0f3;
}

.box-01._alert .hdg, .box-01._alert .lead {
    position: relative;
    padding-left: 28px;
    color: #c6001c;
}

.box-01._alert .hdg::before, .box-01._alert .lead::before {
    position: absolute;
    top: 5px;
    left: 0;
    display: block;
    width: 21px;
    height: 20px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -107px -62px;
    content: "";
}

.box-02 {
    position: relative;
    display: block;
    margin-top: 30px;
    padding: 20px 40px 20px 20px;
    background: #f1faff;
    border-radius: 4px;
}

.box-02:hover .inner, .box-02:active .inner, .box-02:focus .inner {
    text-decoration: none;
    opacity: .6;
}

.box-02 .inner {
    transition: all .4s;
}

.box-02 .inner::before {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    left: auto;
    display: block;
    width: 9px;
    height: 9px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.box-02::after {
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    border-width: 10px 18px 0 18px;
    border-style: solid;
    border-color: #f1faff transparent transparent;
    content: "";
}

@media screen and (max-width: 768px) {
    .box-02::after {
        display: none;
    }
}

.box-02 > *:first-child {
    margin-top: 0;
}

.box-02 .hdg {
    font-weight: bold;
    font-size: 1.8rem;
}

.box-02 .personal {
    margin-top: 8px;
    font-size: 1.2rem;
    color: #666;
}

.box-02 p {
    margin-top: 12px;
    font-size: 1.4rem;
}

.box-02 p .link {
    color: #4082c0;
}


td > a {
    color: #076bbb;
    transition: all .2s;
}

td > a:hover, td > a:active, td > a:focus {
    text-decoration: none;
    opacity: .6;
}

td > a:visited {
    text-decoration: none;
}

.tbl-scroll-wrapper {
    margin-top: 30px;
}

.tbl-scroll-wrapper [class^="tbl"] {
    margin-top: 0;
}

[class^="hdg"] + * > .tbl-scroll-wrapper {
    margin-top: 0;
}

.tbl-01 {
    width: 100%;
    margin-top: 30px;
    font-size: 1.5rem;
    line-height: 1.5;
    border-top: 1px solid #d9d9d9;
    border-left: 1px solid #d9d9d9;
}

.tbl-01 th > *:first-child, .tbl-01 td > *:first-child {
    margin-top: 0;
}

.tbl-01 thead th, .tbl-01 thead td {
    font-weight: bold;
    vertical-align: middle;
    text-align: center;
    background: #e6e9eb;
    border-right: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}

.tbl-01 td {
    word-break: break-all;
    border-right: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}

.tbl-01 td > p + ul, .tbl-01 td > p + ol {
    margin-top: 0;
}

.tbl-01 th, .tbl-01 td {
    padding: 12px 20px;
}

.tbl-01 tbody th {
    font-weight: bold;
    vertical-align: top;
    text-align: left;
    background: #f2f5f7;
    border-right: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}

.tbl-01 tbody td {
    vertical-align: middle;
    text-align: center;
    background: #fff;
}

.tbl-01 tbody td._left {
    text-align: left;
}

@media screen and (max-width: 768px) {
    .tbl-01 th, .tbl-01 td {
        padding: 12px 10px;
    }
    .tbl-scroll-wrapper {
        overflow-x: scroll;
    }
    .tbl-scroll-wrapper .tbl-01 {
        width: 768px;
    }
    .tbl-scroll-wrapper .tbl-01 th, .tbl-scroll-wrapper .tbl-01 td {
        padding: 12px 10px;
    }
    .tbl-scroll-wrapper .tbl-01 .tbl-01 {
        width: auto;
    }
    .tbl-scroll-wrapper .tbl-01._size-02 {
        width: 1024px;
    }
}

@media screen and (max-width: 768px) {
    .is-scroll {
        position: relative;
    }
    .is-scroll > .icon-scroll {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        display: block;
        width: 104px;
        height: 104px;
        margin: auto;
        background-image: url("/en/img/top/sprite.png");
        background-position: 0 0;
        content: "";
    }
}

.btn-align-c {
    margin-top: 30px;
    text-align: center;
}

.btn-align-l {
    margin-top: 30px;
    text-align: left;
}

.btn-align-r {
    margin-top: 30px;
    text-align: right;
}

[class^="btn"] > [href^="tel:"] {
    color: #fff;
}

[class^="btn"] > [href^="tel:"]:hover, [class^="btn"] > [href^="tel:"]:active, [class^="btn"] > [href^="tel:"]:focus {
    color: #fff;
    text-decoration: none;
}

[class^="btn"] > [href^="tel:"]:visited {
    text-decoration: none;
}

.btn-01 {
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    min-width: 340px;
    min-height: 54px;
    padding: 14px 40px;
    color: #fff;
    text-align: center;
    background: #005396;
    border-radius: 26px;
    transition: background .2s ease;
    transition: all .5s;
}

.btn-01::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background: #0062ad;
    border-radius: 26px;
    content: "";
    transition: all .5s;
}

.btn-01:hover::before, .btn-01:active::before, .btn-01:focus::before {
    width: 100%;
    opacity: 1;
}

@media screen and (max-width: 1024px) {
    .btn-01::before {
        content: none;
    }
}

.btn-01:hover::before, .btn-01:active::before, .btn-01:focus::before {
    color: #fff;
    text-decoration: none;
}

.btn-01::after {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    left: auto;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #fff;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.btn-01._size-02 {
    min-width: 240px;
    min-height: 42px;
    padding: 10px 40px;
}

@media screen and (max-width: 1024px) {
    .btn-01._size-02 {
        padding: 14px 40px;
    }
}

@media screen and (max-width: 1024px) {
    .btn-01 {
        width: 100%;
        min-width: inherit;
    }
}

@media screen and (max-width: 768px) {
    .btn-01 {
        padding: 14px 20px;
    }
}

.btn-01._close span {
    position: relative;
    padding-left: 15px;
}

.btn-01._close span::before {
    position: absolute;
    top: 2px;
    left: -8px;
    width: 15px;
    height: 15px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -189px -167px;
    content: "";
}

.btn-01._close::after {
    display: none;
}

.btn-02 {
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    min-width: 340px;
    min-height: 54px;
    padding: 14px 20px;
    color: #fff;
    text-align: center;
    background: #f50;
    border-radius: 26px;
    transition: background .2s ease;
    transition: all .5s;
}

.btn-02::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background: #ff6619;
    border-radius: 26px;
    content: "";
    transition: all .5s;
}
.btn-02:hover, .btn-02:active, .btn-02:focus, .btn-02:visited {
    color: #fff;
}
.btn-02:hover::before, .btn-02:active::before, .btn-02:focus::before {
    width: 100%;
    opacity: 1;
}
 .btn-02-simu {
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    min-width: 340px;
    min-height: 50px;
    padding: 14px 20px;
    color: #fff;
    text-align: center;
    background: #4472c4;
    border-radius: 26px;
    transition: background .2s ease;
    transition: all .5s;
    margin-top:10px;
    font-size: 1.5rem;
    font-weight: normal;
}

.btn-02-simu::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background: #005396;
    border-radius: 26px;
    content: "";
    transition: all .5s;
}
.btn-02-simu:hover::before,
.btn-02-simu:active::before,
.btn-02-simu:focus::before {
    width: 100%;
    opacity: .6;
    color: #fff;
    text-decoration: none;
}

.btn-02-simu ._search {
    position: relative;
    padding-left: 34px;
}
.btn-02-simu ._search img.icon-window {
   display: none!important;
}
.btn-02-simu ._search::before {
    position: absolute;
    top: 0;
    left: 10px;
    width: 15px;
    height: 20px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -133px -189px;
    content: "";
}

@media screen and (max-width: 1024px) {
    .btn-02::before {
        content: none;
    }
}

.btn-02:hover::before, .btn-02:active::before, .btn-02:focus::before {
    color: #fff;
    text-decoration: none;
}

@media screen and (max-width: 1024px) {
    .btn-02 {
        width: 100%;
        min-width: inherit;
        max-width: 30em;
    }
}
@media screen and (max-width: 980px) {
    .btn-02 {
        /*width: 50vw;*/
    }
}

@media screen and (max-width: 1024px) {
    .btn-02 {
        padding: 14px 13px;
    }
}

.btn-02 ._calc {
    position: relative;
    padding-left: 32px;
}

.btn-02 ._calc::before {
    position: absolute;
    top: -4px;
    left: 0;
    width: 22px;
    height: 28px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -246px -52px;
    content: "";
}

.btn-02 ._search {
    position: relative;
    padding-left: 32px;
}

.btn-02 ._search::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 20px;
    background-image: url("/en/img/top/sprite.png");
    background-position: -133px -189px;
    content: "";
}

.btn-03 {
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    min-height: 54px;
    padding: 14px 30px;
    color: #005396;
    text-align: center;
    background: #fff;
    border: 1px solid #bedbfc;
    border-radius: 26px;
    transition: background .2s ease;
    transition: all .5s;
}

.btn-03::after {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    left: auto;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.btn-03::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background: #005396;
    border-radius: 26px;
    content: "";
    transition: all .5s;
}

.btn-03:hover::before, .btn-03:active::before, .btn-03:focus::before {
    width: 100%;
    opacity: 1;
}

@media screen and (max-width: 1024px) {
    .btn-03::before {
        content: none;
    }
}

@media screen and (max-width: 1024px) {
    .btn-03 {
        width: 100%;
    }
}

.btn-03:hover, .btn-03:active, .btn-03:focus {
    color: #fff;
    text-decoration: none;
    background: #005396;
}

.btn-03:hover::after, .btn-03:active::after, .btn-03:focus::after {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    left: auto;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #fff;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.btn-04 {
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    min-width: 340px;
    padding: 14px 30px;
    color: #005396;
    text-align: center;
    background: #fff;
    border-radius: 26px;
    transition: background .2s ease;
    transition: all .5s;
}

.btn-04::after {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    left: auto;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #005396;
    border-top: 2px solid #005396;
    border-right: 2px solid #005396;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 1024px) {
    .btn-04 {
        width: 100%;
        min-width: inherit;
        min-width: auto;
    }
}

.btn-04::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background: #66a1ce;
    border-radius: 26px;
    content: "";
    transition: all .5s;
}

.btn-04:hover::before, .btn-04:active::before, .btn-04:focus::before {
    width: 100%;
    opacity: 1;
}

@media screen and (max-width: 1024px) {
    .btn-04::before {
        content: none;
    }
}

.btn-04:hover, .btn-04:active, .btn-04:focus {
    color: #fff;
    opacity: 1;
}

.btn-04::after {
    transition: border-color .2s ease;
    transition-delay: .2s;
}

.btn-04:hover::after, .btn-04:active::after, .btn-04:focus::after {
    border-color: #fff;
}


:placeholder-shown {
    color: #999;
    opacity: 1;
}

::-webkit-input-placeholder {
    color: #999;
}

:-ms-input-placeholder {
    color: #999;
}

::-moz-placeholder {
    color: #999;
    opacity: 1;
}

input[type="radio"], input[type="checkbox"] {
    position: relative;
    left: 0;
    z-index: -1;
}

.form-radio, .form-checkbox {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    min-width: 78px;
    padding-left: 10px;
    cursor: pointer;
}

.form-radio::before, .form-checkbox::before {
    position: absolute;
    left: -27px;
    z-index: 0;
    display: block;
    box-sizing: border-box;
    background: #f5f5f5;
    border: 1px solid #e6e6e6;
    content: "";
}

.form-radio::before {
    top: 0;
    width: 25px;
    height: 25px;
    border-top: 2px solid #e6e6e6;
    border-radius: 50%;
}

.form-radio::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -21px;
    z-index: 1;
    width: 13px;
    height: 13px;
    margin: auto 0;
    background: #0084ff;
    border-radius: 50%;
    content: "";
    opacity: 0;
    transition: opacity .2s linear 0s;
}

input[type="radio"]:checked + .form-radio::after {
    z-index: 1;
    opacity: 1;
}

input[type="radio"]:checked + .form-radio::before {
    background: #fff;
}

.form-checkbox::before {
    top: 0;
    bottom: 0;
    left: -27px;
    width: 25px;
    height: 25px;
    margin: auto 0;
    background: #f5f5f5;
    border: 1px solid #dedede;
    border-top: 2px solid #dedede;
    border-radius: 3px;
    transition: .2s linear 0s;
}

.form-checkbox::after {
    position: absolute;
    top: -3px;
    bottom: 0;
    left: -18px;
    z-index: 1;
    display: block;
    width: 7px;
    height: 12px;
    margin: auto 0;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    content: "";
    opacity: 0;
    transition: .2s linear 0s;
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

input[type="checkbox"]:checked + .form-checkbox::before {
    background: #0084ff;
}

input[type="checkbox"]:checked + .form-checkbox::after {
    opacity: 1;
}

.iframe-01 {
    width: 100%;
    height: 400px;
    margin-top: 30px;
}

@media screen and (max-width: 768px) {
    .iframe-01 {
        height: 300px;
    }
}

.iframe-02 {
    margin: 57px auto 0;
    text-align: center;
}

.iframe-02 iframe {
    width: 100%;
    max-width: 852px;
    height: 482px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .iframe-02 iframe {
        height: 300px;
    }
}

.icon-window {
    margin: -2px 3px 0 3px;
}

.icon-pdf {
    margin: -2px 3px 0 3px;
}

.carousel-wrap {
    margin-top: 20px;
}

.main-visual, .carousel-wrap {
    width: 100%;
}

.main-visual .carousel, .carousel-wrap .carousel {
    position: relative;
    overflow: hidden;
}

.main-visual .bg, .carousel-wrap .bg {
    position: absolute;
    top: -300px;
    z-index: 0;
    width: 2100px;
    height: 1600px;
    color: #fff;
    background: #f50;
    content: "";
}

.main-visual .text-wrap, .carousel-wrap .text-wrap {
    position: absolute;
    bottom: 40px;
    left: 68vw;
    color: #fff;
}

#topmain .main-visual .text-wrap .lead, .carousel-wrap .text-wrap p.lead {
    font-weight: bold;
    /*font-size: calc(40vw * 100 / 1350);*/
    font-size: calc(40vw * 100 / 1200);
    line-height: 1.3;
}

.main-visual .text-wrap * + p, .carousel-wrap .text-wrap * + p {
    margin-top: 20px;
}

.main-visual .bg-wrap._left .bg, .carousel-wrap .bg-wrap._left .bg {
    right: 55vw;
    -ms-transform: rotate(70deg);
    transform: rotate(70deg);
}

.main-visual .bg-wrap._right .bg, .carousel-wrap .bg-wrap._right .bg {
    left: 54vw;
    -ms-transform: rotate(110deg);
    transform: rotate(110deg);
}

.main-visual .content, .carousel-wrap .content {
    position: relative;
}

.main-visual .content > ul, .carousel-wrap .content > ul {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.main-visual .content > ul > li, .carousel-wrap .content > ul > li {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.main-visual .content .fix-image, .carousel-wrap .content .fix-image {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 28vw;
}

@media screen and (max-width: 1300px) {
    .main-visual .content .fix-image, .carousel-wrap .content .fix-image {
        width: 26vw;
    }
}

@media screen and (max-width: 1024px) {
    .main-visual .content .fix-image, .carousel-wrap .content .fix-image {
        bottom: 156px;
        width: 35vw;
    }
}
@media screen and (max-width: 750px) {
    .main-visual .content .fix-image, .carousel-wrap .content .fix-image {
        bottom: 196px;
        width: 35vw;
    }
}

.main-visual .slide-nav button, .carousel-wrap .slide-nav button {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30px;
    height: 60px;
    margin: auto;
    color: transparent;
    transition: all .2s;
}

.main-visual .slide-nav button:hover, .main-visual .slide-nav button:active, .main-visual .slide-nav button:focus, .carousel-wrap .slide-nav button:hover, .carousel-wrap .slide-nav button:active, .carousel-wrap .slide-nav button:focus {
    text-decoration: none;
    opacity: .6;
}

.main-visual .slide-nav button:visited, .carousel-wrap .slide-nav button:visited {
    text-decoration: none;
}

.main-visual .slide-nav .prev button, .carousel-wrap .slide-nav .prev button {
    left: 15px;
    z-index: 1;
    background: url(/en/img/top/btn_prev_01.png) no-repeat;
}

.main-visual .slide-nav .next button, .carousel-wrap .slide-nav .next button {
    right: 15px;
    z-index: 1;
    background: url(/en/img/top/btn_next_01.png) no-repeat;
}

@media screen and (max-width: 1800px) {
    .main-visual .bg-wrap._left .bg, .carousel-wrap .bg-wrap._left .bg {
        right: 45vw;
    }
    .main-visual .bg-wrap._right .bg, .carousel-wrap .bg-wrap._right .bg {
        left: 52vw;
    }
}

@media screen and (max-width: 1700px) {
    .main-visual .bg-wrap._left .bg, .carousel-wrap .bg-wrap._left .bg {
        right: 45vw;
    }
    .main-visual .bg-wrap._right .bg, .carousel-wrap .bg-wrap._right .bg {
        left: 50vw;
    }
}

@media screen and (max-width: 1600px) {
    .main-visual .bg-wrap._left .bg, .carousel-wrap .bg-wrap._left .bg {
        right: 45vw;
    }
    .main-visual .bg-wrap._right .bg, .carousel-wrap .bg-wrap._right .bg {
        left: 48vw;
    }
}

@media screen and (max-width: 1500px) {
    .main-visual .bg-wrap._left .bg, .carousel-wrap .bg-wrap._left .bg {
        right: 45vw;
    }
    .main-visual .bg-wrap._right .bg, .carousel-wrap .bg-wrap._right .bg {
        left: 43vw;
    }
}

@media screen and (max-width: 1300px) {
    .main-visual .bg-wrap._left .bg, .carousel-wrap .bg-wrap._left .bg {
        right: 40vw;
    }
    .main-visual .bg-wrap._right .bg, .carousel-wrap .bg-wrap._right .bg {
        left: 40vw;
    }
}

@media screen and (max-width: 1200px) {
    .main-visual .bg-wrap._left .bg, .carousel-wrap .bg-wrap._left .bg {
        right: 35vw;
    }
    .main-visual .bg-wrap._right .bg, .carousel-wrap .bg-wrap._right .bg {
        left: 35vw;
    }
}

@media screen and (max-width: 1100px) {
    .main-visual .bg-wrap._left .bg, .carousel-wrap .bg-wrap._left .bg {
        right: 30vw;
    }
    .main-visual .bg-wrap._right .bg, .carousel-wrap .bg-wrap._right .bg {
        left: 30vw;
    }
}

@media screen and (max-width: 1024px) {
    .main-visual .bg-wrap._right .text-wrap, .carousel-wrap .bg-wrap._right .text-wrap {
        position: static;
        text-align: left;
    }
    .main-visual .bg-wrap._left, .carousel-wrap .bg-wrap._left {
        right: 50vw;
    }
    .main-visual .content > ul > li > img, .carousel-wrap .content > ul > li > img {
        width: 100%;
    }
}

.main-visual .control-wrap, .carousel-wrap .control-wrap {
    position: relative;
}

.main-visual .control-wrap .dots-navigation, .carousel-wrap .control-wrap .dots-navigation {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 14px 0;
}

.main-visual .control-wrap .dots-navigation li:not(:last-child), .carousel-wrap .control-wrap .dots-navigation li:not(:last-child) {
    margin-right: 20px;
}

.main-visual .control-wrap .dots-navigation li button, .carousel-wrap .control-wrap .dots-navigation li button {
    width: 12px;
    height: 12px;
    font-size: 0;
    color: transparent;
    vertical-align: middle;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 50%;
}

.main-visual .control-wrap .dots-navigation li.current button, .carousel-wrap .control-wrap .dots-navigation li.current button {
    background: #999;
    border: none;
}

.main-visual .control-wrap .thumbnail-navigation, .carousel-wrap .control-wrap .thumbnail-navigation {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-top: 10px;
}

.main-visual .control-wrap .thumbnail-navigation li:not(:last-child), .carousel-wrap .control-wrap .thumbnail-navigation li:not(:last-child) {
    margin-right: 10px;
}

@media screen and (max-width: 768px) {
    .main-visual .control-wrap .thumbnail-navigation li:not(:last-child), .carousel-wrap .control-wrap .thumbnail-navigation li:not(:last-child) {
        margin-right: 5px;
    }
}

.main-visual .control-wrap .thumbnail-navigation li button, .carousel-wrap .control-wrap .thumbnail-navigation li button {
    opacity: .6;
    transition: all .2s;
}

@media screen and (min-width: 1024px) {
    .main-visual .control-wrap .thumbnail-navigation li button:hover, .main-visual .control-wrap .thumbnail-navigation li button:active, .main-visual .control-wrap .thumbnail-navigation li button:focus, .carousel-wrap .control-wrap .thumbnail-navigation li button:hover, .carousel-wrap .control-wrap .thumbnail-navigation li button:active, .carousel-wrap .control-wrap .thumbnail-navigation li button:focus {
        text-decoration: none;
        opacity: 1;
    }
    .main-visual .control-wrap .thumbnail-navigation li button:visited, .carousel-wrap .control-wrap .thumbnail-navigation li button:visited {
        text-decoration: none;
    }
}

.main-visual .control-wrap .thumbnail-navigation li.current button, .carousel-wrap .control-wrap .thumbnail-navigation li.current button {
    opacity: 1;
}

.main-visual .control-wrap .control, .carousel-wrap .control-wrap .control {
    position: absolute;
    bottom: 12px;
    left: 0;
}

.main-visual .control-wrap .control .pause, .main-visual .control-wrap .control .resume, .carousel-wrap .control-wrap .control .pause, .carousel-wrap .control-wrap .control .resume {
    overflow: hidden;
    width: 50px;
    height: 27px;
}

.main-visual .control-wrap .control .pause button:hover img, .main-visual .control-wrap .control .pause button:active img, .main-visual .control-wrap .control .pause button:focus img, .main-visual .control-wrap .control .resume button:hover img, .main-visual .control-wrap .control .resume button:active img, .main-visual .control-wrap .control .resume button:focus img, .carousel-wrap .control-wrap .control .pause button:hover img, .carousel-wrap .control-wrap .control .pause button:active img, .carousel-wrap .control-wrap .control .pause button:focus img, .carousel-wrap .control-wrap .control .resume button:hover img, .carousel-wrap .control-wrap .control .resume button:active img, .carousel-wrap .control-wrap .control .resume button:focus img {
    position: relative;
    top: -28px;
}
[data-script-enabled="true"] .main-visual .content > ul, [data-script-enabled="true"] .carousel-wrap .content > ul{
    display: flex;
}
.main-visual .content > ul,
.carousel-wrap .content > ul{
    display: flex;
}
@media screen and (max-width: 1024px) {
    .main-visual .bg-wrap, .carousel-wrap .bg-wrap {
        position: static;
        height: auto;
        padding: 15px 10px;
        color: #fff;
        background: #f50;
        border: none;
        opacity: 1;
    }
    .main-visual .bg, .carousel-wrap .bg {
        display: none;
    }
    .main-visual .text-wrap, .carousel-wrap .text-wrap {
        position: static;
        bottom: 0;
    }
    #topmain .main-visual .text-wrap .lead, #topmain .carousel-wrap .text-wrap .lead {
        font-size: 1.35rem;
        line-height: 1.3;
    }
    #topmain .main-visual .text-wrap .lead br, #topmain .carousel-wrap .text-wrap .lead br {
        display: none;
    }
    #topmain .main-visual .text-wrap .text, #topmain .carousel-wrap .text-wrap .text {
        font-size: 0.8rem;
    }
    #topmain .main-visual .text-wrap * + p, #topmain .carousel-wrap .text-wrap * + p {
        margin-top: 12px;
    }
}

.main-visual .content {
    background: #f50;
}

.main-visual .content > ul > li > img {
    width: calc(100% - 35vh);
}

@media screen and (max-width: 1024px) {
    .main-visual .content > ul > li > img {
        width: 100%;
    }
}

.carousel-btn-01 {
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    min-width: 280px;
    height: 50px;
    padding: 14px 30px;
    font-size: 1.0rem;
    color: #fff;
    text-align: center;
    background: transparent;
    border: 1px solid #fff;
    border-radius: 26px;
    transition: all .5s;
    line-height: 1.0;
}

.carousel-btn-01::after {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    left: auto;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #fff;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.carousel-btn-01::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background: #fff;
    border-radius: 26px;
    content: "";
    transition: all .5s;
}

.carousel-btn-01:hover::before, .carousel-btn-01:active::before, .carousel-btn-01:focus::before {
    width: 100%;
    opacity: 1;
}

@media screen and (max-width: 1024px) {
    .carousel-btn-01::before {
        content: none;
    }
}
.carousel-btn-01:visited {
    color: #fff;
}
.carousel-btn-01:hover, .carousel-btn-01:active, .carousel-btn-01:focus {
    color: #f50;
    background: #fff;
    opacity: 1;
}
.carousel-btn-01:hover::after, .carousel-btn-01:active::after, .carousel-btn-01:focus::after {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    left: auto;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    color: #f50;
    border-top: 2px solid #f50;
    border-right: 2px solid #f50;
    content: "";
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 1024px) {
    .carousel-btn-wrap {
        text-align: center;
    }
    .carousel-btn-wrap .carousel-btn-01 {
        width: 100%;
        min-width: initial;
        max-width: 500px;
    }
}
@media screen and (max-width: 980px) {
    .carousel-btn-wrap .carousel-btn-01 {
        width: 50vw;
    }
}
@media screen and (max-width: 750px) {
    .carousel-btn-wrap {
        text-align: center;
    }
    .carousel-btn-wrap .carousel-btn-01 {
        width: 100%;
        min-width: initial;
        max-width: 500px;
    }
}

[data-script-enabled="true"] .main-visual .content > ul, [data-script-enabled="true"] .carousel-wrap .content > ul {
    display: -ms-flexbox;
    display: flex;
}

[href^="tel"], p > [href^="tel"] {
    color: #333;
    outline: none;
    cursor: default;
}

[href^="tel"]:hover, [href^="tel"]:active, [href^="tel"]:focus, p > [href^="tel"]:hover, p > [href^="tel"]:active, p > [href^="tel"]:focus {
    text-decoration: none;
    opacity: 1;
}

[href^="tel"]:visited, p > [href^="tel"]:visited {
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    [href^="tel"], p > [href^="tel"] {
        color: #076bbb;
        transition: all .2s;
    }
    [href^="tel"]:hover, [href^="tel"]:active, [href^="tel"]:focus, p > [href^="tel"]:hover, p > [href^="tel"]:active, p > [href^="tel"]:focus {
        text-decoration: none;
        opacity: .6;
    }
    [href^="tel"]:visited, p > [href^="tel"]:visited {
        text-decoration: none;
    }
}

.modal-link {
    display: inline-block;
    transition: all .2s;
}

.modal-link:hover, .modal-link:active, .modal-link:focus {
    text-decoration: none;
    opacity: .6;
}

.modal-link:visited {
    text-decoration: none;
}

.modal-link .icon {
    margin: -4px 0 0 3px;
}

.modal-content {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1001;
    display: none;
    width: 100%;
    max-width: 1000px;
    max-height: 770px;
    margin: auto;
    font-weight: normal;
}

.modal-content .btn-close {
    position: absolute;
    top: -25px;
    right: -25px;
    overflow: hidden;
    width: 50px;
    height: 50px;
}

.modal-content .btn-close:hover img, .modal-content .btn-close:active img, .modal-content .btn-close:focus img {
    position: relative;
    top: -50px;
}

@media screen and (max-height: 815px) {
    .modal-content .btn-close {
        top: 0;
    }
}

.modal-content p, .modal-content dt, .modal-content dd {
    font-size: 1.2rem;
}

.modal-content .hdg-modal {
    font-weight: bold;
    font-size: 2.6rem;
    color: #005396;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .modal-content .hdg-modal {
        font-size: 2rem;
    }
}

.modal-content .carousel-wrap .control-wrap .thumbnail-navigation {
    padding-top: 20px;
}

.modal-content .carousel-wrap .control-wrap .thumbnail-navigation button > img {
    width: 100%;
    max-width: 120px;
}

.modal-content .carousel-wrap .control-wrap .thumbnail-navigation li:not(:last-child) {
    margin-right: 20px;
}

@media screen and (max-width: 1024px) {
    .modal-content {
        width: calc(100% - 20px);
        height: calc(100% - 65px);
    }
    .modal-content .btn-close {
        position: fixed;
        top: 20px;
        right: 5px;
    }
    .modal-content .carousel-wrap .control-wrap .thumbnail-navigation {
        padding-top: 10px;
    }
    .modal-content .carousel-wrap .control-wrap .thumbnail-navigation li:not(:last-child) {
        margin-right: 10px;
    }
}

.modal-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
    width: calc(100% - 20px);
    max-width: 1000px;
    height: calc(100% - 65px);
    max-height: 770px;
    margin: auto;
    font-weight: normal;
    background: #fff;
}

@media screen and (max-width: 1024px) {
    .modal-wrapper {
        position: fixed;
        top: 45px;
        right: 0;
        bottom: auto;
        left: 0;
        width: calc(100% - 20px);
        height: calc(100% - 65px);
    }
}

.modal-inner {
    max-width: 700px;
    margin: 0 auto;
    padding: 25px 20px;
}

@media screen and (max-width: 1024px) {
    .modal-inner {
        padding: 25px 15px;
    }
}

#modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 130%;
    background: #000;
    opacity: .7;
}

.wave {
    background: transparent;
    animation: moveTheWave 2400ms linear infinite;
    stroke-dasharray: 0 16 101 16;
}

@keyframes moveTheWave {
    0% {
        transform: translate3d 0, 0, 0;
        stroke-dashoffset: 0;
    }
    100% {
        transform: translate3d(-90px, 0, 0);
        stroke-dashoffset: -133;
    }
}

[data-script-enabled="true"] #loading {
    display: -ms-flexbox;
    display: flex;
    display: none\9;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
}

@media all and (-ms-high-contrast: none) {
    [data-script-enabled="true"] #loading {
        display: none;
    }
}

[data-script-enabled="true"] .js-filter-items.js-filter-on .js-filter-item {
    display: none;
}

[data-script-enabled="true"] .js-filter-items.js-filter-on .js-filter-item.is-active {
    display: -ms-flexbox !important;
    display: flex !important;
}

[data-script-enabled="true"] .link-index-02.js-filter-items {
    margin-top: 0;
}

[data-script-enabled="true"] .link-index-02.js-filter-items > li:first-child {
    padding-top: 30px;
}

[data-script-enabled="true"] .js-filter-noItem {
    display: none;
}

[data-script-enabled="true"] .js-filter-noItem.is-active {
    display: block;
}

.alc {
    text-align: center !important;
}

.all {
    text-align: left !important;
}

.alr {
    text-align: right !important;
}

.middle {
    vertical-align: middle !important;
}

.alc-l {
    text-align: center !important;
}

@media screen and (max-width: 768px) {
    .alc-l {
        text-align: left !important;
    }
}


@media only screen and (min-width: 1025px) {
.show-pc {
	display: block !important;
}
.show-sp {
	display: none !important;
}
.only-pc {
	display: block !important;
}
.only-tb {
	display: none !important;
}
.only-sp {
	display: none !important;
}
}
@media screen and (min-width:769px) and ( max-width:1024px) {
.show-pc {
	display: block !important;
}
.show-sp {
	display: none !important;
}
.only-pc {
	display: none !important;
}
.only-tb {
	display: block !important;
}
.only-sp {
	display: none !important;
}
}
@media only screen and (max-width: 768px) {
.show-pc {
	display: none !important;
}
.show-sp {
	display: block !important;
}
.only-pc {
	display: none !important;
}
.only-tb {
display: none !important;
}
.only-sp {
	display: block !important;
	}
}