@charset "UTF-8";
/* import font from gg font*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/* import font from gg font*/

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-hira: "Hiragino Kaku Gothic Pro", sans-serif;
  --txt: #000;
  --txt02: #383131;
  --txt_blue: #0f274f;
  --mcolor: #1f328c;
  --scolor: #fabe00;
  --red: #e71a19;
  --site_size: 1260px;
  --mfont-size: 20px;
  --border-color: #eeeded;
  --bg_be: #eae6ca;
  
  --gray: #e9e9e9;
}

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
font-size: var(--mfont-size);
-webkit-text-size-adjust: none;
font-weight: 500;
}
html:focus-within {scroll-behavior: smooth;}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
*,
::before,
::after{box-sizing:border-box;outline: none;}
select { visibility: visible !important; }
a{transition:all ease 0.3s;text-decoration:none;}
a[href^="tel:"] {word-break: keep-all;}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html{background:#fff;scroll-behavior: smooth}
body{color:var(--txt);-webkit-text-size-adjust:none;min-width:320px;font-family: var(--font-main);font-size: var(--mfont-size);margin: 0}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.5;margin: 0}
p,
dd,
dt,
li,
th,
td,
address{line-height: 2em;letter-spacing: 0;margin: 0}
p {margin: 0 0 1.2em;font-size: var(--mfont-size);}
p:last-child{margin-bottom: 0}
ul{padding: 0;margin: 0;list-style-type: none;}
a{color: var(--txt);}

.bold{font-weight: bold;}
.left{text-align:left}
.right{text-align: right;}
.auto{margin-left: auto; margin-right: auto;}
.red{color: var(--red);}
.txt_line{text-decoration: underline;}
.m0a{display: block;margin: 0 auto;}
.fz_big{font-size: 30px;}
.f_sm{font-size: 80%;}
.d-flex {display: flex; }
.justify-between {justify-content: space-between; }
.justify-center {justify-content: center; }
.align-center {align-items: center;}
.align-start {align-items: flex-start; }
.center, .text-center {text-align: center; }
.text-left {text-align: left; }
.text-right {text-align: right; }
.fw900{font-weight: 900}
.fw700{font-weight: 700}
.fw600{font-weight: 600}
.fw500{font-weight: 500}
.fw400{font-weight: 400}
.color_txt02{color: var(--txt02);}
.color_txt_blue{color: var(--txt_blue);}
.white{color: #fff}
.f-hira{font-family: var(--font-hira);}
.bg_red{background: var(--red);}
.bg_be{background: var(--bg_be);}
.bg_blue{background: var(--mcolor);}
.bg_yellow{background: var(--scolor);}
a.is-disabled{pointer-events: none;}

.container {max-width: var(--site_size); padding: 0 20px; margin: 0 auto; transition: 0.2s; }
#wrapper{overflow: hidden;}

/*==========================================================
                       H E A D E R  
==========================================================*/
header{position: fixed; z-index: 10;transition: .3s;top: 0;left: 0;width: 100%}
header.show .h_box{box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);padding: 15px 0}
.h_box{width:100%;background-color: #fff;padding: 31px 0;transition: .3s}
.h_inner{display:flex;justify-content:space-between;align-items: flex-start;height: 100%;}
.h_right{display: flex;align-items: center;justify-content: flex-end;}
#logo{width: 236px}

.h_contact{display: flex;align-items: center;}
.h_contact > p{margin-bottom: 0;}
.h_contact > p:not(:last-child){margin-right: 20px;}
.h_contact_mail a{color:#FFF;font-weight: bold;text-align: center;background-color:var(--mcolor);display: flex;justify-content: center;align-items: center;width: 250px;height: 60px;position: relative;border-radius: 50px}
.h_contact_mail a span{position: relative; z-index: 2;font-size: 20px;display: inline-block; padding-left: 30px;}
.h_contact_mail a span::before{content: ''; position: absolute; width: 20px; height: 20px; left: 0; top: calc(50% - 10px); background: url('../images/ic_h_mail.png') no-repeat center /cover;}

/* HAMBUGER BUTTON */
.hamburger{font:inherit;display:block;overflow:visible;margin:0;padding:10px 8px 5px;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0}
.hamburger-box{position:relative;display:inline-block;width:35px;height:24px}
.hamburger-inner{top:50%;display:block;margin-top:-2px}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before{position:absolute;width:30px;height:4px;transition:all ease 0.15s;background-color:#000}
.hamburger-inner::after,
.hamburger-inner::before{display:block;content:""}
.hamburger-inner::before{top:-12px}
.hamburger-inner::after{bottom:-12px}
.hamburger--3dxy .hamburger-box{perspective:80px}
.hamburger--3dxy .hamburger-inner{transition:transform .15s cubic-bezier(0.645,0.045,0.355,1),background-color 0 cubic-bezier(0.645,0.045,0.355,1) .1s}
.hamburger--3dxy .hamburger-inner::after,
.hamburger--3dxy .hamburger-inner::before{transition:transform cubic-bezier(0.645,0.045,0.355,1) .1s}
.hamburger--3dxy.is_active .hamburger-inner{transform:rotateX(180deg) rotateY(180deg);background-color:transparent!important}
.hamburger--3dxy.is_active .hamburger-inner::before{transform:translate3d(0,10px,0) rotate(45deg);top: -10px}
.hamburger--3dxy.is_active .hamburger-inner::after{transform:translate3d(0,-10px,0) rotate(-45deg);bottom: -10px}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative;padding-top: 154px;z-index: 2;}
.mv{padding: 0}
.mv_txt{position: absolute;width: 100%;height: 100%;left: 0;top: 0;display: flex;justify-content: center;align-items: center;z-index: 2}
.mv_txt h1{font-size: 25px;text-align: center;}
.mv_slide .swiper-slide img{width: 100%;border-radius: 15px}
.mv-button-box{position: absolute;bottom: 38px;width: 100%;left: 0;display: flex;justify-content: center;align-items: center;gap: 30px;z-index: 2}
.mv-button{width: 40px;height: 40px;background: url(../images/btn_ic_l_white.png) center /cover no-repeat;cursor: pointer;}
.mv-button-next{background-image: url(../images/btn_ic_r_white.png);}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl{line-height: 1.1em}
.ttl span{display: block;}
.ttl .en,
.ttl .ja{font-size: 150px;font-weight: 900;line-height: 1.1em;color: var(--mcolor);}
.ttl.white .en,
.ttl.white .ja{color: #fff}

.btn_center_box{gap: 20px;margin-bottom: 30px;display: flex;justify-content: center;align-items: center;}
.btn_center_box .btn{margin-bottom: 0}
.btn a {display: flex; align-items: center; position: relative; color: #221815; background: #f4f3f3; width: 260px; padding: 15px 60px 15px 25px; z-index: 1; height: 60px;border-radius: 50px;overflow: hidden;font-size: 18px;font-family: var(--font-hira);font-weight: 600}
.btn.center a{margin-left: auto;margin-right: auto;}
.btn a::before {position: absolute; content: ""; top: 0; left: 0; height: 100%; background-color: var(--mcolor); z-index: -1; transition: 0.3s; width: 0;}
.btn a::after{content: '';position: absolute;width: 40px;height: 40px;right: 15px;top: calc(50% - 20px);background: url(../images/btn_ic_r.png) center /cover no-repeat;transition: .3s;transition-delay: .1s}
.btn a:hover::before {width:100% }
.btn a:hover::after{background-image: url(../images/btn_ic_r_white.png);}
.btn a:hover{color: #fff}
.btn a span {font-size: 15px; transition: 0.25s; font-weight: 500; position: relative; z-index: 2; }
.btn.btn_100{width: 100%}
.btn.btn_100 a{width: 100%;text-align: center;justify-content: center;}

section{padding: 40px 0;}

/*==================== SEC01 ===================*/
.sec01{padding-top: 49px}
.s01_img{margin-bottom: 9px}
.s01_txt{margin-bottom: 35px}
.s01_bnr_box{gap: 61px;align-items: flex-start;}
.s01_bnr01 .bnr_img{margin-bottom: -70px}
.s01_bnr02 .bnr_img{margin-bottom: -34px}

/*==================== SEC02 ===================*/
.sec02{padding-top: 44px;padding-bottom: 66px}
.s02_frame{background: var(--bg_be);border-radius: 15px;padding: 4px 48px 66px;display: flex;justify-content: flex-start;position: relative;margin-bottom: 69px}
.s02_frame:last-child{margin-bottom: 0}
.s02_frame02{justify-content: flex-end;}
.s02_frame .s02_frame_content{width: 65%}
.s02_frame_ttl{font-size: 150px;margin-bottom: 1px;color: var(--mcolor);line-height:1.3em}
.s02_frame_txt_big{font-size: 36px;font-weight: 700;margin-bottom: 14px;padding-left: 18px}
.s02_frame_txt{font-size: 18px;margin-bottom: 23px;padding-left: 17px}
.s02_frame_txt span{display: block;margin-top: -5px}
.s02_frame .s02_frame_img{position: absolute;right: 70px;bottom: -16px;}
.s02_frame02 .s02_frame_img{right: initial;left: -6px;bottom: 36px}
.s02_frame_btn{padding-left: 16px}

.s02_frame02{padding-right: 30px}
.s02_frame02 .s02_frame_content{width: 66%;}


/*==================== SEC03 ===================*/
.sec03{padding: 32px 0 62px}
.s03_btn.btn a{width: 313px}
.s03_ttl{margin-bottom: -11px}
.s03_ttl_ja{font-size: 72px;margin-bottom: 30px}
.s03_txt{font-size: 17px;line-height: 2.15em;margin-bottom: 62px}
.s03_img_box .s03_img  .txt{font-size: 24px;margin-top: 25px}
.s03_img_box .s03_img02 .txt{margin-top: 27px}
.s03_content{position: relative;}
.s03_img{display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center;left: 40px;top: -49px;position: absolute;}
.s03_img02{left: initial;right: 40px}

/*==================== SEC04 ===================*/
.sec04{padding-top: 48px}
.s04_ttl{margin-bottom: 26px}
.s04_ttl02{font-size: 36px;font-weight: 700;margin-bottom: 19px}
.s04_news_archive_box{margin-bottom: 39px}
.s04_ttl_box{position: relative;}
.s04_ttl{margin-left: -10px}
.s04_img{position: absolute;top: -24px;right: 40px}
.news_item{position: relative;}
.news_item .item_img{border-radius: 10px;overflow: hidden;border: 1px solid #dfdfdf;margin-bottom: 18px}
.news_item .item_img.bor_trans{border-color: transparent;}
.news_item .item_img img{transition: .3s;width: 100%;height: 210px;object-fit: cover;}
.detail_info .item_cate,
.news_item .item_cat{display: inline-block;line-height: 1.2em;border-radius: 10px;border: 1px solid #000;padding: 7px 18px;font-size: 12px;font-weight: 400;margin-bottom: 10px}
.news_item .item_ttl{margin-bottom: 0;line-height: 1.5em}
.news_item .item_ttl a{font-size: 16px;font-weight: 700;color: var(--txt);line-height: 1.5em;max-height: 48px;overflow: hidden;display: inline-block;}
.news_item .item_ttl a:after{content: '';position: absolute;width: 100%;height: 100%;left: 0;top: 0}
.news_item .item_date{font-size: 12px;}

/*==================== SEC05 ===================*/
.sec05{padding-top: 18px;padding-bottom: 45px}
.s05_ttl_box{display: flex;align-items: flex-start;}
.s05_ttl02{display: flex;justify-content: flex-start;align-items: flex-start;line-height: 1.5em}
.s05_ttl02 span{background: var(--scolor);color: #fff;position: relative;line-height: 1.5em;font-size: 36px;font-weight: 700;padding: 1px 20px 4px 20px}
.s05_ttl02 span::before{content: '';position: absolute;width: 30px;height: 100%;background: var(--scolor);clip-path: polygon(100% 0, 45% 50%, 100% 100%, 0 100%, 0 0);left: calc(100% - 1px);top: 0}
.s05_ttl{margin-bottom: 36px}
.s05_ttl_box{margin-bottom: 40px;position: relative;}
.s05_img{position: absolute;top: -57px;right: 32px}
.s05_list{display: flex;flex-wrap: wrap;align-items: flex-start;gap: 63px 87px;padding: 0 20px}
.s05_item{width: 218px;flex-shrink: 0;position: relative;}
.s05_item a::after{content: '';position: absolute;width: 100%;height: 100%;left: 0;top: 0}
.s05_item_long_txt{width: 264px}
.s05_item .item_img{margin-bottom: 0;text-align: center;transition: .3s}
.s05_item .item_ttl{font-size: 24px;font-weight: 900;text-align: center;color: var(--txt02);}
.s05_item:hover:not(.s05_last_item) .item_ttl{color: var(--mcolor);}
.s05_item:hover:not(.s05_last_item) .item_img{opacity: .8}
.s05_last_item{width: 232px;align-self: flex-end;}
.s05_last_item .item_img{position: relative;top: -17px;right: -4px}

/*==========================================================
                        F O O T E R
==========================================================*/
footer{}
.ft_top{margin-bottom: 49px}
.ft_top .container{display: flex;align-items: flex-start;justify-content: space-between;}
.ft_logo{margin-bottom: 18px}
.ft_ttl{font-size: 24px;font-weight: 700;color: #120d69;}
.ft_info{display: flex;align-items: flex-start;gap: 19px}
.ft_info_content{padding-top: 8px}
.ft_info_label{width: 100px;flex-shrink: 0;line-height: 1.3em}
.ft_info_content .txt01{font-size: 18px;margin-bottom: 4px;font-weight: 400;line-height: 1.3em}
.ft_info_link li a{font-size: 16px;font-weight: 400;display: inline-block;text-decoration: underline;text-underline-offset: 9px;color: var(--txt);}
.ft_info_link li a:hover{text-decoration: none;}
.ft_info_link li{margin-bottom: 20px;line-height: 1.5em}
.ft_r_content{width: 700px;border-radius: 15px;background: var(--bg_be);padding: 25px 40px 66px 44px;flex-shrink: 0}
.ft_r_ttl{margin-bottom: 6px}

.ft_link_box{gap: 27px}
.ft_link li{font-size: 16px;font-weight: 400;margin-bottom: 4px}
.ft_link li a{font-size: 16px;font-weight: 400;display: inline-block;text-decoration: underline;text-underline-offset: 9px}
.ft_link02 li a{padding-left: 10px}
.ft_btn_box{width: 201px;flex-shrink: 0;margin-top: 9px}
.ft_btn {margin-bottom: 40px}
.ft_btn02{margin-bottom: 41px}
.ft_btn a{width: 100%;height: 66px;position: relative;background: #d10078;border-radius: 10px;color: #fff;line-height: 1.5em;font-size: 18px;display: flex;align-items: center;justify-content: center;}
.ft_btn a::after{content: '';position: absolute;width: 40px;height: 40px;right: -10px;bottom: -19px;background: url(../images/btn_ic_r_white.png) center /cover no-repeat;}
.ft_btn a .sm{font-size: 12px;display: block;}
.ft_btn02 a{background: #fe850e}
.ft_btn03 a{background: var(--red);}
.ft_link li a:hover{text-decoration: none;}

.ft_bottom{overflow: hidden;padding-top: 138px;position: relative;}
.ft_bottom::before{content: '';position: absolute;width: 324px;height: 172px;left: calc(50% - 162px);top: 0;background: url(../images/ft_img01.png) center /cover no-repeat;}
.ft_bottom_content{position: relative;padding-bottom: 313px;}
.ft_bottom_content::before{content: '';position: absolute;height: 260%;left: 50%;top: 50px;background: var(--red);transform: translateX(-50%);border-radius: 50%;width: 120%;z-index: -1}

.totop_box{margin-bottom: 6px;}
.to_top{width: 118px;height: 118px;border-radius: 50%;background: #fff;border: 1px solid  var(--red);display: flex;justify-content: center;align-items: center;font-size: 24px;font-weight: 900;text-align: center;padding: 14px 20px 0;line-height: 1.3em;cursor: pointer;transition: .3s}
.to_top::before{content: '';position: absolute;width: 16px;height: 28px;left: calc(50% - 10px);background: url(../images/totop_ic.png) center /cover no-repeat;top: 8px;transition: .3s}
.to_top:hover{background: var(--mcolor);border-color: var(--mcolor);color: #fff;}
.to_top:hover::before{filter: invert(0) brightness(100);}

address{text-align:center;color: #fff;font-size: 16px;font-weight: 400;font-style: normal;position: relative;}
