@charset "UTF-8";


body, input, textarea,
#header_slider .caption, #header_youtube .caption, #header_video .caption,
.rich_font{
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mobile a.menu_button {
    background-color: #3492E8!important;
}
.mobile a.menu_button:hover,
.mobile a.menu_button:active {
    background-color: #3ba1ff!important;
}
.mobile #global_menu a {
    background: #fff;
    color: #000;
    border-top: solid 1px #fbfbfb;
}
.mobile #global_menu li a:hover {
    background-color: #fbfbfb !important;
    color: #000;
}
/*#global_menu .child_menu_button .icon:before {
    color: #aaa;
    border: 1px solid #555;
}*/
#global_menu .child_menu_button.active .icon:before, #global_menu .child_menu_button:hover .icon:before {
    color: #000;
    border-color: #000;
}

.pc #header,
.pc #header_inner {
    height: 100px;
}
.pc #global_menu > ul {
    height: 50px;
}
.pc #global_menu > ul > li > a {
    line-height: 50px;
    height: 50px;
}

body{
    font-feature-settings: "palt";
}
#site_loader_overlay{/*load非表示　テスト*/
/*    display: none;*/
}
.submenu-0:hover{/*test固定用*/
    display: block!important;
}
#index_center_image .wide_image .caption,
#footer_image .wide_image .caption{
    text-align: left;
}
#index_center_image .wide_image .caption>*,
#footer_image .wide_image .caption>*{
    max-width: 375px;
}
#index_center_image .wide_image .caption h3,
#footer_image .wide_image .caption h3{
    font-weight: 500;
}
#index_center_image .wide_image .button,
#footer_image .wide_image .button{
    text-align: center;
    position: relative;
    font-weight: bold;
}
#index_center_image .wide_image .button:after,
#footer_image .wide_image .button:after{
    font-family: 'design_plus';
    content: '\f105';
    position: absolute;
    right: 15px;
}
/*footer*/
#footer_image{
    background: #3492e8;
}
#footer_top{
    background-color: #faf7f5!important;
}
#footer_top a,
#footer_top_inner{
    color: #000000!important;
    transition: 0.2s ease;
}
#footer_top a:hover {
    opacity: 0.8;
}

#footer_address{
    border: 0;
}
#footer_address .info {
    line-height: 1.8;
    font-size: inherit;
    display: flex;
    flex-direction: column;
}
#menu-footer_menu_5{
    display: flex;
    justify-content: center;
    margin: 3% auto;
    font-size: 12px;
    gap: 12px;
    flex-wrap: wrap;    
}
#menu-footer_menu_5 a{
    text-decoration: none;
}

#globalsign-outer{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; 
}
#globalsign{
    display: flex;
    align-items: center;
    margin: 10px;
}
#globalsign img{
    width: 90px!important;
}
#globalsign img#siteseal{
    width: 44px!important;
    margin-left: 5px;
}
#footer_social_link{
    position: static;
    display: flex;
    justify-content: center;
    background: none!important;
    padding: 0;
}
#footer_social_link li{
    margin: 0; 
}
#footer_social_link li:before{
    color: #333!important;
    font-size: 14px;
}
#footer_top_inner {
    padding: 75px 0 15px;
}
#copyright,
#copyright a,
#copyright a:hover{
    font-size: 11px;
    text-decoration: none;
    color: #fff;
}
#return_top a,
#return_top a:hover{
    background-color: #000;
    opacity: .8;
    /*background-color: #3492E8 !important;
    border: solid 1px #ffffff29;
    box-sizing: border-box;*/
}
#return_top a:hover{
    background-color: #333;
}

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?m0h6x1');
  src:  url('fonts/icomoon.eot?m0h6x1#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?m0h6x1') format('truetype'),
    url('fonts/icomoon.woff?m0h6x1') format('woff'),
    url('fonts/icomoon.svg?m0h6x1#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="ico-"], [class*=" ico-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-icon-note:before {
  content: "\e900";
}
.icon-icon-window:before {
  content: "\e901";
}

.ico-window>a:after {
    font-family: 'icomoon' !important;
    content: "\e901";
    margin-left: 6px;
    font-size: 90%;
}
*:after,*:before{/*疑似要素の色反転に時間差があるので修正*/
    transition-duration: 0.05s!important;
}


html{
    overflow-x: clip;
}
#header{
    background-color: #fff!important;
}



a.menu_button{
    background: #333;
}
#header_inner,
.pc #global_menu > ul,
.pc #global_menu > ul > li{
    position: static;
}
.pc #global_menu ul ul {
    width: auto;
    position: static;
}
.pc #global_menu ul a{
    background-color: initial!important;
    color: #000;
}
.pc #global_menu ul ul a:hover{
    color: #000;
    background-color: #eee!important;
    text-decoration: none!important;
}
.pc #global_menu > ul > li > a:hover {
    color: #3492e8!important;
}
.pc #global_menu>ul>li>a{
    font-weight: bold;
    /*ロゴのクリックエリアがメニューに被るバグがあるのでz-indexで対処*/
    position: relative;
    z-index: 9999;
}
.pc #global_menu .submenu-0 a{
   padding: 2px 10px; 
}
.pc #global_menu .submenu-0 a:hover{
    text-decoration: underline;
}
.pc #global_menu .submenu-0 {
    position: absolute;
    left: 0px;
    top: auto;
    width: 100vw;
    background: #ffffff;
    padding: 20px;
    border-top: solid 1px #eee;
    box-shadow: 0 5px 5px 0 rgba(0,0,0,0.1);
    border-bottom: solid 1px #eee;
}
.pc #global_menu .submenu-0>.menuinner{
    display: flex;
    flex-wrap: wrap;
    width: calc(100% * 1150 / 1280);
    max-width: 1150px;
    margin: 0 auto;
    gap: 20px;
}
.pc #global_menu .submenu-0>li{

}
.pc #global_menu>ul>.menu-item-has-children>a:after{/*親メニュー*/
    content: '\f0d7';
    font-family: 'design_plus';
    color: #3492e8;
    margin-left: 6px;
    font-size: 90%;
}
.pc #global_menu .submenu-0 .menu-item-has-children>a,
.pc #global_menu .submenu-0 .category>a {/*区分メニュー*/
    font-weight: bold;
    border: solid 1px;
    border-radius: 100px;
    text-decoration: none!important;
    margin-bottom: 8px;
}
.pc #global_menu .submenu-0 .menu-item-has-children.no-link>a,
.pc #global_menu .submenu-0 .category.no-link>a {
    pointer-events: none;
}

.pc #global_menu ul ul li.menu-item-has-children > a:before,
.pc #global_menu .submenu-0 .category>a:before {
    content: '●';
    color: #3492e8;
    display: inline;
    border: 0;
    line-height: normal;
    position: relative;
    font-size: 70%;
    top: -1px;
    left: -4px;
}
.pc #global_menu ul ul a:before{/*通常メニュー*/
    font-family: 'design_plus';
    content: '\e910';
    content: '\f105';
    margin-right: 4px;  
}
.pc #global_menu .submenu-1{/*孫メニューは常時表示*/
    display: block!important;
    height: auto!important;
}
.pc #global_menu .submenu-1>.menuinner{

}
.pc #global_menu .submenu-1>li{

}

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?m0h6x1');
  src:  url('fonts/icomoon.eot?m0h6x1#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?m0h6x1') format('truetype'),
    url('fonts/icomoon.woff?m0h6x1') format('woff'),
    url('fonts/icomoon.svg?m0h6x1#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="ico-"], [class*=" ico-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-icon-note:before {
  content: "\e900";
}
.icon-icon-window:before {
  content: "\e901";
}
.ico-window>a:after {
    font-family: 'icomoon' !important;
    content: "\e901";
    margin-left: 6px;
    font-size: 90%;
}
.ico-blog>a:after {
    font-family: 'icomoon' !important;
    content: "\e901";
    margin-left: 6px;
    font-size: 90%;
}
.ico-blog>a:before {
    font-family: 'icomoon' !important;
    content: "\e900";
    margin-right: 3px;
    font-size: 70%;
}

.pc #global_menu ul .header-btn a {/*お問い合わせボタン*/
    background-color: #3492E8!important;
    border-radius: 100px;
    border: 1px solid #3492e8;
    color: #fff;
    padding: 8px 30px;
    display: inline;
    font-size: 12px;
    margin-left: 10px;
    transition: 0.2s ease;
}
.pc #global_menu > ul > li.header-btn:hover > a{
    color: #fff!important; 
}
.pc #global_menu > ul > li.header-btn > a:hover {
    background: #fff !important;
    color: #3492e8 !important;
}

@media screen and (max-width:991px){

#index_center_image .wide_image:before,
#footer_image .wide_image:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.4); 
}


}

@media screen and (max-width:767px){
#index_center_image .wide_image,
#footer_image .wide_image {
    background-position-x: 85%!important;
}
#index_center_image .wide_image .caption,
#footer_image .wide_image .caption {
    display: flex;
    flex-direction: column;
    align-items: center;
}

}

/*** logo ***/
.pc #logo_image img.pc_logo_image {
    width: 65% !important;
}
/*** search ***/
.sp_search {
    display: none;
}
.pc_search {
    text-align: right;
    margin: 10px 32px 0;
    float: right;
    width: 100%;
}
#searchform #s {
    border: none;
    border-radius: 100px;
    padding: 7px 45px 7px 20px;
    background: #faf7f5;
}
#searchform #searchsubmit {
    border: none;
    background: #faf7f5;
    color: #000;
    padding: 8px;
    border-radius: 100px;
    margin-left: -40px;
}
#searchform #searchsubmit:hover {
    background: #3492e8;
    color: #faf7f5;
}
@media screen and (max-width:1200px){
    .pc_search {
        margin-right: 5rem;
    }
}
@media screen and (max-width:767px){
    .pc_search {
        display: none;
    }
    .sp_search {
        display: block;
        background: #fff;
        padding: 25px 15px;
        margin: auto;
        text-align: center;
        border-top: solid 1px #fbfbfb;
    }
    #searchform #s {
        width: 95%;
        padding: 10px 45px 10px 20px;
    }
}