.sp_big,
.sp767,
.sp480,
.sp375,
.sp320,
.sp400,
.sp360{display: none;}
@media screen and (min-width: 1100px) {
.sp{display:none}
/* nav */
.hamburger{display:none;}
.nav_list{display: flex;gap: 49px;justify-content: center;}
.nav_list>li>a,
.nav_list>li>.sub_btn{display:flex;align-items:center;position:relative;font-weight: 700;padding:5px 3px 8px;color: var(--txt);font-size: 18px;line-height: 1.5em}
.nav_list>li>a,
.nav_list>li>.sub_btn{flex-direction: column;justify-content: flex-end;height: 81px;gap: 5px}
.nav_list>li.nav_item04>.sub_btn{gap: 10px}
.nav_list>li>a::before,
.nav_list>li>.sub_btn::before{content: '';position: absolute;width: 100%;border-top:4px solid #000;left: 0;bottom: 0;opacity: 0;transition: .3s}
.nav_list>li>a:hover::before,
.nav_list>li>.sub_btn.active::before,
.nav_list>li>a.active::before{opacity: 1}
.nav_list>li>a .nav_ic{line-height: 1em}
.nav_list>li.parent{position:relative;}
.nav_list>li.parent>.sub_btn{cursor:default}
.sub{position:absolute;z-index:1;transition:all .3s;opacity:0;visibility:hidden;width:300px;top:100%;left:0;box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);}
.sub ul li a{font-size:16px;display:flex;width:100%;height:60px;align-items:center;letter-spacing:.001em;padding:5px 15px;margin:0 auto;border-bottom:solid 1px #000;color:#000;background:#fff;}
.sub ul li:last-child a{border-bottom: 0}
/*  FOOTER */
.ft_bnn li:not(:last-child){margin-right: 30px;}

/* hover */
.ft_link ul li > a:hover{color:var(--scolor);text-decoration: none;}
.parent:hover .sub{opacity:1;transform:translate(0,0);visibility:visible}
.sub a:hover{background-color:var(--mcolor);text-decoration: none;color: #fff}
.h_contact_mail a:hover{background: var(--scolor)}
.mv-button:hover{opacity: .8}
.news_item:hover .item_img img{transform: scale(1.1);}
.ft_btn a:hover{background-color: var(--mcolor);}

}
@media screen and (max-width: 1921px){
  .ft_bottom_content{padding-bottom: 213px}
}
@media screen and (min-width: 1101px) and (max-width: 1800px){
  .h_box{padding: 8px 0}
  main{padding-top: 106px}
  .ft_bottom_content{padding-bottom: 113px}
  .mv_slide{height: calc(100vh - 130px);max-height: 580px}
  .mv_slide .swiper-slide img{height: 100%;object-fit: cover;}
  .mv-button-box{bottom: 16px}
}

/* screen-min:1100px latop - mobile*/
@media screen and (max-width: 1100px) {
:root{
  --mfont-size: 14px;
}
img{max-width:100%; height: auto;}
.swap img{width:auto;}
#wrapper,
header,
main,
footer,
.inner{width:100%!important;min-width:unset!important}
.pc{display:none!important}
.container{padding: 0 10px}

/* NAV */
nav{position:fixed;top:61px;left:0;width:100%;height:calc(100vh - 61px);overflow:auto;padding-bottom:120px;z-index:100;background: #fff;visibility: hidden;transition: .4s;transform: scaleY(0.7);opacity: 0;transform-origin: top}
nav.is_active{opacity: 1;transform: scaleY(1);visibility: visible;}
nav .container{padding: 0;}
.nav_list{flex-direction:column;padding: 8px 30px 0}
.nav_list ul,
.nav_list li{width:100%}
.nav_list li{margin-bottom: 22px}
.nav_list .sub ul{padding-left: 24px}
.nav_list .parent .sub ul li{background: #fff;border-bottom:1px solid #000;margin-bottom: 0}
.nav_list .parent .sub ul li:first-child{border-top: 1px solid #000}
.nav_list .sub_btn,
.nav_list a{display:block;padding:0;color:var(--txt);font-size:16px;font-weight:700;border-bottom:solid 1px #fff}
.nav_list .sub_btn{position:relative;margin-bottom: 10px}
.nav_list .sub_btn::before,
.nav_list .sub_btn::after{content:"";position:absolute;width: 16px; height: 2px; background-color: #000;top:calc(50% - 1px);right:10px; transition: all 0.3s;}
.nav_list .sub_btn::after{transform: rotate(-90deg);}
.nav_list .sub_btn.open::after{transform: rotate(0);}
.nav_list li>.sub_btn,
.nav_list li>a{display: flex;align-items: center;gap: 10px}
.nav_list li .nav_ic{display: inline-block;line-height: 1em;padding-bottom: 0}
.nav_list li.nav_item01 .nav_ic img{width: 11px}
.nav_list li.nav_item02 .nav_ic img{width: 12px}
.nav_list li.nav_item03 .nav_ic img{width: 13px}
.nav_list li.nav_item04 .nav_ic img{width: 13px}
.nav_list li.nav_item05 .nav_ic img{width: 13px}
.nav_list li.nav_item06 .nav_ic img{width: 14px}

.nav_ft_btn_box{padding: 0 30px;}
.nav_ft_btn_box .ft_btn_box{margin-top: 0;width: 100%}
.nav_ft_btn_box .ft_btn{margin-bottom: 10px}
.nav_ft_btn_box .ft_btn a{text-align: center;height: 45px}
.nav_ft_btn_box .ft_btn03 a{padding-bottom: 6px}
.nav_ft_btn_box .ft_btn a::after{display: none;}
.nav_ft_btn_box .ft_btn a .sm{line-height: 1em}

.sub{display:none}
.sub ul:not(:last-child){margin-bottom:15px}
.sub a{color:#000;border-bottom:none;padding: 10px 0;font-size: 14px}
.hamburger{position:fixed;right:20px;top:17px;font:inherit;display:block;overflow:visible;margin:0;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0;z-index: 101;padding: 0}

/*=====================================================
                      C U S T O M
======================================================*/

.fz_big{font-size: 14px;}

/*============ HEADER ============*/
.h_box{height:61px;padding: 8px 0}
header.show .h_box{padding: 8px 0}
.h_inner{padding: 0 20px}
#logo{width: 118px}
.h_left{width: 200px}
header.show .h_inner{display: flex;}

/*============ Main ============*/
main{padding-top: 61px;}
.btn_center_box{flex-wrap: wrap;}
.btn a{padding: 0 15px;font-size: 12px;width: 167px;height: 40px;border-radius: 15px;font-weight: 700}
.btn a::after{width: 27px;top: calc(50% - 27px/2);right: 9px;height: 27px}

.ttl{font-size: 62px}
.ttl .ja,
.ttl .en{font-size: 100%}
.s-title{font-size: 20px}

/* MAIN VISUAL */
.mv-button-box{gap:15px;bottom: 28px}
.mv-button{width: 20px;height: 20px}

/* sec01 */
.sec01{padding-top: 18px;padding-bottom: 25px}
.s01_txt{line-height: 2.42em}
.s01_bnr_box{flex-direction: column;width: 100%;max-width: 230px;margin: 0 auto;gap: 18px}
.s01_bnr01 .bnr_img{margin-bottom: -37px}
.s01_bnr02 .bnr_img{margin-bottom: -18px}
.s01_bnr_btn a{height: 34px;border-radius: 50px;width: 150px}
.s01_bnr_btn a::after{width: 20px;top: calc(50% - 10px);height: 20px}
.s01_img{width: 100%;max-width: 460px;margin: 0 auto 9px}

/* sec02 */
.sec02{padding-bottom: 41px;padding-top: 0}
.s02_frame{padding: 11px 10px 35px;width: 100%;max-width: 355px;margin: 0 auto 33px}
.s02_frame_ttl{font-size: 54px;line-height: 1em;margin-bottom: 6px}
.s02_frame_txt_big{font-size: 17px;padding-left: 0;margin-bottom: 5px}
.s02_frame .s02_frame_img{width: 130px;right: -5px;bottom: -16px}
.s02_frame_txt{font-size: 10px;padding-left: 0;line-height: 1.8em;margin-bottom: 15px}
.s02_frame .s02_frame_content{width: 70%}
.s02_frame_btn{padding-left: 0}
.s02_frame02 .s02_frame_ttl,
.s02_frame02 .s02_frame_txt,
.s02_frame02 .s02_frame_txt_big{text-align: right;}
.s02_frame_txt span{text-align: left;}
.s02_frame02 .s02_frame_txt{padding-left: 80px}
.s02_frame02 .s02_frame_btn{display: flex;justify-content: flex-end;}
.s02_frame02 .s02_frame_img{width: 200px;right: initial;left: -43px;bottom: 15px}

/* sec03 */
.sec03{padding: 21px 0 30px}
.s03_ttl{margin-bottom: -5px}
.s03_ttl_ja{font-size: 36px;margin-bottom: 5px}
.s03_txt{font-size: 14px;margin-bottom: 10px}
.s03_img_box{display: flex;align-items: flex-start;justify-content: center;gap: 20px;margin-bottom: 10px}
.s03_img{position: relative;left: initial;top: initial;right: initial;bottom: initial;width: 115px;flex-shrink: 0;margin-bottom: 0}
.s03_img02{width: 133px}
.s03_img_box .s03_img .txt{font-size: 14px;margin-top: 9px}
.s03_btn.btn a{width: 200px;padding-left: 21px}

/* sec04 */
.sec04{padding-top: 31px}
.sec04 .container{padding: 0 20px}
.s04_img{width: 168px;right: -13px;top: -14px}
.s04_ttl{margin-bottom: 0;margin-left: -5px}
.s04_ttl02{font-size: 18px;margin-bottom: 13px}
.s04_news_archive_box{padding: 0 10px;margin-bottom: 20px}
.news_item .item_img img{height: 155px}
.news_item .item_img{margin-bottom: 6px}
.detail_info .item_cate,
.news_item .item_cat{padding: 2px 11px;font-size: 10px;margin-bottom: 6px;border-radius: 6px}
.news_item .item_ttl a{font-size: 14px;max-height: 42px}

/* sec05 */
.sec05{padding-top: 0}
.s05_img{display: none;}
.s05_ttl{font-size: 55px;margin-bottom: 5px}
.s05_ttl02 span{padding: 1px 0 1px 7px;font-size: 14px}
.s05_ttl02 span::before{width: 14px;clip-path: polygon(100% 0, 55% 50%, 100% 100%, 0 100%, 0 0)}
.s05_ttl_box{margin-bottom: 20px}
.s05_list{padding: 0 10px;gap: 36px;width: 100%;max-width: 640px;margin: 0 auto}
.s05_item{width: calc(33% - 24px)}
.s05_item .item_ttl{font-size: 10px}
.s05_item.s05_item_long_txt .item_ttl{white-space: nowrap;position: relative;left: -5px}
.s05_last_item{width: 28%}
.s05_last_item .item_img{top: -2px}

/*============ FOOTER ============*/
footer{margin-bottom: 0}
.ft_r{display: none;}
.ft_top .container{justify-content: center;}
.ft_logo{width: 224px;margin: 0 auto 10px}
.ft_ttl{font-size: 14px;width: 60px}
.ft_info_content .txt01{font-size: 14px;margin-bottom: 8px}
.ft_info_link li a{font-size: 14px}
.ft_info_content{padding-top: 0}
.ft_bottom::before{width: 162px;height: 86px;left: calc(50% - 81px)}
.to_top{width: 60px;height: 60px;padding: 18px 12px 0;font-size: 12px}
.to_top::before{left: calc(50% - 6px);width: 8px;height: 14px}
.ft_bottom{padding-top: 70px}
.ft_bottom_content{padding-bottom: 30px}
.ft_bottom_content::before{width: 180%;height: 120%;top: 28px}
address{font-size: 12px}

/*============ END 1100 ============ */

}

@media screen and (max-width: 767px) {
  .sp767{display: block;}
  .sp_big{display: block;}
}
@media screen and (max-width: 480px) {
  .sp480{display: block;}
}
@media screen and (max-width: 479px) {
  .s02_frame .s02_frame_content{width: 75%}
  .s02_frame_ttl{font-size: 50px}
  .s02_frame02 .s02_frame_txt{padding-left: 60px}
  .s02_frame02 .s02_frame_img{width: 190px}
  .s03_txt{margin-bottom: 15px}
  .s05_list{max-width: 355px;gap: 35px}
  .s05_item{width: 26%}
  .news_item .item_img img{height: 105px}
}
@media screen and (max-width: 400px) {
.sp400{display: block;}
}
@media screen and (max-width: 375px) {
  .sp_big{display: none;}
  .sp375{display: block;}
  .s05_item.s05_item_long_txt .item_ttl{left: 0}
  .overview__row{font-size: 13px}
}
@media screen and (max-width: 360px) {
  .sp360{display: block;}
  .sp360_none{display: none;}
}
@media screen and (max-width: 320px) {
html,
  body {
    min-width: 320px;
    overflow-x: hidden;
  }
  .sp320{display: block;}
  .fz_big{font-size: 12px}
  .s02_frame .s02_frame_content{width: 96%}
  .s02_frame .s02_frame_img{width: 100px}
  .s02_frame02 .s02_frame_img{width: 133px;left: -35px}
  .s02_frame02 .s02_frame_txt span{padding-left: 17px}
  .s03_ttl{font-size: 54px}
  .s03_ttl_ja{font-size: 31px}
  .s04_img{width: 128px;top: 10px}
  .s05_ttl{font-size: 48px}
  .s05_list{gap: 30px}
  .overview__row{grid-template-columns: 68px 1fr;font-size: 12px}
  .s03_txt_sp{font-size: 13px}
  .sp320_none{display: none;}

}