/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Montserrat:200,300,400,500,600&display=swap');
@import url("https://use.typekit.net/vnd5mvd.css");

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.wf-loading { visibility: hidden;}
.wf-active { visibility: visible;}
/*------------------------------------------------------------
	メインコンテンツ等のスタイル
------------------------------------------------------------*/
html {
    scroll-behavior: smooth;
}
body {
  	font-family: "Montserrat", "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", sans-serif;
	font-size: 14px;
	letter-spacing: .05em;
    line-height: 2;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}
table, tr, th, td {
    border-collapse: collapse;
}
input, textarea, select, button {
    font-family: "Montserrat", "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", sans-serif;
    font-size: 100%;
    letter-spacing: .05em;
}
ul, ol, dl {
    margin: 0;
    padding: 0;
}
h1, h2, h3, h4, h5, h6, p {
    margin-top: 0;
}
img {
    vertical-align: bottom;
    image-rendering: -webkit-optimize-contrast;
}
a img {
    border: medium none;
    image-rendering: -webkit-optimize-contrast;
}
a {
    color: #000;
    text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}
a:link {
    color: #000;
    text-decoration: none;
}
a:visited {
    color: #000;
    text-decoration: none;
}
a:hover, a:active, a:focus {
    color: #4e4e4e;
    text-decoration: none;
}
.pc_tab_br {
	display: none;
}
.pc_br {
    display: none;
}
.tab_br {
	display: none;
}
.sp_br {
	
}
.fm_dnp {
    font-family: dnp-shuei-mgothic-std;
}
#wrapper {
    background-color: #fff;
    color: #000;
}
@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
body{
    animation: fadeIn 2s forwards;
}
/* スクロールCSS */
.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}
.fade-in-up {
  transform: translate(0, 50px);
}
.fade-in-down {
  transform: translate(0, -50px);
}
.fade-in-left {
  transform: translate(-50px, 0);
}
.fade-in-right {
  transform: translate(50px, 0);
}
.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}
/*------------------------------------------------------------
	key visual
------------------------------------------------------------*/
/* ---- navi top ----　*/
#key_visual_wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
/*    height: 100vh;*/
    z-index: 1;
    /*background-size: cover;
    background-image: url(../image/keyvisual.jpg);
    background-repeat: no-repeat;
    background-position: center center;*/
    position: relative;
}
.header_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0;
    height: 90px;
    padding: 0 20px;
    position: absolute;
    top: 0;
    z-index: 2;
    width: 100%;
}
.header_top_left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header_top_logo {
    padding: 0;
}
.header_top_logo a {
    display: flex;
}
.header_top_logo img {
    width: 220px;
}
.header_top_right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.header_top_right_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.global_nav_top {
    display: flex;
    align-items: center;
    font-size: 15px;
}
.global_nav_top li {
    margin-right: 50px;
}
.global_nav_top li a {
    display: block;
    color: #fff;
    letter-spacing: 2px;
    font-weight: 500;
}
.header_top_contact {
    display: block;
    width: 113px;
    height: 113px;
}
.header_top_contact img {
    width: 100%;
    height: 100%;
}
/**/
.header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0;
    height: 90px;
    padding: 0 20px;
    position: relative;
    z-index: 2;
    width: 100%;
}
.header_left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header_logo {
    padding: 0;
}
.header_logo a {
    display: flex;
}
.header_logo img {
    width: 220px;
}
.header_right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: none;
}
.header_right_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.global_nav {
    display: flex;
    align-items: center;
    font-size: 15px;
}
.global_nav li {
    margin-right: 50px;
}
.global_nav li a {
    display: block;
    letter-spacing: 2px;
    font-weight: 500;
}
.header_contact {
    display: block;
    width: 113px;
    height: 113px;
}
.header_contact img {
    width: 100%;
    height: 100%;
}




.ri-grid{
/*    margin: 30px auto 30px;*/
    position: relative;
    height: auto;
}
.ri-grid ul {
    list-style: none;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}
/* Clear floats by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.ri-grid ul:before,
.ri-grid ul:after{
    content: '';
    display: table;
}
.ri-grid ul:after {
    clear: both;
}
.ri-grid ul {
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */
} 
.ri-grid ul li {
    -webkit-perspective: 400px;
    -moz-perspective: 400px;
    -o-perspective: 400px;
    -ms-perspective: 400px;
    perspective: 400px; 
    margin: 0;
    padding: 0;
    float: left;
    position: relative;
    display: block;
    overflow: hidden;
    background: #000;
}
.ri-grid ul li a{
    display: block;
    outline: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #333;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
/* Grid wrapper sizes */
.ri-grid-size-1{
    width: 55%;
}
.ri-grid-size-2{
    width: 100%;
}
.ri-grid-size-3{
    width: 100%;
    margin-top: 0px;
}
/* Shadow style */
/*.ri-shadow:after,
.ri-shadow:before{
    content: "";
    position: absolute;
    z-index: -2;
    bottom: 15px;
    left: 10px;
    width: 50%;
    height: 20%;
    max-width: 300px;
    max-height: 100px;
    box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
    -webkit-transform: rotate(-3deg);
    -moz-transform: rotate(-3deg);
    -ms-transform: rotate(-3deg);
    -o-transform: rotate(-3deg);
    transform: rotate(-3deg);
}
.ri-shadow:after{
    right: 10px;
    left: auto;
    -webkit-transform: rotate(3deg);
    -moz-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    -o-transform: rotate(3deg);
    transform: rotate(3deg);
}*/
.ri-grid-loading:after,
.ri-grid-loading:before{
    display: none;
}
.ri-loading-image{
    display: none;
}
.ri-grid-loading .ri-loading-image{
    position: relative;
    width: 30px;
    height: 30px;
    left: 50%;
    margin: 100px 0 0 -15px;
    display: block;
}

.ri-grid{
    width: 100%;
}

.ri-grid ul li {
    width: 33.3333% !important;
    height: 125px !important;
}
.ri-grid ul li a {
    width: 100%;
    height: 100%;
    background-size: cover !important;;
}
.ri-grid ul li a img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
}

.keyvisual_cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0, .4);
}

 /*----*/
.kv_copy_wrap {
    width: 100%;
    padding: 0 7% 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    position: absolute;
    bottom: 160px;
}
.kv_copy_inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    font-size: 40px;
    color: #fff;
    text-align: left;
}
.kv_copy_inner h2 {
    font-size: 13vw;
    line-height: 1.2;
    font-weight: 600;
}
.kv_copy_inner p {
    font-size: 18px;
    line-height: 1.6;
    padding-left: 3px;
}

/* ---- kv_movie ----　*/
/* video */
.video {
    width: 100%;
    height: 100vh;
    background: url(../image/keyvisual.jpg) no-repeat center/cover;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: 0;
}
.video::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #000;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .3;
}
.video video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
@media screen and (min-width: 768px) {
    /* kv */
    .kv {
        min-width: 960px;
    }
    .kv .main-copy {
        font-size: 60px;
    }
    .kv .sub-copy {
        font-size: 30px;
    }
    /* video */
    .video {
        min-width: 960px;
    }
}

/* ---- navi common----　*/
#page_header_wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 458px;
    position: relative;
}
#page_header_wrap::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 80%;
    height: 100%;
    background: #f5f7fa;
    z-index: 1;
}
.header_cm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0;
    height: 180px;
    padding: 0 80px;
    z-index: 2;
}
.header_left_cm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header_logo_cm {
    padding: 0;
}
.header_logo_cm a {
    display: flex;
}
.header_logo_cm img {
    width: 226px;
}
.header_right_cm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.header_right_inner_cm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.global_nav_cm {
    display: flex;
    align-items: center;
}
.global_nav_cm li {
    margin-left: 50px;
    letter-spacing: 2px;
}
.global_nav_cm li a {
    display: block;
}
 /*----*/
.page_title_warp {
    width: 100%;
    padding: 45px 8% 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 2;
}
.page_title_inner {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}
.page_title_en {
    font-size: 58px;
    letter-spacing: 5px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 10px;
}
.page_title_jp {
    font-size: 14px;
}
.p_head_elmnt {
    position: absolute;
    bottom: -80px;
    right: 30px;
    z-index: 2;
}
.p_head_elmnt img {
    width: 680px;
}

/* ---------- sp_menu　---------　*/
/*menu*/
.nav_area_wrap {
    position: fixed;
    right: 20px;
    top: 20px;
    height: 30px;
    width: 30px;
}
.nav_area {

}
.menu {
    height: 12px;
    position: fixed;
    right: 25px;
    top: 40px;
    width: 36px;
    z-index: 99;
    cursor: pointer;
    mix-blend-mode: exclusion;
}
.menu__line {
    background: #fff;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;

}
.menu__line--bottom {
    bottom: 0;
}
.menu__line--top.active {
    top: 4px;
    transform: rotate(45deg);
}
.menu__line--bottom.active {
    bottom: 6px;
    transform: rotate(135deg);
}
/*gnav*/
.gnav {
    background: #fff;
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 98;
}
.gnav__wrap {
    display: flex;
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    display: flex;
    justify-content: center;
    padding: 10%;
    flex-direction: column;
    overflow-y: scroll;
}
.hmg_logo {
    margin-bottom: 30px;
}
.hmg_logo img {
    width: 240px;
}


.bl_menu_top {

}
.bl_menu_top a {
    display: block;
    font-size: 18px;
    font-weight: bold;
    padding: 20px 30px 20px 0;
}
/* ==========================
  menu アコーディオン
========================== */
.bl_accordion {
    border-bottom: 1px solid #dbdbdb ;
    margin-bottom: 15px;
}
.bl_accordionTitle {
    font-size: 18px;
    font-weight: bold;
    padding: 20px 30px 20px 0;
    transition: 0.3s;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    border-top: 1px solid #dbdbdb;
}
.bl_accordionTitle::before {
    content: "";
    width: 13px;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    transition: 0.3s;
}
.bl_accordionTitle::after {
    content: "";
    width: 1px;
    height: 14px;
    background-color: #000;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 6px;
    transition: 0.3s;
}
.bl_accordionTitle.active::after {
    opacity: 0;
}
.bl_accordionTitle:hover::after, .bl_accordionTitle:hover::before, .bl_accordionTitle.active::after, .bl_accordionTitle.active::before {
    background-color: #000;
}
.bl_accordionTitle:hover, .bl_accordionTitle.active {
    
}
.bl_accordionTitle+.bl_accordionContent {
    display: none;
    padding: 18px 30px;
    background-color: #f8f8f8;
    margin-bottom: 30px;
    border-radius: 5px;
}
.bl_accordionContent>*+* {
    margin-top: 10px;
}
.bl_accordionContent ul {

}
.bl_accordionContent ul li {
    position: relative;
}
.bl_accordionContent ul li:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    height: 1px;
    width: 100%;
    background-image: linear-gradient(to right,#cccbca,#cccbca,1px,transparent 1px,transparent 3px);
    background-size: 3px 1px;
    background-repeat: repeat-x;
}
.bl_accordionContent ul li:first-child:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    height: 1px;
    width: 100%;
    background-image: none;
}
.bl_accordionContent ul li a {
    display: block;
    padding: 10px 0;
}
/* ==========================
  タブ以外のコンテンツの中身
========================== */
.ly_inner {
    width: 100%;
    max-width: 1080px;
    margin: 100px auto;
    padding: 30px;
    background-color: #ccc;
}
.ly_inner h2 {
    font-size: 250%;
    font-weight: bold;
    margin-bottom: 30px;
}
.md_textblock>*+* {
    margin-top: 10px;
}
.md_markList {
    list-style-type: disc;
    margin-left: 1.4rem;
}
/* ====================================
  ここからPC幅
==================================== */

@media screen and (min-width: 768px) {
    .hp_displaySP {
        display: none !important;
    }
}
/* ====================================
  ここからスマホ幅
==================================== */

@media screen and (max-width: 767px) {
    .hp_displayPC {
        display: none !important;
    }
}



.gnav__menu {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.gnav__menu__item {
    margin: 10px 0;
    text-align: center;
    width: 100%;
    text-align: left;
}
.gnav__menu__item a {
    font-size: 22px;
    text-align: center;
    font-weight: bold;
    letter-spacing: 5px;
    text-decoration: none;
    transition: .2s;
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 1;
}
.gnav__menu__item a:hover {
    
}
.gnav__menu__item a span {
    margin-left: 10px;
}
.gnav__menu2 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.gnav__menu__item2 {
    margin: 10px 0;
    text-align: center;
    width: 100%;
    text-align: left;
}
.gnav__menu__item2 a {
    font-size: 13px;
    text-align: center;
    text-decoration: none;
    transition: .2s;
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 1;
}
.gnav__menu__item2 a:hover {
    
}
.gnav__menu__item2 a span {
    margin-left: 10px;
}
.hbg_sns {
    padding: 20px 0 23px;
    border-top: 1px solid #0f3e5b;
    border-bottom: 1px solid #0f3e5b;
}
.hbgs_ttl {
    font-size: 12px;
    margin-bottom: 14px;
    color: #9d9d9d;
    letter-spacing: 2px;
    line-height: 1;
}
.hbgs_link {
    display: flex;
    align-items: center;
}
.hbgs_link li {
    margin-right: 13px;
}
.hbgs_link li a {
    display: flex;
}
.hbgs_link li a img {
    height: 30px;
}
/**

/* ---------- sp_menu　---------　*/
.fullscreenmenu {
    
}
.menu2, .menu2 span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    box-sizing: border-box;
}
.menu2 {
    position: fixed;
    top: 34px;
    right: 25px;
    width: 35px;
    height: 22px;
    z-index: 10;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
.menu2 span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
    box-shadow: 1px 1px #fff;
    z-index: 10;
}
.menu2 span:nth-of-type(1) {
    top: 0px;
}
.menu2 span:nth-of-type(2) {
    top: 10px;
}
.menu2 span:nth-of-type(3) {
    bottom: 0px;
}
.menu2.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
}
.menu2.active span:nth-of-type(2) {
    opacity: 0;
}
.menu2.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg);
}
#nav2 {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    width: 100%;
    height: 100vh;
    opacity: 0;
    background-color: #fff;
    transition: all 0.3s ease-in-out;
    visibility: hidden;
}
#nav2.active {
    right: 0;
    opacity: 1;
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    visibility: visible;
}
#nav2 ul {
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#nav2 ul li {
    list-style-type: none;
}
#nav2 ul li a {
    display: block;
    padding: 15px 0;
    transition: all 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: 5px;
}
#nav2 ul li a:hover {
    color: #f65d5d;
}
/**

/*------------------------------------------------------------
　top
------------------------------------------------------------*/
#main_top {
    background-color: #fff;
}
/**/
.top_strong_wrap {
    width: 100%;
    padding: 0px 5% 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: -30px;
}
.top_strong_inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
}
.top_strong_card_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.top_strong_card {
    width: 100%;
    position: relative;
    margin-bottom: 20px;
}
.t_panel_num {
    position: absolute;
    left: 28px;
    top: -27px;
    z-index: 2;
}
.t_panel_num img {
    width: auto;
    height: 55px;
}
.tsc_image {
    position: relative;
}
.tsc_image::before {
    content: "";
    display: block;
    padding-top: 170px;
}
.tsc_image_inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 32px 25px 32px 35px;
    border-radius: 10px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.t_panel_1 {
    background-color: #004f9c;
}
.t_panel_2 {
    background-color: #e8c619;
}
.t_panel_3 {
    background-color: #44a5ab;
}
.tsc_elemnt {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.tsce_1 {

}
.tsce_1 p {
    font-size: 17px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    margin-bottom: 5px;
    letter-spacing: 2px;
}
.tsce_1 h4 {
    font-size: 11px;
    font-weight: normal;
    line-height: 1.2;
    color: #fff;
}
.tsce_2 {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
}
.tsc_more {
    width: 60px;
    height: 60px;
}
.tsc_more img {
    width: 100%;
    height: 100%;
}
/**/
.top_news_wrap {
    width: 100%;
    padding: 0px 8% 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.top_news_inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
.tn_block_wrap {
    display: flex;
    flex-direction: column;
}
.tn_block_ttl {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 35px;
}
.tn_block_ttl_inner {
    font-size: 28px;
    line-height: 1;
    letter-spacing: 1px;
    font-weight: 600;
}
.vd_btn {
    padding-left: 2px;
}
.vd_btn span {
    background: url(../image/icon/vd_more_1.svg) no-repeat right center / 20px 20px;
    padding-right: 26px;
    height: 20px;
    display: flex;
    align-items: center;
    font-size: 12px;
}
.tn_block_cont {
    flex: 1;
}
.tn_list {

}
.tn_list li {
    border-bottom: 1px solid #e8e8e8;
    margin-bottom: 25px;
}
.tn_list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
.tn_txt_box {
    display: flex;
    align-items: center;
    padding-bottom: 25px;
}
.tntb_date {
    width: 90px;
    display: flex;
    justify-content: baseline;
}
.tntb_date_inner {
     display: flex;
     flex-direction: column;
     align-items: center;
     width: 60px;
}
.tntbd_1 {
    font-size: 10px;
    font-weight: normal;
    letter-spacing: 1px;
}
.tntbd_2 {
    font-size: 32px;
    line-height: 1;
    font-weight: 600;
}
.tntb_ttl {
    flex: 1;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.8;
}

/*------------------------------------------------------------
    共通
------------------------------------------------------------*/
#main {
    background-color: #fff;
    position: relative;
}
#main_r {
    background-color: #fff;
}
#page_head {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
#page_head_common {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
#page_head_recruit {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.__company {
    background-image: url(../image/ph_company.jpg);
}
.header_cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0, .4);
}
.head_view_l {
    width: 78%;
    box-sizing: content-box;
    position: absolute;
    top: 0;
    height: 460px;
    background-image: url(../image/page_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.head_view_r {
    width: 84%;
    box-sizing: content-box;
    background: 50% 50% no-repeat;
    background-image: none;
    background-size: auto auto;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
    overflow: hidden;
    height: 590px;
    background: #000;
}
.page_title {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 50px 8% 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.page_title_r {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 50px 8% 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.pt_inner {
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.pagetitle {
    display: block;
    margin-bottom: 30px;
}
.pagetitle h2 {
    font-size: 30px;
    letter-spacing: 3px;
    line-height: 1;
    margin-bottom: 10px;
    font-weight: bold;
}
.pagetitle p {
    line-height: 1;
    padding-left: 4px;
    font-size: 11px;
    font-weight: normal;
}
.page_inner_nav {
    display: flex;
    flex-wrap: wrap;
}
.page_inner_nav li {
    margin-right: 20px;
}
.page_inner_nav li:last-child {
    margin-right: 0px;
}
.page_inner_nav li a {
    font-size: 13px;
    font-weight: bold;
    color: #44a5ab !important;
}
.pankuzu {
    width: 100%;
    padding: 110px 9% 150px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
}
.pankuzu_inner {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    font-size: 12px;
    padding-left: 5px;
}
.pankuzu_inner a {
    color: #bbbbbb;
}
.pankuzu_inner hr {
    background-color: #bbbbbb;
    margin: 0 18px;
    height: 1px;
    width: 5px;
    border: 0;
}
.pankuzu_inner span {
    color: #b0b0b0;
}

.cont_ttl_1 {
    font-size: 28px;
    line-height: 1;
    margin-bottom: 80px;
    font-weight: 600;
}
.cont_ttl_1:after {
    content: "";
    display: block;
    height: 4px;
    width: 20px;
    background-color: #004f9c;
    bottom: -26px;
    left: 3px;
    border-radius: 100vh;
    position: relative;
}
.cont_ttl_1_sub {
    font-size: 14px;
    color: #004f9c;
    line-height: 1;
    margin-bottom: 40px;
}

.under_construction {
    min-height: 300px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 600;
}


















































#content{
    
}

.ttl1,.ttl2{
    color: #fff !important;
}

.fare-calendar .fare-rates {
    position: relative;
    background: #332E32;
}

.fare-calendar .fare-rates .fare-monthcontainer {
    color: #092a5e ;
    /*display:table-cell;*/
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month {
    margin: 0 4px;
    /*vertical-align: bottom;*/
    display: inline-block;
    width: 88px;
    text-align: center;
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month a
, .fare-calendar .fare-rates .fare-monthcontainer .fare-month span {
    display: block;
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month span:first-of-type {
    margin-bottom: 7px;
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month span:last-of-type {
    margin: 10px 0 7px;
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month button.btn2 {
    width: 60px;
    padding-left: 0;
    padding-right: 0;
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month span.fare-price {
    min-height: 20px;
    background-color: #FFF ;
    transform-origin: 100% 100%;
    -webkit-animation: priceAnimation 0.5s 1 ease-in-out;
    -moz-animation: priceAnimation 0.5s 1 ease-in-out;
    -o-animation: priceAnimation 0.5s 1 ease-in-out;
    border-radius: 3px;
    /*                        -webkit-transition: all 0.5s 1 ease-in-out;
    -moz-transition: all 0.5s 1 ease-in-out;
    -o-transition: all 0.5s 1 ease-in-out; */
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month span.fare-price.cheapest {
    background-color: #EF3D84 ;
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month span.fare-price:hover {
    background-color: #ccc ;
    cursor: pointer;
}

.fare-calendar .fare-rates .fare-monthcontainer .fare-month span.fare-price.cheapest:hover {
    background-color: #C13773 ;
    cursor: pointer;
}


@-webkit-keyframes priceAnimation {
    from {-webkit-transform: scaleY(0.1);}
    to {-webkit-transform: scaleY(1.0);}
}

@-moz-keyframes priceAnimation {
    from {-moz-transform:scaleY(0.1);}
    to {-moz-transform:scaleY(1.0);}
}

@-o-keyframes priceAnimation {
    from {-o-transform:scaleY(0.1);}
    to {-o-transform:scaleY(1.0);}
}
 




























/*------------------------------------------------------------
    greeting
------------------------------------------------------------*/
.greeting_wrap {
    width: 100%;
    padding: 0px 8% 140px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.greeting_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
}
.g_ceo_image_wrap {
    width: 428px;
    margin-right: 80px;
}
.g_ceo_image {
    margin-bottom: 30px;
}
.g_ceo_image img {
    width: 100%;
}
.g_ceo_name {
    text-align: center;
    font-weight: bold;
}
.gcn_c {

}
.gcn_p {
    
}
.gcn_p span {
    font-size: 18px;
    margin-left: 10px;
}
.g_ceo_massage {
    flex: 1;
}
.g_ceo_massage p {
    margin-bottom: 30px;
}

/*------------------------------------------------------------
    company
------------------------------------------------------------*/
.company_menu_wrap {
    width: 100%;
    padding: 0px 8% 120px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.company_menu_inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #e9e9e9;
    padding-bottom: 25px;
}
.company_menu_ttl {
    font-weight: 600;
    font-size: 30px;
    line-height: 1;
    position: relative;
    padding-left: 18px;
}
.company_menu_ttl::before {
    background-color: #e8c619;
    border-radius: 100vh;
    content: "";
    height: 8px;
    width: 8px;
    position: absolute;
    top: 12px;
    left: 0;
}
.company_menu {
    display: flex;
}
.company_menu li {
    margin-right: 30px;
}
.company_menu li:last-child {
    margin-right: 0px;
}
.company_menu li a {
    display: block;
    letter-spacing: 1px;
}
.cmclick {
    font-weight: 600;
}
.company_top_wrap {
    width: 100%;
    padding: 10px 8% 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.company_top_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.company_message {
    font-size: 12vw;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    padding-bottom: 50px;
    border-bottom: 1px solid #000;
}
.company_message_wrap {
    width: 100%;
    padding: 0 8% 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.company_message_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
/*.inner_ttl {
    font-weight: bold;
    font-size: 32px;
    position: relative;
    letter-spacing: 2px;
    margin-bottom: 60px;
}
.inner_ttl:after {
    content: "";
    width: 20px;
    height: 4px;
    border-radius: 100vh;
    background-color: #004f9c;
    position: absolute;
    left: 0;
    bottom: 0;
}*/
.inner_ttl_1 {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.6;
    position: relative;
    padding-left: 16px;
    letter-spacing: 2px;
    margin-bottom: 30px;
}
.inner_ttl_1::before {
    background-color: #004f9c;
    border-radius: 100vh;
    content: "";
    height: 6px;
    width: 6px;
    position: absolute;
    top: 13px;
    left: 0;
}
.inner_ttl_2 {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.6;
    position: relative;
    padding-left: 16px;
    letter-spacing: 2px;
    margin-bottom: 30px;
}
.inner_ttl_2::before {
    background-color: #e8c619;
    border-radius: 100vh;
    content: "";
    height: 6px;
    width: 6px;
    position: absolute;
    top: 13px;
    left: 0;
}
.inner_ttl_2 span {
    display: block;
    font-size: 11px;
    margin-top: 2px;
    font-weight: normal;
}
.inner_ttl_3 {
    font-weight: bold;
    font-size: 30px;
    line-height: 1.6;
    position: relative;
    padding-left: 20px;
    letter-spacing: 2px;
    margin-bottom: 60px;
}
.inner_ttl_3::before {
    background-color: #44a5ab;
    border-radius: 100vh;
    content: "";
    height: 8px;
    width: 8px;
    position: absolute;
    top: 20px;
    left: 0;
}
.ceo_message {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
}
.ceo_message_cont {
    width: 100%;
}
.ceo_message_cont p {
    margin-bottom: 40px;
}
.ceo_image {
    width: 100%;
    margin: 0 auto 110px;
    height: 300px;
    border-radius: 10px;
    background-image: url(../image/ceo_maruoka.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
}
.ceo_image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.ceo_name {
    width: 100%;
    position: absolute;
    right: 0;
    bottom: -70px;
}
.ceo_name_inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}
.ceo_name_inner h4 {
    font-size: 10px;
    line-height: 1.6;
    margin-bottom: 5px;
}
.ceo_name_inner h3 {
    font-size: 14px;
    line-height: 1.6;
    font-weight: bold;
}
.ceo_name_inner h3 span {
    font-size: 17px;
    margin-left: 10px;
}
.corner_ci_1 {
    position: absolute;
    width: 15px;
    height: 15px;
    top: -15px;
    right: 0;
    display: flex;
    display: none;
}
.corner_ci_1 img {
    width: 100%;
    height: auto;
}
.corner_ci_2 {
    position: absolute;
    width: 15px;
    height: 15px;
    bottom: 0;
    left: -15px;
    display: flex;
    display: none;
}
.corner_ci_2 img {
    width: 100%;
    height: auto;
}
.company_numbers_wrap {
    width: 100%;
    padding: 0 8% 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.company_numbers_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.company_numbers {
    display: flex;
    flex-wrap: wrap;
    margin-right: -2%;
}
.cn_box {
    width: 100%;
    margin-bottom: 20px;
    background-color: #f8f8f8;
    padding: 50px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cnb_ttl {
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    font-size: 22px;    
}
.cnb_ico_1 {
    height: 160px;
    margin-bottom: 30px;
}
.cnb_ico_1 img {
    height: 100%;
    max-width: 100%;
}
.cnb_ico_2 {
    height: 150px;
    margin-bottom: 30px;
}
.cnb_ico_2 img {
    height: 100%;
    max-width: 100%;
}
.cnb_num {
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
}
.cnbn_1 {
    font-family: alternate-gothic-no-1-d, sans-serif;
    margin-right: 5px;
/*    font-size: 50px;*/
    font-size: 70px;
    color: #44a5ab;
    font-weight: normal;
}
.cnbn_2 {
    font-family: alternate-gothic-no-1-d, sans-serif;
    margin: 0 5px;
/*    font-size: 50px;*/
    font-size: 70px;
    color: #44a5ab;
    font-weight: normal;
}
.cnb_sup {
    text-align: center;
    margin-top: 3px;
    font-size: 11px;
}
.company_data_sup {
    font-size: 10px;
}

/*-------------------------------*/
.company_overview_wrap {
    width: 100%;
    padding: 0 8% 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.company_overview_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.company_overview {

}
.table_company {
    width: 100%;
}
.table_company tr {
    display: flex;
    flex-direction: column;
    border-bottom: solid 1px #e9e9e9;
}
.table_company tr:last-of-type {
    display: flex;
    flex-direction: column;
    border-bottom: none;
}
.table_company th {
    width: 100%;
    padding: 25px 0 0;
    text-align: left;
    display: flex;
    align-items: center;
    font-weight: bold;
}
.table_company td {
    flex: 1;
    padding: 5px 0 25px 8px;    
    text-align: left;
}
.c_list_1 {

}
.c_list_1 li {
    margin-left: 18px;
    line-height: 1.8;
}
.c_list_1 li::before {
    content: '●';
    left: 0;
    color: #000;
    margin-right: 3px;
    margin-left: -18px;
    display: inline-block;
    font-size: 10px -webkit-transform:scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5);
}
.c_list_1 li:last-child {
    
}
.c_list_2 {

}
.c_list_2 li {
    margin-bottom: 20px;
}
.c_list_2 li:last-child {
    margin-bottom: 0px;
}
.c_list_2 li span {
    font-weight: bold;
}
.ca_btn {
    display: inline-block;
    margin-top: 5px;
}
.ca_btn span {
    background: url(../image/icon/ca_more.svg) no-repeat right center / 18px 18px;
    padding-right: 25px;
    height: 18px;
    display: flex;
    align-items: center;
}

/*-------------------------------*/
.company_bm_wrap {
    width: 100%;
    padding: 0 8% 100px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.company_bm_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.boardmember {
    padding-top: 10px;
}
.boardmember_box {
    margin-bottom: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid #e9e9e9;
    display: flex;
    flex-direction: column;
}
.boardmember_box:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
    display: flex;
    flex-direction: column;
}
.bb_position {
    width: 100%;
    margin-bottom: 20px;
}
.bbp_1 {
    font-size: 12px;
}
.bb_position_inner {
    display: flex;
    align-items: center;}
.bbp_2 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.8;
    margin-right: 15px;
}
.bbp_3 {
    font-size: 10px;
    color: #919191;
}
.bb_career {
    flex: 1;
    font-size: 13px;
}
.bb_career dl {
    display: flex;
    width: 100%;
    line-height: 1.8;
    margin-bottom: 10px;
}
.bb_career dl:last-child {
    margin-bottom: 0px;
}
.bb_career dl dt {
    width: 100px;
}
.bb_career dl dd {
    flex: 1;
}

/*-------------------------------*/
.company_history_wrap {
    width: 100%;
    padding: 0 8% 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.company_history_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.c_timeline_wrap {

}
.c_timeline_ttl {
    font-size: 30px;
    text-align: center;
    color: #44a5ab;
    line-height: 1;
    margin-bottom: 40px;
}
.timeline {
    
}
.timeline-list {
    padding: 0;
}
.timeline-list-item {
    display: flex;
}
.timeline-list-item .date {
    width: 80px;
    padding: 3px 0 0;
    font-weight: bold;
    color: #44a5ab;
    font-size: 14px;
    line-height: 1;
}
.timeline-list-item .date .date_1 {
    font-size: 16px;
    margin-right: 2px;
    letter-spacing: 1px;
}
.timeline-list-item .date .date_2 {
    font-size: 16px;
    margin-top: -3px;
}
.timeline-list-item .content {
    position: relative;
    flex: 1;
    padding: 0 0 40px 20px;
    border-left: 1px solid #e9e9e9;    
}
.timeline-list-item .content::before {
    content: "";
    position: absolute;
    top: 7px;
    left: -4px;
    width: 8px;
    height: 8px;
    background-color: #44a5ab;
    border-radius: 10px;
}
.timeline-list-item .content dl {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 40px;
}
.timeline-list-item .content dl:last-child {
    margin-bottom: 0px;
}
.timeline-list-item .content dl dt {
    width: 100%;
    font-size: 14px;
    color: #44a5ab;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 5px;
}
.timeline-list-item .content dl dd {
    flex: 1;
    line-height: 1.8;
    font-size: 13px;
}

/*-------------------------------*/
.company_access_wrap {
    width: 100%;
    padding: 0 8% 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.company_access_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.access_box {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    align-items: center;
    margin-bottom: 80px;
}
.access_box:last-of-type {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    align-items: center;
    margin-bottom: 0px;
}
.ab_cont {
    width: 100%;
}
.abc_ttl {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.8;
}
.abc_address {
    margin-bottom: 30px;
}
.abc_googlemap {
    width: 100%;
    height: 50px;
    border: 1px solid #000;
    border-radius: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.abc_googlemap span {
    background: url(../image/icon/window.svg) no-repeat right center / 13px 13px;
    padding-right: 18px;
    font-weight: bold;
}
.ab_map {
    width: 100%;
    height: 220px;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 30px;
}
.ab_map iframe {
    width: 100% !important;
    height: 100% !important;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}


/*------------------------------------------------------------
    business
------------------------------------------------------------*/
.business_top_wrap {
    width: 100%;
    padding: 10px 8% 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.business_top_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.business_message {
    font-size: 11vw;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 50px;
    padding-bottom: 40px;
    border-bottom: 1px solid #000;
}
.business_message_sub {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
}
.bms_txt {
    width: 100%;
    font-size: 14px;
    margin-bottom: 40px;
}
.bms_modal {
    width: 100%;
}
.modal-002__wrap {
    width: 100%;
}






.modal_open_btn_wrap {
    display: flex;
}
/* ==========================
  モーダル（ポップアップ）
========================== */
#modal {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
}
.modal_open_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 45px;
    border: none;
    padding-left: 55px;
    background: url(../image/icon/list.svg) no-repeat left center / 45px 45px;
    font-weight: bold;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
.modal_inner {
    position: fixed;
    height: 80vh;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #f8f8f8;
    width: 90%;
    max-width: 1100px;
    border-radius: 10px;
}
.modal_close_btn {
    background-color: #777;
    color: #fff !important;
    border: 2px solid #fff;
    border-radius: 20px;
    width: 36px;
    height: 36px;
    line-height: 1.4;
    text-align: center;
    display: table-cell;
    position: fixed;
    top: -17px;
    right: -4%;
    z-index: 99999;
    font-size: 24px;
    font-weight: normal;
}







/* modal-1 */
.modal-001__wrap {
    display: flex;
}
.modal-001__wrap input {
    display: none;
}
.modal-001__open-label, .modal-001__close-label {
    cursor: pointer;
}
.modal-001__open-label {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 45px;
    border: none;
    padding-left: 55px;
    background: url(../image/icon/list.svg) no-repeat left center / 45px 45px;
    font-weight: bold;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
/*.modal-001__open-label:hover {
    background-color: #fff;
    color: #22ccbb;
    outline: 1px solid #22ccbb;
}*/
.modal-001 {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
}
.modal-001__open-input:checked+label+input+.modal-001 {
    display: block;
    animation: modal-002-animation .6s;
}
.modal-001__content-wrap {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1100px;
    background-color: #f8f8f8;
    z-index: 2;
    border-radius: 10px;
}
.modal-001__close-label {
    background-color: #777;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 20px;
    width: 36px;
    height: 36px;
    line-height: 1.4;
    text-align: center;
    display: table-cell;
    position: fixed;
    top: -37px;
    right: -37px;
    z-index: 99999;
    font-size: 24px;
    font-weight: normal;
}
.modal-001__content {
    max-height: 80vh;
    overflow-y: auto;
}
.modal-001__background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
    z-index: 1;
    cursor: pointer;
}
@keyframes modal-001-animation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@media only screen and (max-width: 520px) {
    .modal-001__open-label {
        
    }
    .modal-001__close-label {
        top: -17px;
        right: -4%;
    }
    .modal-001__content-wrap {
        width: 90vw;
    }
    .modal-001__content {
        
    }
}
/* modal-2 */
.modal-002__wrap input {
    display: none;
}
.modal-002__open-label, .modal-002__close-label {
    cursor: pointer;
}
.modal-002__open-label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 60px;
    border: 1px solid #000;
    border-radius: 8px;
    font-weight: bold;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
/*.modal-002__open-label:hover {
    background-color: #fff;
    color: #22ccbb;
    outline: 1px solid #22ccbb;
}*/
.modal-002 {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
}
.modal-002__open-input:checked+label+input+.modal-002 {
    display: block;
    animation: modal-002-animation .6s;
}
.modal-002__content-wrap {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1100px;
    background-color: #f8f8f8;
    z-index: 2;
    border-radius: 10px;
}
.modal-002__close-label {
    background-color: #777;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 20px;
    width: 36px;
    height: 36px;
    line-height: 1.4;
    text-align: center;
    display: table-cell;
    position: fixed;
    top: -37px;
    right: -37px;
    z-index: 99999;
    font-size: 24px;
    font-weight: normal;
}
.modal-002__content {
    max-height: 80vh;
    overflow-y: auto;
}
.modal-002__background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
    z-index: 1;
    cursor: pointer;
}
@keyframes modal-002-animation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@media only screen and (max-width: 520px) {
    .modal-002__open-label {
        
    }
    .modal-002__close-label {
        top: -17px;
        right: -4%;
    }
    .modal-002__content-wrap {
        width: 90vw;
    }
    .modal-002__content {
        
    }
}

.modal_business_list {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;
    padding: 20px;
}
.modal_business_list_of {
    overflow-y: auto;
}
.modal_business_list_inner {
    width: 100%;
}
.mbli_box {
    background-color: #fff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    padding: 25px 30px 40px;
    margin-bottom: 15px;
}
.mbli_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid #000;
}
.mbli_ttl {

}
.mbli_ttl p {
    font-size: 10px;
    line-height: 1.8;
}
.mbli_ttl h3 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8;
}
.mbli_ico {
    width: 21px;
    display: flex;
}
.mbli_ico img {
    width: 100%;
}
.mbli_cont {

}
.mbli_cont ul {
    width: 100%;
}
.mbli_cont ul li {
    margin-bottom: 30px;
}
.mbli_cont ul li:last-child {
    margin-bottom: 0px;
}
.mbli_cont ul li a {
    display: flex;
    justify-content: center;
}
.mbli_cont ul li a img {
    
}
.bl_1 {
    height: 22px;
}
.bl_2 {
    height: 26px;
}
.bl_3 {
    height: 32px;
}
.bl_4 {
    height: 32px;
}
.bl_5 {
    height: 16px;
}
.bl_6 {
    height: 36px;
}
.bl_7 {
    height: 42px;
}

/*-------------------------------*/
.business_brand_wrap {
    width: 100%;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.business_brand_ttl {
    border-bottom: 1px solid #e9e9e9;
}
.business_brand_ttl_inner {
    padding: 0 8%;
}
.business_brand_ttl_inner h2 {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}
.business_brand_ttl_inner h2 img {
    width: 180px;
}
.business_brand_list {
    width: 100%;
    padding: 40px 0 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.business_brand_inner {
    
}

/*  right to left */
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
    margin-bottom: 10px;
}
.scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0
}
.scroll-infinity__list--left {
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
/*    width: calc(100vw / 6);*/
    margin: 0 5px;
}

.scroll_infinity_image {
    display: block;
    width: 160px;
    position: relative;
}
.scroll_infinity_image::before {
    content: "";
    display: block;
    padding-top: 65%;
}
.scroll_infinity__inner_image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.scroll_infinity__inner_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
.scroll_infinity_cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0, .45);
    border-radius: 5px;
}
.scroll_infinity_name {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: center;
    flex-direction: column;
    color: #fff;
    font-size: 13px;
    letter-spacing: 1px;
    font-weight: bold;
}
/* left to right */
@keyframes infinity-scroll-right {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0%);
    }
}
.scroll-infinity__list--right {
    animation: infinity-scroll-right 80s infinite linear 0.5s both;
}

/*-------------------------------*/
.business_detail_wrap {
    width: 100%;
    padding: 0 8% 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.business_detail_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.sec_business {
    margin-bottom: 100px;
}


.contet-wrap {
  max-width: 700px;
}
.main-img{
  width: 100%;
}
.main-img img{
  display: block;
  width: 100%;
  height: auto;
}
.sub-img{
  display: flex;
  flex-wrap: wrap;
}
.img-wrap{
  width: 20%;
}
.img-wrap img{
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
}
.img-wrap img:hover{
  opacity: 0.6;
}



#navi li {
    width: 60px;
    height: 60px;
    float: left;
    background: none;
    padding: 0 10px 0px 0;
    margin: 0 0 10px 0;
}
#navi li a {
    display: block;
}
#navi li a:link {}
#navi li a:visited {}
#navi li a:hover {
    opacity: 0.8;
}
#navi li a:active {
    opacity: 0.8;
}
/* IE用 ↓*/
#navi li a:hover img {
    filter: alpha(opacity=80);
}
#photo {
    margin: 20px 0 0 0;
}
#photo img {
    position: absolute;
    width: 100%;
    height: auto;
    max-width: 700px;
}
/* mod_gallery(複数設置の場合)
-----------------------------------------*/
.mod_gallery {
    margin-bottom: 30px;
}
/* .mod_gallery_navi */
.mod_gallery_navi ul {
    display: flex;
    justify-content: center;
}
.mod_gallery_navi ul li {
    margin-right: 1%;
    margin-bottom: 1%;
    cursor: pointer;
    width: 19%;
    position: relative;
}
.mod_gallery_navi ul li::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}
.mod_gallery_navi ul li a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.mod_gallery_navi ul li a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}
.mod_gallery_navi li a:link {}
.mod_gallery_navi li a:visited {}
.mod_gallery_navi li a:hover {
    opacity: 0.8;
}
.mod_gallery_navili a:active {
    opacity: 0.8;
}
/* IE用 ↓*/
.mod_gallery_navi li a:hover img {
    filter: alpha(opacity=80);
}
/* mod_gallery_photo */
.mod_gallery_photo {
    position: relative;
    margin-bottom: 1%;
    overflow: hidden;
}
.mod_gallery_photo::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}
.mod_gallery_photo_inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.mod_gallery_photo_inner img {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    object-fit: cover;
}



.sb_detail_image_wrap {
    margin-bottom: 50px;
}
.sb_detail_image {
    position: relative;
    margin-bottom: 1%;
}
.sb_detail_image::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}
.sb_detail_image_inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.sb_detail_image_inner img {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    object-fit: cover;
}
.subImg {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-right: -1%;
}
.subImg li {
    width: 12%;
/*    height: 100px;*/
    cursor: pointer;
    margin-right: 1%;
    margin-bottom: 1%;
    position: relative;
}
.subImg li::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}
.subImg_inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.subImg_inner img {
    width: 100%;
    height: 100%;
    border-radius: 5px;
    object-fit: cover;
}

.business_inner_cont {
    max-width: 600px;
    margin: 0 auto;
}
.bic_logo_wrap {
    margin-bottom: 30px;
}
.bic_logo {
    text-align: center;
    margin-bottom: 10px;
}
.bic_logo img {
    
}
.bicl_1 {
    height: 40px;
}
.bicl_2 {
    height: 20px;
}
.bicl_3 {
    height: 30px;
}
.bicl_4 {
    height: 60px;
}
.bicl_5 {
    height: 80px;
}
.bic_logo_sub {
    text-align: center;
    font-size: 11px;
}
.bic_instagram {
    margin-top: 15px;
    display: flex;
    justify-content: center;
}
.bic_instagram a {

}
.bic_instagram a img {
    width: 20px;
    display: flex;
}
.bic_txt {
    margin-bottom: 30px;
}
.bic_txt a {
    text-decoration: underline;
}
.bic_btn {
    width: 100%;
    display: block;
    padding: 10px 20px;
    border: 1px solid #000;
    border-radius: 5px;
    background: url(../image/icon/window.svg) no-repeat 95% 17px / 13px 13px;
    text-align: center;
    margin-top: 20px;
}
.bic_btn span {
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 2px;
}
.anchorlink {
    position: relative;
    display: block;
    top: -30px;
}


/*------------------------------------------------------------
    recruit
------------------------------------------------------------*/
.recruit_top_wrap {
    width: 100%;
    padding: 10px 8% 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.recruit_top_inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
.recruit_message {
    font-size: 10vw;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    padding-bottom: 50px;
    border-bottom: 1px solid #000;
}
.recruit_job_wrap {
    width: 100%;
    padding: 0 8% 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.recruit_job_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.recruit_job_ttl {
    margin-bottom: 50px;
}
.recruit_job_ttl h2 {
    line-height: 1.6;
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 4px;
}
.recruit_job_ttl p {
    font-size: 13px;
}
.r_entry_wrap {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.r_entry_box {
    background-color: #44a5ab;
    border-radius: 10px;
    width: 100%;
    position: relative;
    margin-bottom: 25px;
}
.r_entry_box::before {
    content: "";
    display: block;
    padding-top: 260px;
}
.r_entry_box_inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.re_ttl_en {
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 2px;
}
.re_ttl_jp {
    font-size: 28px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 10px;
    letter-spacing: 2px;
}
.re_more {

}
.re_more img {
    width: 80px;
    height: auto;
}

/*----------------------------*/
.recruit_interview_wrap {
    width: 100%;
    padding: 0 8% 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.recruit_interview_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.r_interview_ttl {
    margin-bottom: 30px;
}
.r_interview_ttl h2 {
    font-size: 26px;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 5px;
}
.r_interview_ttl p {
    font-size: 11px;
}
.r_interview_ttl_sub {
    margin-bottom: 40px;
    font-size: 12px;
}
.r_interview_ttl_sub span {
    text-align: right;
    display: block;
    margin-top: 4px;
    font-size: 12px;
}

.employee_list {
    display: flex;
    flex-wrap: wrap;
    margin-right: -2%;
}
.employee_list li {
    width: 48%;
    margin-right: 2%;
    height: 280px;
    margin-bottom: 30px;
}
.employee_list li:nth-child(2) {
    margin-top: 40px;
}
.employee_list li:nth-child(3) {
    margin-top: -40px;
}
.employee_list li:nth-child(4) {
    margin-top: 0px;
}
.employee_list li:nth-child(5) {
    margin-top: -40px;
}
.employee_list li:nth-child(6) {
    margin-top: 0px;
}
.employee_list li:nth-child(7) {
    margin-top: -40px;
}
.employee_list li:nth-child(8) {
    margin-top: 0px;
}
.employee_list li:nth-child(9) {
    margin-top: -40px;
}
.employee_list li:nth-child(10) {
    margin-top: 0px;
}
.employee_list li:nth-child(11) {
    margin-top: -40px;
}
.employee_list li:nth-child(12) {
    margin-top: 0px;
}
.employee_list_2 {
    display: flex;
    flex-wrap: wrap;
    margin-right: -2%;
}
.employee_list_2 li {
    width: 48%;
    margin-right: 2%;
    height: 300px;
    margin-bottom: 20px;
}
.employee_box {
    display: block;
    position: relative;
    border-radius: 10px;
    overflow: hidden;    
    height: 100%;
    width: 100%;
}
.employee_image {
    width: 100%;
    height: 100%;
}
.employee_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cover_border_e {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(rgba(0,0,0,0) 60%, rgba(0,0,0, .53));
}
.employee_name_body {
    display: flex;
    flex-direction: column;
    color: #fff;
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 0 35px 40px;
}
.employee_name_body_inner {
    font-size: 18px;
    line-height: 1.8;
    font-weight: bold;
}

.recruit_conversation_wrap {

}
.recruit_conversation_cover {
    display: flex;
}
.rcc_image {
    flex: 1;
    height: 240px;
}
.rcc_image img {
    width: 100%;
    height: 100%;
    border-radius: 0 8px 8px 0;
    object-fit: cover;
}
.rcc_ttl_en {
    width: 50px;
    text-align: center;
}
.rcc_ttl_en img {
    height: 200px;
}
.conversation_intro_wrap {
    width: 100%;
    padding: 30px 8% 100px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
/*    margin-top: -25px;*/
    position: relative;
}
.conversation_intro_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.cvi_ttl_box {
/*    background-color: #00348a;*/
    border-radius: 5px;
    color: #00348a;
    /*width: 180px;
    height: 50px;*/
    display: flex;
/*    justify-content: center;*/
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
}
.cvi_ttl {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 20px;
}
.cvi_cont {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.cvic_txt {
    flex: 1;
    margin-bottom: 40px;
    font-size: 13px;
}
.cvic_btn {
    width: 100%;
}
.cvic_btn a {
    width: 100%;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    border: 1px solid #00348a;
}
.cvic_btn a span {
    background: url(../image/icon/arrow_rc.svg) no-repeat right center / 30px 30px;
    display: inline-block;
    padding-right: 50px;
    height: 30px;
    font-size: 16px;
    font-weight: bold;
    line-height: 30px;
    color: #00348a;
}

.r_numbers_wrap {
    width: 100%;
    padding: 0 8% 100px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}
.r_numbers_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.r_numbers_block {
    background-color: #00348a;
    color: #fff !important;
    display: flex;
    justify-content: space-between;
    padding: 35px 35px 35px;
    align-items: center;
    border-radius: 10px;
    flex-direction: column;
}
.r_numbers_cont {
    margin-bottom: 30px;
}
.rnc_ttl_en {
    font-size: 13px;
    margin-bottom: 20px;
    line-height: 1.6;
}
.rnc_ttl_jp {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 20px;
}
.rnc_txt {
    line-height: 1.6;
    font-size: 13px;
}
.r_numbers_more {

}
.r_numbers_more img {
    width: 70px;
    height: auto;
}

.r_intern_wrap {
    width: 100%;
    padding: 0 8% 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}
.r_intern_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.r_intern_block {
    background-color: #44a5ab;
    color: #fff !important;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    padding: 35px 35px 35px;
    border-radius: 10px;
}
.r_intern_cont {
    margin-bottom: 30px;
}
.ric_ttl_en {
    font-size: 13px;
    margin-bottom: 20px;
}
.ric_ttl_jp {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 20px;
}
.ric_txt {
    line-height: 1.6;
    font-size: 13px;
}
.r_intern_more {

}
.r_intern_more img {
    width: 70px;
    height: auto;
}

/*----------------------------*/
.guideline_top_wrap {
    width: 100%;
    padding: 20px 8% 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.guideline_top_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.guideline_top_ttl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}
.guideline_top_ttl h2 {
    display: flex;
    justify-content: space-between;
    font-size: 20px;
    font-weight: bold;
}
.guideline_top_copy {
    font-size: 10vw;
    font-weight: bold;
    margin-right: -26px;
}
.r_method_wrap {
    width: 100%;
    padding: 60px 8% 140px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #f7f7f7;
    border-radius: 24px 24px 0 0;
}
.r_method_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.r_method_ttl {
    margin-bottom: 40px;
}
.r_method_ttl h2 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 4px;
}
.r_method_ttl p {
    font-size: 13px;
}
.sec_method {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 60px;
    flex-direction: column;
}
.method_box {
    width: 100%;
    padding: 30px;
    border-radius: 10px;
    margin-bottom: 25px;
}
._mbc_1 {
    background-color: #e8c619;
}
._mbc_2 {
    background-color: #44a5ab;
}
._mbc_3 {
    background-color: #00348a;
}
.method_box h3 {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 25px;
}
.method_box_inner {
    background-color: #fff;
    border-radius: 8px;
    padding: 25px 30px;
    font-weight: bold;
    font-size: 13px;
}

.flow_list {
    display: flex;
    flex-wrap: nowrap;
    margin: 0 auto 0;
    flex-direction: column;
}
.flow_list li {
    width: 100%;
    display: flex;
    margin-bottom: 20px;
}
.flow_list li .number {
    font-size: 16px;
    margin-right: 15px;
    letter-spacing: .09em;
    position: relative;
    color: #e9535e;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
}
.flow_list li:not(:last-child) .number::before {
    content: "";
    display: block;
    width: 9px;
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #e9535e;
    transform: rotate(41deg);
    transform-origin: right bottom;
}
.flow_list li:not(:last-child) .number::before {
    width: 7px;
    top: calc(100% + 4px);
    right: 0;
    left: 6px !important;
    transform: rotate(307deg);
    transform-origin: top left;
}
.flow_list1 li:not(:last-child) .number::before {
    left: calc(50% + 154px);
}
.flow_list li:not(:last-child) .number::after {
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(50% + 63px);
    margin: auto;
    background-color: #e9535e;
}
.flow_list1 li:not(:last-child) .number::after {
    width: 100px;
}
.flow_list1 li:not(:last-child) .number::after {
    width: 1px !important;
    height: calc(100% - 30px);
    top: 38px;
    bottom: 0;
    left: 0;
    right: 0;
}
.flow_list_block {
    flex: 1;
}
.flow_list li .title {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 1.5;
}
.flow_list li .description {
    font-size: 13px;
    letter-spacing: .03em;
    line-height: 1.91;
    margin-top: 3px;
}

.r_description_wrap {
    width: 100%;
    padding: 60px 8% 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 24px 24px 0 0;
    margin-top: -60px;
    position: relative;
}
.r_description_inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
.description_ttl {
    font-size: 22px;
    border-bottom: 1px solid #000;
    padding-bottom: 5px;
    margin-bottom: 40px;
    font-weight: bold;
}
.description_block {
    display: flex;
    flex-direction: column;
    padding-bottom: 80px;
    margin-bottom: 70px;
    border-bottom: 1px solid #000;
}
.description_inner_ttl {
    width: 100%;
    margin-bottom: 30px;
}
.description_inner_ttl h3 {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 5px;
    line-height: 1.6;
}
.description_intro {

}
.di_btn {
    display: inline-block;
    background: url(../image/icon/bt_dr.svg) no-repeat left center / 16px 16px;
    padding-left: 20px;
    height: 16px;
    line-height: 16px;
    margin-top: 5px;
    font-size: 12px;
}
.main_description {
    width: 100%;
}
.main_description_inner {
    margin-bottom: 50px;
}
.main_description_inner dl {
    border-bottom: 1px solid #d2d2d2;
    display: flex;
    margin-bottom: 25px;
    padding-bottom: 25px;
    line-height: 1.8;
    flex-direction: column;
}
.main_description_inner dl dt {
    width: 100%;
    font-weight: bold;
    margin-bottom: 3px;
}
.main_description_inner dl dd {
    flex: 1;
    line-height: 1.8;
}

/**/
.js-modal-open {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 70px;
    padding: .6em 2em;
    border: 1px solid #00348a;
    border-radius: 8px;
    background-color: #fff;
    color: #00348a !important;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 3px;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
.js-modal-open:hover {
    background-color: #00348a;
    color: #fff !important;
    outline: 1px solid #00348a;
}
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    z-index: 10;
}
.modal-bg {
    position: absolute;
    height: 100vh;
    width: 100%;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.6);
}
.modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
/*    overflow: scroll;*/
    /* はみ出た部分はスクロールさせる */
/*    height: 70%;*/
    /* これが無いと「overflow:scroll」が利かない */
    width: 90%;
    /* これが無いと「overflow:scroll」が利かない */
    background: #f8f8f8;
    padding: 25px 25px 20px;
    border-radius: 8px;
}
.modal-content-inner {
    overflow: scroll;
    height: 100%;
    width: 100%;
}
body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}
.entry_modal_ttl {
    background-color: #fff;
    border-radius: 8px;
    position: relative;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.05);
}
.entry_modal_ttl::after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: calc(50% - 13px);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 13px solid transparent;
    border-left: 13px solid transparent;
    border-top: 16px solid #ffffff;
    border-bottom: 0;
}
.entry_modal_ttl h2 {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 5px;
}
.entry_modal_ttl p {
    text-align: center;
    font-size: 12px;
}
.entry_modal_select {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
}
.ems_btn {
    width: 100%;
    margin-bottom: 15px;
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 8px;
}
._sb1 {
    background-color: #e8c619;
}
._sb2 {
    background-color: #44a5ab;
}
._sb3 {
    background-color: #00348a;
}
.ems_ttl {
    font-weight: bold;
    font-size: 17px;
    line-height: 1.4;
    color: #fff;
}
.ems_ico {

}
.ems_ico img {
    width: 50px;
    height: auto;
}


.js-modal-close-btn {
    display: block;
    position: absolute;
    top: 0;
    right: 0;    
    background-color: #777;
    color: #fff !important;
    border: 2px solid #fff;
    border-radius: 20px;
    width: 36px;
    height: 36px;
    line-height: 1.4;
    text-align: center;
    display: table-cell;
    top: -17px;
    right: -4%;
    z-index: 99999;
    font-size: 24px;
}

/*----------------------------*/
.entry_form_wrap {
    width: 100%;
    padding: 20px 8% 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.entry_form_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.entry_form_indent {

}
.entry_title_trial {
    position: relative;
    padding: 12px 20px;
    color: #fff;
    border-radius: 8px;
    background: #e8c619;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 50px;
}
.entry_title_trial:after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 11px solid transparent;
    border-left: 11px solid transparent;
    border-top: 12px solid #e8c619;
    border-bottom: 0;
}
.entry_title_casual {
    position: relative;
    padding: 12px 20px;
    color: #fff;
    border-radius: 8px;
    background: #44a5ab;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 50px;
}
.entry_title_casual:after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 11px solid transparent;
    border-left: 11px solid transparent;
    border-top: 12px solid #44a5ab;
    border-bottom: 0;
}
.entry_title_direct {
    position: relative;
    padding: 12px 20px;
    color: #fff;
    border-radius: 8px;
    background: #00348a;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 50px;
}
.entry_title_direct:after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 11px solid transparent;
    border-left: 11px solid transparent;
    border-top: 12px solid #00348a;
    border-bottom: 0;
}
.entry_title_wrap {
    margin-bottom: 40px;
    padding: 0 5px;
}
.entry_title_type {
    font-weight: bold;
    font-size: 15px;
    line-height: 1.6;
    position: relative;
    padding-left: 14px;
    letter-spacing: 2px;
}
.entry_title_type::before {
    background-color: #00348a;
    border-radius: 100vh;
    content: "";
    height: 6px;
    width: 6px;
    position: absolute;
    top: 10px;
    left: 0;
}
.entry_title_location {
    font-size: 20px;
    font-weight: bold;
}


.mdl_form_table {
    width: 100%;
    table-layout: fixed;
}
.mdl_form_table tr {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}
.mdl_form_table th {
    width: 100%;
    padding: 0;
    text-align: left;
    position: relative;
    vertical-align: middle;
    font-weight: normal;
    display: flex;
    align-items: center;
    line-height: 1.6;
    background-color: #fff;
    font-weight: bold;
    margin-bottom: 5px;
}
.mdl_form_table th span {
    color: #ff0054;
    padding-left: 3px;
}
.tbth_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
/*.mdl_form_table th p {
    font-size: 11px;
}*/
.mdl_input {
/*    display: flex;*/
}
.mdl_input_select {
    position: relative;
    margin: 0;
}
.mdl_form_table td {
    padding: 0;
    vertical-align: middle;
    flex: 1;
}
/*.mdl_form_table td span {
    font-size: 12px;
    margin-top: 4px;
    display: block;
    line-height: 1.4;
}*/
.sec_input {
    margin-bottom: 10px;
}
.tbtd_sup {
    font-size: 11px;
}
.mdl_form_table label {
    cursor: pointer;
    margin-right: 15px;
    display: inline-block;
}
.mdl_form_table input.input_text {
    width: 100%;
    height: 60px;
    padding: 10px 15px;
    background: #fff;
    box-sizing: border-box;
    border: 1px solid #e1e1e1;
    margin: 0;
    border-radius: 8px;
}
.mdl_form_table input.input_text_100 {
    max-width: 220px;
    height: 70px;
    padding: 10px 20px;
    background: #fff;
    box-sizing: border-box;
    border: 1px solid #e1e1e1;
    margin-right: 0;
    border-radius: 8px;
}
.mdl_form_table .input_textarea {
    width: 100%;
    padding: 20px;
    background: #fff;
    box-sizing: border-box;
    border: 1px solid #e1e1e1;
    min-height: 180px;
    margin: 0;
    border-radius: 8px;
}
.form_slct_100 {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 8px;
    height: 70px;
    padding: 10px 30px 10px 20px;
    background-image: url(../image/icon/arrow_d_b.svg);
    background-position: right 15px center;
    background-repeat: no-repeat;
    background-size: 8px 5px;
    border: 1px solid #e1e1e1;
    width: 100%;
    background-color: #fff;
}
.form_slct_80 {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 2px;
    height: 40px;
    padding: 10px 20px 10px 8px;
    background-image: url(../image/icon/arrow_d_b.svg);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 8px 5px;
    border: 1px solid #e1e1e1;
    width: 80px;
    background-color: #fff;
}
input.radio_01 {
    margin-right: 4px;
}
input.input_cal {
    margin-right: 10px;
    margin-bottom: 15px;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 8px;
    box-sizing: border-box;
    height: 70px;
    width: 220px;
    padding: 10px 30px 10px 20px;
    border: 1px solid #e1e1e1;
    background-color: #fff;
}
.form_sup_1 {
    font-size: 11px;
    margin-top: 8px;
    line-height: 1.5;
}
.form_sup_2 {
    font-size: 13px;
    margin-top: 8px;
    line-height: 1.8;
}
.block_submit_attention {
    text-align: center;
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
}
.mdl_btn_wrap2 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}
.mdl_btn_wrap2 input {
    padding: 10px 30px;
    background-color: #00348a;
    color: #fff;
    cursor: pointer;
    border-style: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    margin: 0 15px;
    height: 60px;
    min-width: 240px;
    border-radius: 8px;
    letter-spacing: 2px;
    font-weight: bold;
}

.agree_terms {
    border: 1px solid #f0f0f0;
    padding: 40px;
    max-width: 860px;
    height: 180px;
    margin: 0 auto 40px;
    overflow-y: scroll;
}
.agree_terms_inner {    
    font-size: 13px;
}
.form_check {
    text-align: center;
    margin-bottom: 40px;
}
.retain {
    font-size: 10px;
    cursor: pointer;
}
.retain a {
    text-decoration: underline;
}
.retain_check {

}

.entry_fin {
    background-color: #f7f7f7;
    padding: 35px 35px 35px;
    max-width: 800px;
    margin: 0 auto;
    border-radius: 10px;
}
.entry_fin_ttl {
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.8;
    font-size: 18px;
}
.entry_fin_txt {

}
.entry_fin_txt p {
    margin-bottom: 20px;
    font-size: 12px;
    text-align: center;
}

.error_explanation {
    background: none repeat scroll 0 0 #fff;
    border: 1px solid #ff0000;
    margin-bottom: 50px;
    padding: 20px 25px 25px;
    border-radius: 10px;
}
.error_explanation h2 {
    color: #ff0000;
    background: url(../image/icon/e_mark.svg) no-repeat left center / 15px auto;
    padding-left: 22px;
    font-size: 14px;
    font-weight: bold;
}
.fa-exclamation-circle {
    margin-right: 5px;
}
.error_explanation ul {
    margin: 10px 0 0 20px;
}
.error_explanation li {
    color: #ff0000;
    list-style: outside none none;
    background: url(../image/icon/e_down.svg) no-repeat left center / 14px auto;
    padding-left: 20px;
}
.fa-caret-square-down {
    margin-right: 4px;
}


/*----------------------------*/
.interview_wrap {
    width: 100%;
    padding: 20px 8% 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.interview_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.interview_head {
    margin-bottom: 40px;
}
.interview_head h2 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    padding-left: 16px;
}
.interview_head h2::before {
    background-color: #004f9c;
    border-radius: 100vh;
    content: "";
    height: 6px;
    width: 6px;
    position: absolute;
    top: 13px;
    left: 0;
}
.interview_head_txt {
    margin-bottom: 5px;
    font-size: 13px;
}
.interview_head_sup {
    font-size: 10px;
}

.sec_interview {

}
.interview_mv {
    display: flex;
    flex-direction: column;
    margin-bottom: 80px;
}
.interview_mv_image {
    width: 100%;
    height: 220px;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}
.interview_mv_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.interview_mv_info {
    width: 100%;
    padding: 30px 35px 35px;
    border-radius: 0 0 10px 10px;
    background-color: #44a5ab;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.imi_y {
    margin-bottom: 12px;
}
.imi_p {
    margin-bottom: 25px;
    line-height: 1.8;
}
.imi_department {

}
.imi_group {
    
}
.imi_n {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 30px;
}
.imi_i {

}
.balloon {
    position: relative;
    width: 150px;
    height: 34px;
    font-size: 13px;
    border-radius: 100vh;
    border: solid 1px #fff;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}
.balloon:before {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 30%;
    margin-left: -15px;
    border: 6px solid transparent;
    border-top: 6px solid #44a5ab;
    z-index: 2;
}
.balloon:after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 30%;
    margin-left: -16px;
    border: 7px solid transparent;
    border-top: 7px solid #fff;
    z-index: 1;
}
.balloon p {
    margin: 0;
    padding: 0;
}
.imi_txt {
    padding-left: 5px;
}
.interview_detail_section {
    max-width: 640px;
    margin: 0 auto;
    background-color: #fff;
    position: relative;
}
/*.interview_detail_section {
    max-width: 740px;
    margin: -50px auto 0;
    padding: 60px 60px 0;
    background-color: #fff;
    position: relative;
    border-radius: 15px 15px 0 0;
}*/
.i_corner_1 {
    position: absolute;
    left: -15px;
    top: 35px;
    width: 15px;
    height: 15px;
    display: flex;
}
.i_corner_1 img {
    width: 15px;
    height: 15px;
}
.i_corner_2 {
    position: absolute;
    right: -15px;
    top: 35px;
    width: 15px;
    height: 15px;
    display: flex;
}
.i_corner_2 img {
    width: 15px;
    height: 15px;
}
.interview_body {
    margin-bottom: 60px;
}
.interview_body h2 {
    position: relative;
    font-size: 16px;
    margin-bottom: 15px;
    font-weight: bold;
    padding-left: 20px;
    line-height: 1.8;
}
.interview_body h2::before {
    content: "";
    display: block;
    height: 1px;
    background-color: #000;
    width: 12px;
    position: absolute;
    left: 0;
    top: 13px;
}
.interview_body p {
    padding-left: 20px;
}
.i_back_list {
    margin-bottom: 60px;
}
.i_back_list a {
    width: 200px;
    height: 50px;
    border-radius: 100vh;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    margin: 0 auto;
}

/*----------------------------*/
.recruit_numbers_wrap {
    width: 100%;
    padding: 20px 8% 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.recruit_numbers_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.numbers_head {
    margin-bottom: 40px;
}
.numbers_head h2 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    padding-left: 16px;
}
.numbers_head h2::before {
    background-color: #004f9c;
    border-radius: 100vh;
    content: "";
    height: 6px;
    width: 6px;
    position: absolute;
    top: 11px;
    left: 0;
}
.numbers_head p {
    line-height: 1.6;
    font-size: 13px;
}

.recruit_numbers {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.rn_box {
    width: 100%;
    margin-bottom: 2%;
    background-color: #f8f8f8;
    padding: 35px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.rn_box_w {
    width: 100%;
    margin-bottom: 2%;
    background-color: #f8f8f8;
    padding: 30px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.rn_box_w_2 {
    width: 100%;
    margin-bottom: 2%;
    background-color: #f8f8f8;
    padding: 30px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.rnb_ttl {
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    font-size: 24px;    
}
.rnb_ttl span {
    display: block;
    font-size: 12px; 
    font-weight: normal;   
}
.rnb_ttl_2 {
    text-align: center;
    margin-bottom: 40px;
    font-weight: bold;
    font-size: 22px;    
}
.rnb_ttl_2 span {
    display: block;
    font-size: 12px; 
    font-weight: normal;
}
.rnb_ico_1 {
    height: 160px;
    margin-bottom: 30px;
}
.rnb_ico_1 img {
    height: 100%;
    max-width: 100%;
}
.rnb_ico_2 {
    height: 150px;
    margin-bottom: 30px;
}
.rnb_ico_2 img {
    height: 100%;
    max-width: 100%;
}
.rnb_ico_3 {
    margin-bottom: 30px;
    position: relative;
    width: 100%;
    text-align: center;
}
.rnb_ico_3 img {
    width: 70%;
    margin: 0 auto;
}
.rnb_ico_4 {
    height: 160px;
    margin-bottom: 30px;
    position: relative;
    text-align: center;
}
.rnb_ico_4 img {
    height: 100%;
    max-width: 100%;
}
.rnb_num {
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
}
.rnbn_1 {
    font-family: alternate-gothic-no-1-d, sans-serif;
    margin-right: 2px;
/*    font-size: 60px;*/
    font-size: 60px;
    color: #44a5ab;
/*    font-weight: bold;*/
}
.rnbn_2 {
    margin: 0 5px;
    font-size: 50px;
    color: #44a5ab;
    font-weight: bold;
}
.rnb_sup {
    text-align: center;
    margin-top: 3px;
    font-size: 11px;
}
.recruit_num_sup {
    font-size: 11px;
    margin-top: 15px;
}


.num_wrap {

}
.numbox_age_1 {
    position: absolute;
    right: -28px;
    top: -10px;
}
.numbox_age_2 {
    position: absolute;
    right: -28px;
    bottom: -3%;
}
.numbox_age_3 {
    position: absolute;
    left: -15px;
    top: 6%;
}
.numbox_age_4 {
    position: absolute;
    left: -15px;
    bottom: -2%;
}
.numbox_atm_1 {
    position: absolute;
    left: -35px;
    bottom: 8%;
}
.numbox_atm_2 {
    position: absolute;
    left: 40px;
    bottom: -22%;
}
.numbox_atm_3 {
    position: absolute;
    right: 55px;
    top: -14%;
}
.numbox_atm_4 {
    position: absolute;
    right: -25px;
    bottom: -14%;
}
.numbox_clt_1 {
    position: absolute;
    left: -25px;
    bottom: 5%;
}
.numbox_clt_2 {
    position: absolute;
    left: 40px;
    bottom: -24%;
}
.numbox_clt_3 {
    position: absolute;
    right: -40px;
    bottom: 8%;
}
.numbox_clt_4 {
    position: absolute;
    right: -10px;
    bottom: -35%;
}
em {
    display: block;
    text-align: center;
    font-weight: 500;
    font-style: normal;
    line-height: 1;
}
.fadein {
    opacity: 0;
    transform: translateX(-30px);
    transition: all 0.5s ease-out;
    display: flex;
    align-items: baseline;
}
.num {
    
}
.txt {
    font-size: 20px;
    font-weight: bold;
}


/*----------------------------*/
.crosstalk_list_wrap {
    width: 100%;
    padding: 20px 8% 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.crosstalk_list_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.crosstalk_list_head {
    margin-bottom: 40px;
}
.crosstalk_list_head h2 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 10px;
    position: relative;
    padding-left: 16px;
}
.crosstalk_list_head h2::before {
    background-color: #004f9c;
    border-radius: 100vh;
    content: "";
    height: 6px;
    width: 6px;
    position: absolute;
    top: 12px;
    left: 0;
}
.crosstalk_list_head_txt {
    margin-bottom: 5px;
}
.crosstalk_list_head_sup {
    font-size: 12px;
}
.sec_crosstalk_list {

}
.crosstalk_list {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}
.crosstalk_list_image {
    width: 100%;
    height: 220px;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}
.crosstalk_list_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.crosstalk_list_cont {
    width: 100%;
    padding: 35px 35px 40px;
    background-color: #f7f7f7;
    border-radius: 0 0 10px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.clc_ttl {
    margin-bottom: 15px;
}
.clc_ttl p {
    font-size: 12px;
    margin-bottom: 5px;
    color: #44a5ab;
    font-weight: bold;
}
.clc_ttl h2 {
    font-weight: bold;
    font-size: 22px;
    line-height: 1.6;
}
.clc_description {
    font-size: 13px;
}
.ctl_btn {
    padding-left: 2px;
}
.ctl_btn span {
    background: url(../image/icon/vd_more_1.svg) no-repeat right center / 30px 30px;
    padding-right: 36px;
    height: 30px;
    display: flex;
    align-items: center;
    font-size: 13px;
}

.crosstalk_wrap {
    width: 100%;
    padding: 20px 8% 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.crosstalk_inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
.crosstalk_head {
    margin-bottom: 80px;
}
.crosstalk_head h2 {
    font-size: 30px;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
    padding-left: 20px;
}
.crosstalk_head h2::before {
    background-color: #004f9c;
    border-radius: 100vh;
    content: "";
    height: 8px;
    width: 8px;
    position: absolute;
    top: 18px;
    left: 0;
}
.crosstalk_mv {
    height: 220px;
    margin-bottom: 35px;
}
.crosstalk_mv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}
.crosstalk_body {
    background-color: #fff;
    max-width: 1000px;
    position: relative;
}
.i_corner_1 {
    position: absolute;
    left: -15px;
    top: 45px;
    width: 15px;
    height: 15px;
    display: flex;
    display: none;
}
.i_corner_1 img {
    width: 15px;
    height: 15px;
}
.i_corner_2 {
    position: absolute;
    right: -15px;
    top: 45px;
    width: 15px;
    height: 15px;
    display: flex;
    display: none;
}
.i_corner_2 img {
    width: 15px;
    height: 15px;
}
.crosstalk_body_head {

}
.cbh_en {
    display: flex;
    align-items: center;
}
.cbh_en h3 {
    font-size: 18px;
    font-weight: bold;
    color: #44a5ab;
    margin-right: 15px;
}
.cbh_en p {
    font-size: 16px;
    font-weight: bold;
}
.cbh_en_ttl {
    margin-bottom: 60px;
}
.cbh_en_ttl h2 {
    font-size: 24px;
    line-height: 1.8;
    font-weight: bold;
    margin-bottom: 15px;
}
.cbh_en_ttl p {
    
}
.crosstalk_member {
    background-color: #f8f8f8;
    padding: 30px 30px 40px;
    border-radius: 10px;
    margin-bottom: 40px;
}
.crosstalk_member_ttl {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
    margin-bottom: 40px;
}
.crosstalk_member_inner {

}
.cti_box {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
    flex-direction: column;
}
.cti_box:last-of-type {
    display: flex;
    align-items: center;
    margin-bottom: 0px;
    flex-direction: column;
}
.cti_image {
    width: 120px;
    height: 120px;
    margin-bottom: 25px;
}
.cti_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 100vh;
}
.cti_profile {
    flex: 1;
    font-size: 13px;
}
.ctip_1 {
    font-weight: bold;
    line-height: 1;
    font-size: 14px;
    text-align: center;
    margin-bottom: 12px;
}
.ctip_2 {
    line-height: 1.8;
    margin-bottom: 8px;
    font-size: 11px;
}
.ctip_3 {
    line-height: 1.8;
}

.crosstalk_wrap2 {
    width: 100%;
    padding: 0 8% 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.crosstalk_inner2 {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.crosstalk_cont {

}
.crosstalk_cont_inner {
    max-width: 840px;
    margin: 0 auto 80px;
}
.crosstalk_q {
    display: flex;
    margin-bottom: 30px;
}
.crosstalk_q span {
    font-size: 18px; 
    font-weight: bold;
    color: #44a5ab;
    line-height: 1;
    margin-right: 5px;
    padding-top: 3px;
    display: none;
}
.crosstalk_q p {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6;
    color: #44a5ab;
}
.talk_box {

}

/* 左右共通の記述 */
.msg-balloon {
    display: flex;
    align-items: flex-start;
    margin: 0 auto 40px;
}
.msg-balloon figure {
    flex-shrink: 0;
    width: 58px;
}
.msg-balloon figure img {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 100vh;
}
.msg-text {
    flex-grow: 1;
    padding: 30px 30px;
    color: #454545;
    border-radius: 4px;
    position: relative;
}
.msg-text::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: solid 6px transparent;
    border-bottom: solid 6px transparent;
    position: absolute;
    top: 25px;
}
/* アイコン右 */
.msg-right {
    flex-direction: row-reverse;
}
.msg-right figure {
    margin-left: 20px;
}
.msg-right .msg-text {
    background: #ece9e3;
}
.msg-right .msg-text::after {
    border-left: solid 12px #ece9e3;
    right: -12px;
}
/* アイコン左 */
.msg-left figure {
    margin-right: 20px;
}
.msg-left .msg-text {
    background: #ece9e3;
}
.msg-left .msg-text::after {
    border-right: solid 12px #ece9e3;
    left: -12px;
}

.crosstalk_inner_image {
    height: 220px;
    margin: 80px 0;
}
.crosstalk_inner_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

/*------------------------------------------------------------
    pryvacy
------------------------------------------------------------*/
.terms_wrap {
    width: 100%;
    padding: 80px 5% 160px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.terms_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.terms_content {
    
}
.terms_intro {
    margin-bottom: 40px;
}
.terms_content a {
    text-decoration: underline;
}
.terms_ttl {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.6;
    margin-top: 40px;
}
.terms_sub_ttl {
    margin-bottom: 20px;
}
.terms_item {
    padding: 0 0 0 20px;
    margin-bottom: 20px;
}
.terms_item p {
    text-indent: -1.7em;
    padding-left: 1.7em;
    line-height: 1.6;
    margin-bottom: 10px;
}
.terms_item_s {
    
}
.terms_item_s div {
    text-indent: -1.7em;
    padding-left: 1.7em;
    line-height: 1.6;
    margin-bottom: 10px;
}
.tiip {
    text-indent: -3.2em !important;
    padding-left: 3.2em !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important;
    margin-top: 5px !important;
}
.tiip span {
    font-weight: bold;
}
.tp_detail {
    display: flex;
}
.tpd_ttl {
    position: relative;
}
.tpd_ttl:after {
    content: ":";
    display: inline-block;
    position: absolute;
    right: 0;
}
.tpd_cont {
    
}
.revised {
    margin-top: 30px;
}
.terms_sup {
    margin-top: 60px;
    font-size: 12px;
    padding-top: 60px;
    border-top: 1px solid #eeeeee;
}
.terms_sup span {
    font-weight: bold;
}


/*------------------------------------------------------------
    news
------------------------------------------------------------*/
.news_wrap {
    width: 100%;
    padding: 0px 8% 100px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.news_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.news_block_cont {
  flex: 1;
}

.news_list {
    margin-bottom: 50px;
}
.news_list li {
    border-bottom: 1px solid #e8e8e8;
    margin-bottom: 25px;
}

/*ページャー*/
nav.cp_navi *, nav.cp_navi *:after, nav.cp_navi *:before {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
nav.cp_navi a {
    text-decoration: none;
}
nav.cp_navi {
    text-align: center;
    margin-top: 20px;
}
.cp_navi .cp_pagination {
    display: flex;
    justify-content: center;
    padding: 0 0.5em;
}
.cp_navi .cp_pagination li {
    list-style: none;
}
.cp_navi .cp_pagenum {
    font-size: 1em;
    line-height: 50px;
    display: block;
    float: left;
    transition: 400ms ease;
    letter-spacing: 0.1em;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    margin: auto .5em;
}
.cp_navi .cp_pagenum:hover,
.cp_navi .cp_pagenum.current {
    font-weight: bold;
    color: #ffffff !important;
    background-color: #000;
    border-radius: 50%;
}
.cp_navi .cp_pagenum.prev:hover,
.cp_navi .cp_pagenum.next:hover {
    color: #EC407A !important;
    background-color: transparent;
    border-radius: 50%;
}
@media only screen and (max-width: 960px) {
    .cp_navi .cp_pagination {
        padding: 0 10px;
    }
    .cp_navi .cp_pagenum {
    font-size: 0.8em;
    line-height: 25px;
    width: 45px;
    height: 25px;
    margin: auto .1em;
    border-radius: 0.3em;
}
    .cp_navi .cp_pagenum.prev,
    .cp_navi .cp_pagenum.next {
        padding: 0 25px 0 0;
    }
    .cp_navi .cp_pagenum:hover,
    .cp_navi .cp_pagenum.current {
        border-radius: 0.3em;
    }
    .cp_navi .cp_pagenum.prev:hover,
    .cp_navi .cp_pagenum.next:hover {
        border-radius: 0.3em;
    }
}
@media only screen and (min-width: 120px) and (max-width: 767px) {
    .cp_navi .cp_pagenum {
    display: none;
    border-radius: 0.3em;
    }
    .cp_navi .cp_pagenum:nth-of-type(2) {
    position: relative;
    padding-right: 20px;
    }
    .cp_navi .cp_pagenum:nth-of-type(2)::after {
    font-size: 1.2em;
    position: absolute;
    top: 0;
    left: 25px;
    content: '...';
    }
    .cp_navi .cp_pagenum:nth-child(-n+3),
    .cp_navi .cp_pagenum:nth-last-child(-n+3) {
        display: block;
    }
    .cp_navi .cp_pagenum:nth-last-child(-n+4) {
        padding: 0 5px;
    }
    .cp_navi .cp_pagenum:nth-last-child(-n+4)::after {
        content: none;
    }
    .cp_navi .cp_pagenum:hover,
    .cp_navi .cp_pagenum.current {
        border-radius: 0.3em;
    }
    .cp_navi .cp_pagenum.prev:hover,
    .cp_navi .cp_pagenum.next:hover {
        border-radius: 0.3em;
    }
}
/**/

.sec_kiji {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
}
.col_1 {
    flex: 1;
}
.kiji {
    padding: 0;
    margin-bottom: 30px;
}
.kiji_date {
    font-size: 12px;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.hStyle1 {
    font-size: 22px;
    line-height: 1.4;
    padding-bottom: 25px;
    margin-bottom: 60px;
    border-bottom: 1px solid #F0F0F0;
    font-weight: bold;
    position: relative;
}
.hStyle1::before {
    content: "";
    width: 30px;
    height: 1px;
    background-color: #1C1C1C;
    position: absolute;
    left: 0;
    bottom: -1px;
}
.single-content {
    margin-top: 30px;
    padding-bottom: 40px;
    font-size: 15px;
}
.single-content p {
    margin-top: 40px;
}
.single-content h2 {
    position: relative;
    background: #EAECF1;
    font-size: 20px;
    margin: 40px 0 20px;
    padding: 6px 30px 6px 20px;
    font-weight: bold;
    border-top: 2px solid #000;
}
.single-content h3 {
    position: relative;
    background: #f5f7fa;
    font-size: 20px;
    margin: 40px 0 20px;
    padding: 6px 20px 6px 20px;
    font-weight: bold;
}
.single-content h4 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    border-left: 4px solid #000;
    padding-left: 12px;
    margin: 30px 0 20px;
}
.single-content h5 {
    position: relative;
    padding: 1rem 0 0.5rem;
    border-bottom: 1px solid #000;
    margin: 1.5em 0 1.2em 0;
    font-size: 16px;
    font-weight: bold;
}
.single-content h5:before {
    position: absolute;
    bottom: -12px;
    left: 1em;
    width: 0;
    height: 0;
    content: '';
    border-width: 12px 10px 0;
    border-style: solid;
    border-color: #000 transparent transparent;
}
.single-content h5:after {
    position: absolute;
    bottom: -11px;
    left: 1em;
    width: 0;
    height: 0;
    content: '';
    border-width: 12px 10px 0;
    border-style: solid;
    border-color: #fff transparent transparent;
}
.single-content h6 {
    font-size: 14px;
    font-weight: bold;
    display: inline-block;
    color: #fff;
    margin: 1.8em 0 1.8em;
    background-color: #004f9c;
    line-height: 1.5;
    padding: 4px 20px;
    border-radius: 100vh;
}
.kiji_back {
    text-align: center;
}
.kiji_back a {
    font-size: 12px;
    font-weight: bold;
}

/*------------------------------------------------------------
    contact
------------------------------------------------------------*/
.contact_wrap {
    width: 100%;
    padding: 0px 8% 70px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.contact_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.contact_inner_ex {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.contact_head {
    margin-bottom: 50px;
    font-size: 13px;
}
.contact_head span {
    font-weight: normal;
    margin-top: 10px;
    font-size: 13px;
    display: inline-block;
}
.contact_head_fin {
    border: 1px solid #e6e6e6;
    padding: 35px 35px 40px;
    border-radius: 10px;
}
.contact_head_fin h3 {
    font-weight: bold;
    text-align: center;
    font-size: 18px;
    margin-bottom: 15px;
}
.contact_head_fin p {
    margin-top: 15px;
    font-size: 13px;
}

.contact_fin {
    background-color: #f7f7f7;
    padding: 80px 90px 90px;
    max-width: 800px;
    margin: 0 auto;
    border-radius: 10px;
}
.contact_fin_ttl {
    text-align: center;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 24px;
}
.contact_fin_txt {

}
.contact_fin_txt p {
    margin-bottom: 20px;
    font-size: 14px;
}



/*------------------------------------------------------------
    privacy policy
------------------------------------------------------------*/
/*.terms_wrap {
    width: 100%;
    padding: 40px 8% 140px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.terms_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

    .terms_content {
}
.terms_content a {
    text-decoration: underline;
}
.terms_intro {
    margin-bottom: 40px;
}
.terms_ttl {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.6;
    margin-top: 40px;
    color: #000;
}
.terms_sub_ttl {
    margin-bottom: 20px;
}
.terms_item {
    padding: 0 0 0 20px;
    margin-bottom: 20px;
}
.terms_item p {
    text-indent: -1.7em;
    padding-left: 1.7em;
    line-height: 1.6;
    margin-bottom: 10px;
}
.terms_item_s {
    
}
.terms_item_s div {
    text-indent: -1.2em;
    padding-left: 1.2em;
    line-height: 1.6;
    margin-bottom: 10px;
}
.tiip {
    text-indent: -3.2em !important;
    padding-left: 3.2em !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important;
    margin-top: 5px !important;
}
.tiip span {
    font-weight: bold;
}
.tp_detail {
    display: flex;
}
.tpd_ttl {
    position: relative;
}
.tpd_ttl:after {
    content: ":";
    display: inline-block;
    position: absolute;
    right: 0;
}
.tpd_cont {
    
}
.revised {
    margin-top: 30px;
}
.terms_sup {
    margin-top: 60px;
    font-size: 12px;
    padding-top: 60px;
    border-top: 1px solid #eeeeee;
}
.terms_sup span {
    font-weight: bold;
}*/


/*------------------------------------------------------------
    footer
------------------------------------------------------------*/
#footer {
    width: 100%;    
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #f8f8f8;
    border-radius: 24px 24px 0 0;
    position: relative;
}
.footer_inner {
    padding: 0;
    display: flex;
    justify-content: space-between;
    padding: 70px 8% 40px;
    flex-direction: column;
}
.footer_logo_wrap {
    flex: 1;
    margin-bottom: 40px;
}
.footer_logo {
    margin-bottom: 20px;
    display: block;
    text-align: center;
}
.footer_logo img {
    width: 220px;
}
.footer_address {
    font-size: 10px;
    color: #b1b1b1 !important;
    line-height: 1.6;
    margin-bottom: 40px;
    text-align: center;
}
.footer_nav_wrap {
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
    padding: 30px 0 20px;
}
.footer_nav_inner {
    
}
.footer_nav_list {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}
.fnl_ttl {
    width: 100%;
    font-size: 16px;
    font-weight: bold;
}
.footer_nav {
    display: flex;
    flex-wrap: wrap;
}
.footer_nav li {
    margin-right: 20px;
}
.footer_nav li:last-child {
    margin-right: 0px;
}
.footer_nav li a {
    display: block;
    font-size: 12px;
}

.footer_nav_inner2 {
    margin-bottom: 20px;
}
.footer_nav2 {
    display: flex;
}
.footer_nav2 li {
    margin-right: 20px;
}
.footer_nav2 li:last-child {
    margin-right: 0px;
}
.footer_nav2 li a {
    display: block;
    font-size: 10px;
}

.footer_contact_wrap {
    width: 100%;
}
.footer_contact_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 210px;
    margin: 0 auto;
}
.footer_contact_ttl {

}
.footer_contact_ttl h3 {
    font-size: 22px;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 2px;
    letter-spacing: 3px;
}
.footer_contact_ttl p {
    padding-left: 2px;
    font-size: 11px;
}
.fc_more {
    width: 50px;
    height: 50px;
    border-radius: 100vh;
    background-color: #e8c619;
    display: flex;
    justify-content: center;
    align-items: center;
}
.fc_more img {
    width: 12px;
    height: 12px;
}
.footer_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    padding: 40px 5% 60px;
    border-top: 1px solid #e9e9e9;
}
.copyright {
    font-size: 10px;
    color: #b1b1b1;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 20px;
}
.page_top {
    font-weight: 500;
    display: flex;
    align-items: center;
    font-size: 12px;
    display: none;
}
.page_top span {
    width: 38px;
    height: 38px;
    border-radius: 100vh;
    background-color: #004f9c;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 15px;
}
.page_top span img {
    width: 12px;
    height: 12px;
}

.footer_nav_sub {
    display: flex;
    justify-content: flex-end;
}
.footer_nav_sub li {
    margin-left: 30px;
}
.footer_nav_sub li a {
    color: #b1b1b1 !important;
    display: block;
    font-size: 12px;    
}



/*------------------------------------------------------------
  ページトップ
------------------------------------------------------------*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
    z-index: 3;
}
.ubbs__2 {
    text-decoration: none;
    color: #fff;
    width: 45px;
    height: 45px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2);
    background-color: #004f9c;
}
.ubbs__2:hover {
    text-decoration: none;
    opacity: 0.7;
}
.ubbs__2 img {
  width: 14px;
}


.blog_box {

}
.blog_box p {
    text-align: center;
    font-weight: bold;
    font-size: 16px;
}


.form-preview-wrap {
    max-width: 100% !important;
}





























