@charset "utf-8";

body { font-family:"Zen Antique Soft", serif; font-weight:400; font-style: normal; font-size:15px; letter-spacing:0.05em; line-height:1.7em; }
@media screen and (min-width:798px) {
    body { font-size:16px; }
}
/*PCスマホ表示切り替え用*/
.br_pc {display: none !important;}
.pc {display: none;}
.sp {display: block;}
.inline_sp { display:inline; }
.inline_pc { display:none; }
@media screen and (min-width:798px) {
    .sp {display: none !important;}
    .pc {display: block;}
    .br_sp {display: none !important;}
    .br_pc {display: inline !important;}
    .inline_sp { display:none; }
    .inline_pc { display:inline; }
}

/*フォント*/
.zen-antique-soft-regular {
  font-family: "Zen Antique Soft", serif;
  font-weight: 400;
  font-style: normal;
}

/*WEBフォントのチラつき防止*/
/*html {visibility: hidden;}
html.wf-active {visibility: visible;}*/

/*共通*/
.contents_wrap { width:100%; margin-bottom:50px; }
@media screen and (min-width:798px) {
    .contents_wrap { margin-bottom:initial; }
}
.contents_wrap.gray { width:100%; background:#f2f4f6; }
.red { color:#AD2900; }
.contents_wrap.navy { background:#0A244A; color:#fff; background:rgba(10, 36, 74, 0.5); }
/*.contents_wrap.navy { color:#fff; background:rgba(181, 255, 20, 0.9); }*/

h2 { font-weight:normal; }

/*コンテンツ*/
.contents { width:90%; max-width:1080px; padding:50px 0; display:block; margin:0 auto; /*position:relative; z-index:1;*/ }
.contents { display:block; font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.contents p { text-align: justify;}
@media screen and (min-width:798px) {
    .contents {  width:90%; padding:100px 0 150px 0; margin:0 auto; }
}
@media screen and (min-width:1200px) {
    .contents { width:1080px; }
}

.contents .midashi { font-family:"Zen Antique Soft", serif; font-weight:400; font-style: normal; font-size:30px; line-height:1.7em; letter-spacing:0.05em; margin-bottom:30px; display:inline-block;  }
@media screen and (min-width:798px) {
    .contents .midashi { font-size:36px; margin-bottom:75px; }
}

.gaiyo { width:100%; display:flex; flex-wrap:wrap; align-items:center; border-top:1px solid #ccc; padding:30px 0; }
.gaiyo:last-child { border-bottom:1px solid #ccc; }
.gaiyo dt { width:100%; font-weight:bold; margin-bottom:10px; }
.gaiyo dd { width:100%; }
@media screen and (min-width:798px) {
    .gaiyo dt { width:20%; font-weight:normal; margin-bottom:initial; }
    .gaiyo dd { width:80%; }
}



/*下層のトップ*/
.top_wrap { width:100%; height:auto; padding-top:50px; padding-bottom:30px; display:block; color:#fff; }
.top_wrap { background:#0B254A; background-repeat:no-repeat; background-size:cover; }
.top_wrap .companyname { font-size:12px; margin:10px 0 0 20px; display:inline-block; font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; line-height:1.5em; font-weight:bold; }
.top { width:100%; margin:0px auto 0 auto; display:flex; flex-wrap:wrap; padding-top:30px; }
.top h1 { width:95%; font-size:15px; margin-left:5%; font-family:"Zen Antique Soft", serif; font-style: normal; font-weight:500;font-style: normal;}
.title_english { width:95%; font-size:30px; margin-left:5%; letter-spacing:0.2em; font-family:"Zen Antique Soft", serif;font-style: normal;font-weight: 700;font-style: normal; margin-bottom:10px; display:inline-block; }
@media screen and (min-width:798px) {

    .top_wrap .companyname { margin:30px 0 0 40px; padding-bottom:70px; font-weight:bold; display:inline-block; line-height:1.2em; }
    .top { width:90%; height:100%; margin:0 auto; display:block; }
    .top h1 { font-size:18px; margin-left:0; }
    .title_english { font-size:60px; margin-top:30px; margin-bottom:35px; margin-left:0; }
}
@media screen and (min-width:1200px) {
    .top_wrap { padding-bottom:50px; }
    .top_wrap .top { width:1080px; }
    .title_english { font-size:65px; margin-top:0; margin-bottom:10px; }
}


/*フォント*/
.shuei{font-family:"Zen Antique Soft", serif; font-style: normal;font-weight: 700;font-style: normal; margin-bottom:20px; display:inline-block;}
.gothic {font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}





/*各ページのタイトル*/
.title_english {display: inline-flex;font-size:30px;font-weight: bold;overflow: hidden;}
  @media screen and (min-width: 840px) {
    .title_english  { font-size:65px; margin-bottom:20px; }
    .title_english span { line-height:70px; }
  }
  
  .title_english span {
    display: inline-block;
    transform: translateY(100%);
    opacity: 0;
    animation: slideIn 0.5s ease-out forwards;
  }
  
  .title_english span:nth-child(1) {
    animation-delay: 0s;
  }
  .title_english span:nth-child(2) {
    animation-delay: 0.1s;
  }
  .title_english span:nth-child(3) {
    animation-delay: 0.2s;
  }
  .title_english span:nth-child(4) {
    animation-delay: 0.3s;
  }
  .title_english span:nth-child(5) {
    animation-delay: 0.4s;
  }
  .title_english span:nth-child(6) {
    animation-delay: 0.5s;
  }
  .title_english span:nth-child(7) {
    animation-delay: 0.6s;
  }
  .title_english span:nth-child(8) {
    animation-delay: 0.7s;
  }
  .title_english span:nth-child(9) {
    animation-delay: 0.8s;
  }
  .title_english span:nth-child(10) {
    animation-delay: 0.9s;
  }
  .title_english span:nth-child(11) {
    animation-delay: 0.1s;
  }
  .title_english span:nth-child(12) {
    animation-delay: 0.11s;
  }
  .title_english span:nth-child(13) {
    animation-delay: 0.12s;
  }
  .title_english span:nth-child(14) {
    animation-delay: 0.13s;
  }
  
  @keyframes slideIn {
    0% {
      transform: translateY(100%);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }
  



/*電話のリンク*/
@media screen and (min-width: 840px) {
    .contentsTel { pointer-events:none; }
}

/*エントリーボタン*/
.contentsEntry { width:90%; max-width:460px; height:70px; margin:50px auto; display:flex; justify-content:center; align-items:center; background:#FF5800; color:#fff; position: relative; }
.contentsEntry::before { content: ''; width: 50%; height: 100%; position: absolute; top: 0; left: -75%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%); transform: skewX(-25deg); }
.contentsEntry:hover::before { animation: shine 0.7s; }  
.contentsEntryEng { font-family: "din-2014-narrow", sans-serif; font-weight:700; font-size:28px; margin-right:10px; }
.contentsEntryJpn { margin:0 5px; font-size:14px; }
.contentsEntry span.btnarrow{width:50px;position: relative;display: inline-block;padding: 0 20px;color: #fff; text-decoration: none;outline: none;margin-bottom:10px; right:0; transition: all 0.35s ;}
.contentsEntry span.btnarrow::before{content: '';position: absolute;bottom:-8px;left:10%; width: 90%; height: 1px; background:#fff; transition: all 0.35s;}
.contentsEntry span.btnarrow::after{content: '';position: absolute;bottom:-5px;right:0;width: 10px;height:1px; background:#fff;transform: rotate(35deg);transition: all 0.35s;}
.contentsEntry:hover span.btnarrow{ right:-20px; transition: all 0.35s;}
.contentsEntry:hover span.btnarrow::before{ transition: all 0.35s;}
.contentsEntry:hover span.btnarrow::after{ transition: all 0.35s;}
@media screen and (min-width: 600px){
    .contentsEntry { height:90px; }
    .contentsEntryEng { font-size:36px; }
    .contentsEntryJpn { margin:0 10px; }
}
@media screen and (min-width: 840px){
    .contentsEntry { margin:100px auto; }
    .contentsEntryEng { font-size:48px; }
}

@keyframes shine {
100% { left: 125%; }
}

.li_photo { overflow: hidden;}

/*エントリーフォーム*/
.div_entry { display:none; }


.div_entry .a_entry .contents span { display:block; color:#FFFF02; text-align:center; }
.div_entry .a_entry .contents strong { width:100%; line-height:1.7em; text-align:left; display:block; font-size:75px;  font-family: "futura-pt-bold", sans-serif; color:#fff;}
.div_entry_text { width:100%; display:flex; justify-content:space-between; color:#fff; }
.div_entry_text p { font-size:22px; font-weight:bold; color:#fff; display:inline-block; text-align:left; }
.div_entry .a_entry .contents span.sp_entryform { text-align:left; }
@media screen and (min-width: 840px){
    .div_entry.pc { width:100%; height:300px; position:relative; display:block; overflow:hidden;  display: flex;justify-content: center;align-items: center;}
    .div_entry.pc .a_entry .contents { width:90%; height:100%; padding:0; margin:0 5% 0 5%; }
    .div_entry.pc .video { width:100%; position:absolute; top:-50px; }
    .div_entry.pc .video {
        width: 100%;
        height: 300px;
        position: absolute;
        top: 0; /* 必要に応じて調整 */
        object-fit: cover;
    }
    
    .div_entry.pc .a_entry .contents { width:45%; height:100%; padding:50px 0; margin:0 auto; display:flex; flex-wrap:wrap; }
    @media screen and (min-width:900px){
        .div_entry.pc .a_entry .contents { width:80%; }
    }
    @media screen and (min-width:1200px){
        .div_entry.pc .a_entry .contents { width:45%;}
    }
    .div_entry_text p { font-size:35px;  white-space: nowrap; }
    .div_entry.pc .a_entry .contents strong { width:40%; line-height:1.2em; }
    .div_entry.pc .a_entry .contents span.sp_entryform { width:80%; text-align:left; margin-bottom:30px; }
    .div_entry.pc .circle { margin-top:20px; }
}


.ul_column3 { width:100%; display:flex; justify-content:space-between; flex-wrap:wrap; }
.ul_column3 li { width:33%;  }
.ul_column3 li img { width:100%; }
.ul_column3 li.li_long { width:49.7%; }
.ul_column3 li.li_long img { width:100%; }



/*スタッフ*/
.staff { width:90%; margin:0 auto 80px auto; display:flex; flex-wrap:wrap; }
.staff div { width:100%; }
.staff div:nth-child(1) { order:2; }
.staff div:nth-child(2) { order:1; }
.staff .button_read { order:3; }
.staff div img {width:100%; }


.button_read { width:auto; height:60px; margin:0 auto; padding:0 20%; /* background:#0B254A; */background:#b7fd38; color:#0A244A; display:flex; align-items: center;  position: relative;}
.button_read span { font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight:bold;}
.button_read .icon_arrow { width:30px; }
.staff_wrap a:hover .staff .button_read span.read { color:#0A244A; }
.staff_wrap a:hover .staff .button_read span.maru { color:#fff; }

.staff div span { width:100%; display:inline-block; font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight:bold; margin-top:20px; margin-bottom:10px; color:#0a244a;}
.staff div strong {  width:100%; display:inline-block; margin-bottom:20px; font-size:18px; line-height:1.7em; letter-spacing:-0.1em; font-family:"Zen Antique Soft", serif; font-style: normal;font-weight:500;font-style: normal;}
.staff div span { font-size:22px; }
.staff div span small { font-size:16px; }
@media screen and (min-width: 840px) {
  .staff { width:80%; margin:0 20% 120px 0; position:relative; flex-direction: initial;}
  .staff div { width:50%;  height:auto; }
  .staff div img {width:90%; margin-left:10%; }
  .staff div strong  { font-size:34px; }
  .staff div.line { width:100%; }
  .staff div:nth-child(1){ width:45%; margin:0 0 0 50px; order:initial; }
  .staff div:nth-child(2) { order:initial; }
  .staff .button_read { order:initial; }
  .button_read { width:270px; height:50px; margin:0; position:absolute; bottom:38px; /*z-index:5; */ padding:0; }
  .button_read span { margin:5px 0 0 30px; font-size:18px; }
  .staff div span { margin-top:0; margin-bottom:20px; }
  .staff div a strong { font-size:40px; }
  .staff { width:1080px; overflow:hidden; }
  .staff div span { font-size:22px; }
  .staff div span small { font-size:15px; }
  .staff_wrap a strong,.staff_wrap a span {color: rgba(255, 255, 255, 1);transition: color 0.3s ease; }
  .staff_wrap a:hover strong,.staff_wrap a:hover span {color: rgba(255, 255, 255, 0.4); }

  .staff_wrap a strong,.staff_wrap a span {color:#0A244A;transition: color 0.3s ease; }


  .staff_wrap a:hover .staff_photo { overflow:hidden; }
  .staff_wrap a .staff_photo img {
    transition: transform 0.3s ease-in-out;
    transform: scale(1); /* 初期状態のスケールを指定 */
  }
  
  .staff_wrap a:hover .staff_photo img {
    transform: scale(1.05); /* ホバー時に拡大 */
  }
  
}

.button_read span {position: relative;z-index: 1; line-height:1.7em; color:#0A244A; display:inline; }
.button_read span::before {content: "";position: absolute;bottom:1px;left: 0; width: 0;height:1px; background: #0A244A; transition: width 0.4s ease; }
.button_read:hover span::before {width: 100%; }
.button_read span.maru {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #0A244A;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 10px;
  background: transparent; /* 初期の背景色を明示 */
  color:#0A244A;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease; /* 滑らかな変化を追加 */
  font-size: 14px; /* 必要に応じて調整 */
  line-height: 1; /* 矢印が上下中央に配置されるように調整 */
}
.button_read:hover span.maru::before { content:none; }
.staff_wrap a:hover .staff span.maru {  background: rgba(10, 36, 74, 1);  color:#fff; }
.staff_wrap a:hover .staff span {color: rgba(255, 255, 255, 1); }
.ceo_wrap a:hover span.maru { background: rgba(10, 36, 74, 1);  color:#fff; }


/*@media screen and (min-width: 840px) {
  .ceo_wrap .button_read { bottom:-3px; }
}*/


.lineTrigger::after { content:none; }
@media screen and (min-width: 840px) {
  .staff.second { margin-left:5%; }
  .staff.third { margin-left:10%; }
  
}

@media screen and (max-width: 840px) {
    .tel:link { color:#000; } 
    .tel:visited { color:#000; } 
}





  