@charset "UTF-8";
:root{
  --acc-color: #1A2FC6; 
  --green-color: #006934; 
  --moji-color: #222222; 
  --red-color: #e52d27;
  --bg-color: #F5F5F5;
  --yellow-color: #FFFA76;
  --bdr-color:#E8E8E8;
  --table-bdr-color:#C9C9C9;
  --blk-color:#202123;
  --opacity:.7;
  --radius-btn: 6px;	
  --radius-bnr: 40px;
  --radius-base: 60px;
  --radius-img: 80px;
}


/* =========================================================
import
========================================================= */
/**
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; 
  overflow-x: hidden;
}
body.top{
    display: inherit;
}
svg {
    display: block;
    width: 100%;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
 }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul, ul li{
  list-style: none; }

ol ol {
  list-style: decimal inside; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  transition: all .3s ease-in;
}

ins {
  background-color: #ff9;
  color: var(--moji-color); 
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: var(--moji-color); 
  font-style: italic;
  font-weight: 700; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

textarea {
  resize: vertical; }
sup {
	font-size: 70%; 
	vertical-align: top;
	position: relative;
	top: -0.1em; 
}
h1,h2,h3,h4,h5{font-weight: 600;}
/* =========================================================
common
========================================================= */
html {
  font-size: 62.5%;
  /*10px*/
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  line-height: 1.7;
  color: #111;
  width: 100%; 
}
.fs-80{font-size: 8rem;}
.fs-70{font-size: 7rem;}
.fs-60{font-size: 6rem;}
.fs-50{font-size: 5rem;}
.fs-40{font-size: 4rem;}
.fs-36{font-size: 3.6rem;}
.fs-30{font-size: 3rem;}
.fs-26{font-size: 2.6rem;}
.fs-24{font-size: 2.4rem;}
.fs-22{font-size: 2.2rem;}
.fs-20{font-size: 2rem;}
.fs-18{font-size: 1.8rem;}
.fs-16{font-size: 1.6rem;}
.fs-14{font-size: 1.4rem;}
.fs-12{font-size: 1.2rem;}
@media screen and (max-width:1200px){
  body{
    font-size: calc(1.5rem + ((1vw - 0.375rem) * 0.3636));
    min-height: 0vw;
  }
  .fs-80{font-size: clamp(3.6rem, 1.6rem + 8.53vw, 8rem)}
  .fs-70{font-size:clamp(3.2rem, 1.473rem + 7.37vw, 7rem)}
  .fs-60{font-size: clamp(3rem, 1.636rem + 5.82vw, 6rem)}
  .fs-50{font-size:clamp(2.8rem, 1.8rem + 4.27vw, 5rem)}
  .fs-40{font-size: clamp(2.2rem, 1.545rem + 3.27vw, 4rem)}
  .fs-36{font-size: clamp(2.1rem, 1.555rem + 2.73vw, 3.6rem)}
  .fs-30{font-size: clamp(2rem, 1.545rem + 1.94vw, 3rem)}
  .fs-26{font-size: clamp(1.6rem, 1.236rem + 1.82vw, 2.6rem)}
  .fs-24{font-size:clamp(1.6rem, 1.309rem + 1.45vw, 2.4rem)}
  .fs-22{font-size:clamp(1.55rem, 1.314rem + 1.18vw, 2.2rem)}
  .fs-20{font-size: clamp(1.55rem, 1.386rem + 0.82vw, 2rem)}
  .fs-18{font-size: clamp(1.52rem, 1.418rem + 0.51vw, 1.8rem)}
  .fs-16{font-size: clamp(1.5rem, 1.455rem + 0.19vw, 1.6rem)}
  .fs-14{font-size: clamp(1.3rem, 1.255rem + 0.19vw, 1.4rem)}
}  

p {
    margin: 10px 0;
    overflow-wrap: break-word;
    word-wrap: break-word;
    line-height: 2
}
@media (max-width: 767px) {
  p {
    margin: 5px 0;
  }
}
h2 {line-height: 1.6; }
a {
  text-decoration: none; 
  color: var(--acc-color);
}
a:visited {
  color: var(--acc-color);
}
a:hover {
  color: var(--acc-color); 
}
a.white:hover{
    color: white;
    opacity: .7
}
@media (max-width: 767px) {
  a:hover {
    color: var(--moji-color);
  } 
}
a:active {color: var(--acc-color);  }
a.link-ul {text-decoration: underline; }
a.link-ul:hover {text-decoration: none; }
a.link-wh{color: white;}
a.link-wh:hover {
  color: white;
  text-decoration: underline;
}
a.blue:hover{opacity: 0.7}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
img.img_sp {
  max-width: 100%;
  height: auto;
  zoom: 1;
}
.bold {font-weight: 700; }
.medium{font-weight: 500;}
.semibold{font-weight: 600;}
.normal {font-weight: normal; }
.ta-c {text-align: center!important; }
.ta-r {text-align: right!important; }
.ta-l {text-align: left!important; }
.ff-en{font-family: 'Lora', serif;}
.ff-en-bold{
    font-family: 'Lora', serif;
    font-weight: 600;
}
.mt-0 {margin-top: 0 !important; }
.mt-0_5em {margin-top: 0.5em !important; }
.mt-1em {margin-top: 1em !important; }
.mt-1_5em {margin-top: 1.5em !important; }
.mt-2em {margin-top: 2em !important; }
.mt-3em {margin-top: 3em !important; }
.mt-4em {margin-top: 4em !important; }
.mb-1em {margin-bottom: 1em !important; }
.mb-2em {margin-bottom: 2em !important; }
.mb-3em {margin-bottom: 3em !important; }
.mb-4em {margin-bottom: 4em !important; }
.mt-10per{margin-top: 10%}

.txt-in-1em {text-indent: 1em; }
.li-crc li{
  list-style: circle;
  margin-left: 1.5em;
}
.br-sp {
  display: none; }
  @media (max-width: 767px) {
    .br-sp {
      display: block; } }

.br-tbsp {
  display: none; }
  @media (max-width: 1100px) {
    .br-tbsp {
      display: block; } }

.br-tb {
  display: block; }
  @media (max-width: 1100px) {
    .br-tb {
      display: none; } }

.br-pc {
  display: block; }
  @media (max-width: 767px) {
    .br-pc {
      display: none; } }

.bdr_none {border-bottom: none !important; }

.img-auto{
  text-align: center;
}
.img-auto img,img.img-auto{
  width: auto;
  height: auto;
}
.row{ margin: 0;}
.lh1 {line-height: 1; }
.lh1_4 {line-height: 1.4; }
.lh1_6 {line-height: 1.6; }
.red {color: var(--red-color);}
.blue {color: var(--acc-color);}
.yellow {color: var(--yellow-color);}
.black {color: black; }
.white {color: white; }
.flex{display: flex}
.jc-sb{justify-content: space-between}
.ai-c{align-items: center}
.anime:hover {transition: 0.2s; }
.pr {position: relative; }
.img-radius20{border-radius: 20px}
.bg-blue{
    background: var(--acc-color);
    color: white
}
.bg-gray{background: var(--bg-color);}

.inner{
  width: 100%;
  max-width:1220px;
  margin: auto;
}
@media (max-width: 1300px) {
  .inner{
    padding: 0 5%;
  } 
}
section{
    padding: 100px 0;
    overflow: hidden;
}
@media (max-width: 959px) {
    section{
      padding: 12vw 0;
    }
}
@media (max-width: 767px) {
    .img-radius20{border-radius: 1.7vw}
}
@media (max-width: 599px) {
    section{
      padding: 12vw 0 14vw;
    }
}

/*HEADER*/
header{
  width: 100%;
  z-index: 10000;
  position: fixed;
  top:0;
  left: 0;
  right: 0;
  padding: 0;
  transition: all .5s;
}
.head__inner{
  height: 90px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#global-head {
    width: auto;
    height: 100%;
    padding:0;
}
#global-head .logo {
    padding: 30px 30px 30px;
    transition: .6s opacity;
    background: white;
    text-align: center;
    border-radius: 0 0 20px 0;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);

}

#global-head .logo a:hover,#global-head .logo a.hover{
    text-decoration: none;
}
#global-head .logo img,#global-head .logo svg{
  width: 224px;
}
footer .logo img{
  width: 180px;
}
.btn__contact a{
    background: linear-gradient(105deg,#7454FD 10%, #1A2FC6 100%);
    transition: all .6s ease;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
}
.icon-mail{
    width: 25px;
    margin-right: .5em;
    line-height: 1;
}
.icon-mail img{
  vertical-align: middle;
}
.global-nav .nav-list{
    background:white;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.global-nav .nav-list .nav-item.btn__contact{
    margin-left: 20px;
}
.global-nav .nav-list .nav-item.btn__contact a{
    color:white;
    height: 100%;
    border-radius: 6px;
}
.btn__contact a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(105deg,#1A2FC6 10%, #7454FD 100%);
    opacity: 0; /* 初期状態は非表示 */
    transition: opacity 0.5s;
    border-radius: 6px;
    border: solid 1px white
}

@media (any-hover: hover) {
    .btn__contact a:hover{
        color: white!important;
    }
    .btn__contact a:hover::before {
        opacity: 1; 
    }
}
@media (max-width: 1149px) {
  .nav-list .nav-item > a .c-arrow-only,.nav-list .nav-item > a .c-arrow-only{
    display: block;
  }
}

.global-nav .nav-list .nav-item a.link__off{
    pointer-events: none;
    color: #aaa;    
}

@media (max-width: 767px) {
  header{height: 68px;}
  #global-head {
    height: auto; 
    width: 60%;
    padding: 0
  }
  
}
@media (max-width: 370px) {
  .logo-aside{
    padding: 1em;
    margin-left: 6px;
    font-size: 1vw;
  }
}

/* グローバルメニュー */
.global-nav {
    margin: 0;
    width: auto;
    padding-right: 20px;
}

.global-nav .nav-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding:0;
    justify-content: flex-end;
    z-index: 1;
    padding: 10px;
    border-radius: 6px
}

.global-nav .nav-list .nav-item {

}

.global-nav .nav-list .nav-item a {
    color: var(--moji-color);
    display: flex;
    align-items: center;
    padding: 0.2em 1em 0.4em;
    text-align: center;
    text-decoration: none;
    width: auto;
    height: 100%;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.5s;
}
.global-nav .nav-list .nav-item a:hover{
  color: var(--acc-color);
}
#article .global-nav .nav-list .nav-item a{
  color: var(--moji-color);
}
#article .global-nav .nav-list .nav-item a:hover{
  color: var(--moji-color)!important;
  opacity: .7;
}
#article .global-nav .nav-list .nav-item.btn__contact a{
    color: white;
}
#article .global-nav .nav-list .nav-item.btn__contact a:hover{
  color: white!important;
  opacity: .7;
}

.nav-sub__ttl{
      color: white/*var(--acc-color)*/; 
  width:20%;
  text-align: center;
}
@media screen and (max-width: 1350px) {
  .global-nav .nav-list .nav-item a {
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 1280px) {
    .global-nav .nav-list .nav-item a {
        padding: 0.6em 1em;
        font-size: calc(1.6rem + ((1vw - 0.375rem) * 0.0161));
    }
}


/* SP時：ハンバーガーメニューボタン */
.global-nav-icon {
  display: none;
}
@media screen and (max-width: 1149px) {
    .nav-list{
        height: auto;
        opacity: 0;
    }
    #global-head .logo {
        background: none;
        box-shadow:none;

    }
    #global-head .logo{
        background: #fff;
        position: absolute;
        z-index: 20000;
        top: 50%;
        transform: translateY(-50%);
    }
    .head-sp.open .nav-list{
        opacity: 1;
    }
    .nav-item_sub > .flex{
        display: block;
    }
    .nav-item_sub .inner{
        padding: 0;
    }
    .global-nav-header {
        height: 50px;
    }
    .global-nav{
        padding-right: 0;
    }
    .global-nav .nav-list {
        display: none;
        top:-100px;
        padding: 20px 20px 30px;
        width: 100%;
        border-radius: 0;
    }
     .global-nav .nav-list .nav-item{
         border-bottom: solid 1px #eee; 
         padding-bottom: 10px;
         margin-bottom: 10px;

    }

    .nav-item_sub li a .imgWrap{
        display: none;
    }
    .nav-sub__ttl{
        text-align: left;
        width: 100%;
    }

    .global-nav .nav-list .nav-item a{
        padding: 0.4em 1em 0.4em 0;
    }
    .global-nav .nav-list .nav-item > a {
        text-align: left;
        color: var(--acc-color); 
    }
    .global-nav .nav-list .nav-item > a.link__off,.global-nav .nav-list .nav-item.btn__mypage a.link__off{
        color: #aaa!important;
    }
    .global-nav .nav-list .nav-item_sub .txt{
        text-align: left;
        display: flex;
        align-items: center
    }
    .global-nav .nav-list .nav-item_sub .flex{
      flex-wrap: wrap;
    }
    .global-nav .nav-list .nav-item_sub .list__sub-wrap{
      width: 100%!important;
    }
    .global-nav .nav-list .nav-item_sub .list__sub{
      display: flex;
      flex-wrap: wrap;
    }
    .global-nav .nav-list .nav-item_sub .list__sub li + li{
      margin-left: 0;
    }
    .global-nav .nav-list .nav-item_sub .flex > li,.global-nav .nav-list .nav-item_sub .list__sub li{
      width: 33%;
    }
    .nav-item_sub .c-arrow-only{
      position: relative;
      top:0;
    }

    .global-nav .nav-list .nav-item_sub a{
        text-align: left;
        font-weight: normal;
        position: relative;
    }
    .global-nav .nav-list .nav-item.btn__contact{
        margin-left: 0;
        margin-top: 25px;
    }
    .global-nav .nav-list .nav-item.btn__contact > a{
        color: white;
    }
    .global-nav .nav-list .nav-item:last-child a {
        border-bottom: none;
    }

    .global-nav-icon {
        color: #999;
        cursor: pointer;
        display: inline-block;
        position: absolute;
        right: 5px;
        top: 15px;
        z-index: 2;
    }
    #global-head{
        z-index: 5500;
    }

    .head__inner,.head__inner{
        height: 70px;
        flex-direction: column;
        position: relative;
    }
      .head__inner::before{
        content: "";
        position: absolute;
        top:0;
        left:0;
        width: 100%;
        background: white;
        height: 70px;
        z-index: 5200;
      }
      .head__inner{
        align-items: flex-start;
      }
      .global-nav,.open .global-nav{
        top:70px;
      }
      .global-nav .nav-list .nav-item > a:hover{
        color: var(--acc-color);
      }
    .global-nav .nav-list .nav-item.btn__contact > a:hover{
        color: white
    }
    .nav-item_sub {
        /*display: none;*/
    }
    .nav-sub__ttl {
        display: none;
    }
    .open .global-nav {
      left: 0;
      position: fixed;
      width: 100%;
      z-index: 5000;
    }

    .nav-list {
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    #global-head{
        width: 100%;
        display: block;
    }
    .global-nav .nav-list .nav-item.btn__contact{
        border-bottom: none;
        padding-bottom: 0;
    }
    .global-nav .nav-list .nav-item.btn__contact a{
        text-align: center;
        width: 100%;
        max-width: 400px;
        margin: auto;
        padding: 1em 0;
        justify-content: center;
    }
    .global-nav .nav-list .nav-item.btn__mypage{
        margin-top: 20px;
    }
    .btn__mypage{
        margin-left: 0;

    }
    .global-nav .nav-list .nav-item{
      height: auto;
    }
    /*.c-arrow-only .c-arrow-bl::before{
      content: none;
    }*/
    .nav-list .nav-item > a{
      position: relative;
    }
    .nav-list .nav-item > a .c-arrow-only{
      display: block;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
    }
}
@media screen and (max-width: 1600px) {
  .nav-item_sub .inner ul.flex{
    flex-wrap: wrap;
  }
  .nav-item_sub .inner ul li.list__sub-wrap{
    width: 100%;
  }
  .nav-item_sub .list__sub{
    display: flex;
    width: 100%;
  }
  .nav-item_sub .list__sub li + li{
    border-top: none;
    margin-left: 20px;
  }
  .nav-item_sub .c-arrow-only{
    top:50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 1149px) {
  #global-head .logo img,#global-head .logo svg{
    width: 180px;
  }
 }


@media screen and (max-width: 767px) {
  .global-nav .nav-list .nav-item_sub .flex > li,.global-nav .nav-list .nav-item_sub .list__sub li{
    width: 100%;
  }
  #global-head{
    padding-left:1.3vw
  }
}
@media screen and (max-width: 599px) {
  .head__inner::before,.head__inner, .head__inner{
    height: 60px;
  }
  .global-nav, .open .global-nav{
    top:60px;
  }
  #global-head .logo{
      margin-top: 0;
      padding: 0;
  }
  .nav-item_sub > div > .flex{
      flex-direction: column;
  }
  
  .head-sp.open .global-nav .nav-list {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 20px;
  }
  .global-nav .nav-list .nav-item a{
      padding-bottom:0.3em; 
  }
  body.open{
    position: fixed;
  } 
}


header.change-color{
  background:linear-gradient(rgba(255,255,255,1) 30%, rgba(255,255,255,.4) 85%, rgba(255,255,255,0) 100%);
}
header.change-color .global-nav .nav-list .nav-item a{
  color: var(--moji-color);
}
header.change-color .global-nav .nav-list .nav-item a:hover{
  color:var(--moji-color)!important ;
}
header.change-color .global-nav .nav-list .nav-item.btn__contact a{
  color:white;
}
header.change-color .global-nav .nav-list .nav-item.btn__contact a:hover{
  color:white!important;
  opacity: 1;
}

@media (max-width: 1149px) {
.menu-trigger {
display: none;
  position: absolute;
  top: 15px;
  right: 15px;
  height: 46px;
  padding: 6px;
  z-index: 6000;
  transition: .2s ease; 
/*box-shadow: 0px 0px 0px 1px rgb(4 85 133 / 20%);*/
}
.menu-trigger.fixed{
  position: fixed;
}
.menu-trigger:hover {
  cursor: pointer;
}


.menu-trigger {
    display: block;
  }
  #global-head .logo{
    padding: 10px;
    margin-left: 0;
  }
  #global-head{
    padding-left: 10px;
  }

  .menu-trigger > div {
    position: relative;
    width: 34px; }
  .menu-trigger span {
    width: 80%;
    height: 2px;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    background: var(--acc-color);
    position: absolute;
    transition: .2s ease; 
  }

  .menu-trigger span:nth-child(1),.menu-trigger span:nth-child(1)  {
    top: 6px; }
  .menu-trigger span:nth-child(2) {
    top: 14px; }
  .menu-trigger span:nth-child(3),.menu-trigger span:nth-child(3)  {
    top: 22px; }

  .menu-trigger.hover span:nth-child(1){
    top: 10px;
  }
  .menu-trigger.hover span:nth-child(3)  {
    top: 18px;
  }
}
@media (max-width: 599px) {
  .menu-trigger{
    top: 10px;
    right: 10px;
  }
}

.sp{display: none!important;}
.pc{display: block!important;}
@media (max-width: 767px) {
  .pc{display: none!important;}
  .sp{display: block!important;}
}
.sp-only {display: none !important; }
@media (max-width: 767px) {
.sp-only {display: block !important; } }

.sptab-only {display: none !important; }
@media (max-width: 1100px) {
.sptab-only {
display: block !important; } }

.open {/*overflow: hidden;*/}
.open #overlay {display: block; }


.open .menu-trigger span:nth-child(1) {
  top: 14px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg); 
  width: 80%;
}

.open .menu-trigger span:nth-child(2) {
  width: 0;
  left: 50%;
}

.open .menu-trigger span:nth-child(3) {
  top: 14px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 80%;
} 

#overlay {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200; }



/* transition */
.top-fixed{
    position: fixed;
}
  

/* =========================================================
FOOTER
========================================================= */
#pagetop {
  width: 80px;
  height: 80px;
  text-align: center;
  background-color: #004692;
  padding: 0;
  float: right;
  overflow: hidden; }
  #pagetop a {
    display: block;
    letter-spacing: 1.2px;
    position: relative;
    color: #fff;
    font-size: 4.0rem; }
  @media screen and (max-width: 1100px) {
    #pagetop {
      width: 100%;
      float: none;
      height: 40px; }
      #pagetop a {
        font-size: 3.4rem;
        line-height: 1.4; } }

#pagetop:hover a {
  background-color: #02346a;
  -webkit-transition: all .3s;
  transition: all .3s; }
  
@media screen and (max-width: 1100px) {
  #pagetop:hover a {background-color: #004692; }
}

footer {
    background: #2F3D57;
    padding: 5rem 0;
    color: white;
}
footer .foot__list01{
    width: auto;
    margin-left: auto
}
footer .foot__list01 a{
  color:white
}
footer .foot__list01 a:hover{
  text-decoration: underline;
}
footer .foot__list01 > li + li{
    padding-left: 2em;
}
footer .foot-bottom{
    border-top:solid 1px rgba(255,255,255,.17) ;
    margin-top:20px;
    padding-top: 20px;
}

@media (max-width: 1280px) {
  footer .inner > .flex{
    flex-direction: column;
  }
  footer .foot__list01{
    justify-content: flex-start;
  }
}
@media screen and (max-width: 959px) {
    footer .foot-bottom{
        flex-direction: column-reverse;
        text-align:right;
        gap:20px;
    }
}
@media (max-width: 599px) {
  footer .foot__list01{
      display: grid;
    grid-template-columns: repeat(2, 1fr);
      margin-left: 0;
      margin-right: auto
}
    footer .foot__list01 li{
        text-align: left
    }
    footer .foot__list01 > li + li{
        padding: 0
    }
}

.anim {
  opacity: 0;
  transform: translate3d(0, 40px, 0);
    transition: all 0.6s cubic-bezier(0.78,-0.47,0.43,1.05);
    transition-delay: 0.1s;
}
.anim.is-animated{
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.anim-leftin {
  opacity: 0;
  transform: translate3d(-60px, 0px, 0);
  transition: all .6s cubic-bezier(.74,.35,0,.85);
    transition-delay: 0.2s;
}
.anim-leftin.is-animated {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.anim-rightin {
  opacity: 0;
  transform: translate3d(60px, 0px, 0);
  transition: all .6s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition-delay: 0.2s;
}
.anim-rightin.is-animated {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (max-width: 959px) {
  .txt-img-r .anim-rightin{
    transform: translate3d(-60px, 0px, 0);
  }
  .txt-img-r .anim-rightin.is-animated {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media screen and (max-width: 599px) {
  .anim {
    transform: translate3d(0, 40px, 0);
  }
}


@media (max-width: 767px) {
  img[usemap] {
    border: none;
    height: auto;
    max-width: 100%;
    width: auto;
  }
}

.list-dot li{
  position: relative;
  padding-left: 1.0em;
  margin-bottom: .5em;
}
.list-dot li:before{
    content: "・";
    top:0;
    left: 0;
    position: absolute;
    color: var(--acc-color)
}



/* =========================================================
ボタン
========================================================= */
.inlineblock{
  display: inline-block!important;
}
/* ボタン　----　矢印　*/
.arrow-btn a{
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  padding: 1.2rem 2rem 1.5rem 2.6rem;
}
.arrow-btn-wh a{
  color: white;
  border: solid 1px white;
  display: block;
}
.arrow-btn.arrow-btn-bgbl a{
  color: white;
  border: solid 1px var(--acc-color);
  background: var(--acc-color);
  border-radius: 30px;
  width: 320px;
}
.arrow-btn a .btn-arrow{
  position: absolute;
  top:50%;
  right: 1.5rem;
  transform: translateY(-50%);
}
.btn-arrow {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  aspect-ratio: 1/1;
  border-radius: 50%;
  margin-left: 1rem;
  width: 2.8rem;
}
.btn-arrow .fs-18{
  margin-bottom: .2rem;
}

.btn-arrow::before {
  transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  transition-property: transform,background;
  box-sizing: border-box;
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-radius: 50%
}

.btn-arrow .arrow {
  transition: fill .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  display: block;
  position: relative;
  z-index: 1;
  aspect-ratio: 1/1;
  width: 1rem;
}

.btn-arrow-wh .arrow{
  width: 1.5rem;
  fill: white;
}
.arrow-btn.arrow-btn-bgbl a .btn-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/* ボタン　----　丸矢印　*/
.c-arrow-btn{
   display: inline-block;
}
.c-arrow-btn span{
    display: flex;
    justify-content: center;
    line-height: 1.6;
    background: white;
    border-radius: 60px;
    padding: 8px 50px 8px 30px;
    position: relative;
    transition:all 0.3s ease;
    border: solid 1px white;
    font-weight: 700
}
.c-arrow {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    position: absolute;
    right: 10px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    margin-left: 1rem;
    width: 2.8rem;
    height: 2.8rem;
    fill: white;
    padding: .45em
}

.c-arrow::before {
    transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    transition-property: transform,background;
    box-sizing: border-box;
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: linear-gradient(75deg,#7454FD 10%, #1A2FC6 100%);
}

.c-arrow .arrow {
  transition: fill .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  display: block;
  position: relative;
  z-index: 1;
  aspect-ratio: 1/1;
}

.c-arrow-wh .arrow{
  width: 1rem;
  fill: var(--acc-color)
}
.c-arrow-wh::before{
  border:white solid 1px
}
.c-arrow.c-arrow-wh::before{
   background:white;
}

/* ボタン　----　丸矢印のみ　*/
.c-arrow-only{
  position: absolute;
    right: -50px;
    bottom: 27.5px;
}

@keyframes arrow-r {
  0% {
      transform: translateX(0);
      opacity: 1
  }

  50% {
      transform: translateX(100%);
      opacity: 0
  }

  50.1% {
      transform: translateX(-100%);
      opacity: 0
  }

  100% {
      transform: translateX(0);
      opacity: 1
  }
}
@media(hover: hover) {
  .c-arrow-btn:hover .arrow-r,a:hover .c-arrow-only .arrow-r{
    animation:arrow-r .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
  }
    .c-arrow-btn:hover span{
        background:var(--acc-color); 
        color: white;
    }

    
  a:hover .arrow-btn-wh,.arrow-btn-wh a:hover,.arrow-btn.arrow-btn-bgbl a:hover{
    background: white;
    color:var(--acc-color);
  }
  a:hover .arrow-btn-bl,.arrow-btn-bl a:hover,a:hover .arrow-btn-bl {
    color: white;
    background:var(--acc-color);
  }

}
.nav-item_sub .c-arrow-only{
  top:50%;
  transform: translateY(-50%);
  right: 0;
}
@media (max-width: 959px) {
  .nav-item .c-arrow-btn a:hover .c-arrow-bl .arrow,.nav-item a:hover .c-arrow-only .c-arrow-bl .arrow{
    fill:var(--acc-color)
  }
}
@media (max-width: 767px) {
    .c-arrow-btn span{
        line-height: 1.8
    }
    .c-arrow-only{
        bottom:25.5px;
        right: -47px
    }
    .link-band .c-arrow-only{
        bottom:27px;
    }
}

/* =========================================================
TOP
========================================================= */

.slider-container {
    position: relative;
    height: /*825px;*/85vh;
    width: 100%;
    z-index: 1;
    overflow-x: hidden
}

.slider-item {
    height:/*825px;*/85vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start; /* テキストを左寄せ */
}
.slider-item .mv-bg{
    height:/*825px;*/85vh;
    width: 80%;
    margin-left: 20%;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 0 0 0 200px;
}
.slider-item .mv-bg img{
    display: none
}
/* 各スライドの背景画像 */
.slider-item:nth-child(1) .mv-bg{
    background-image: url('./img/top/mv01.jpg');
    background-position: 30% center;    
}

.slider-item:nth-child(2) .mv-bg{
    background-image: url('./img/top/mv02.png');
    background-position: 20% center;
}


.slide-content {
    position: absolute;
    bottom: 0;
    left: 60px;
    color: white;
    z-index: 2;
}
.slide-content h2 {;
    margin-bottom: 20px;
    line-height: 1.3
}

.slide-content p {
    line-height: 1.6;
}
.slider-subcopy span{
    padding: 3px 0 3px 10px
}
.slide-content ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 10px;
}

.slide-content ul li {
    line-height: 1.4;
    background: var(--yellow-color);
    padding: 8px;
    font-weight: 700;
    text-align: center
}
@media screen and  (max-width: 1400px) {
    .slider-item:nth-child(1) .mv-bg{
        background-position: -17vw center
    }
}
@media screen and (max-width: 1149px) {
    .slider-container{
        margin-top: 70px
    }
    .slider-container,.slider-item, .slider-item .mv-bg{
        height: 70vh;
    }
    .slider-item .mv-bg{
        width: 85%;
        margin-left: 15%;
        border-radius: 0 0 0 20vw;
    }
}
@media screen and (max-width: 959px) {
    .slider-container{
        margin-top: 70px
    }
    .slider-item:nth-child(1) .mv-bg{
        background-position: -17vw center
    }
    .slider-item .mv-bg{
        /*width: 80%;
        margin-left: 20%;
        height: 80%;
        margin-bottom: 20%;*/
        width: 80vw;
        margin-left: 20vw;
        height: 60vw;
        margin-bottom: 20vw;
    }
}
@media screen and (max-width: 767px) {
    .slide-content{
        left:5vw;
        width: 90%;
        bottom: 10vw;
    }
    .slider-subcopy .fs-36{
        font-size: 5vw
    }
    .slide-content h2{
        margin-bottom: 12px
    }
    .slide-content h2.fs-50{
        font-size: 6vw
    }
    .slide-content h2 .fs-80{
        font-size: 10vw
    }
    .slider-container,.slider-item{
        height: 130vw;
    }
    .slider-item .mv-bg{
        height: 66vw;
        max-height: 600px;
        position: absolute;
        top: 0;
        width: 90%;
        margin-left: 10%;
        margin-bottom: 0;
    }
    .slider-item:nth-child(1) .mv-bg{
        background-image: url('./img/top/mv01-sp.jpg');
        background-position: 30% center;    
    }

    .slider-item:nth-child(2) .mv-bg{
        background-image: url('./img/top/mv02-sp.png');
        background-position: 20% center;
    }

    .slide-content ul.fs-30{
        font-size: 5vw
    }
    .slider-item:nth-child(2) h2.fs-50{
        font-size: 8vw
    }
    .slider-subcopy{
        margin-bottom: 8px
    }
    .slider-container, .slider-item{
        height: 125vw
    }
}
@media (max-width: 599px) {
    .slider-container{
        margin-top: 60px
    }
    .slide-content ul li{
        padding: 4px 8px
    }
    .slide-content{
        bottom: 0
    }
    .slider-container, .slider-item{
        height: 130vw
    }
    
}
@media (max-width: 500px) {
    .slider-container, .slider-item{
        height: 138vw
    }
}
@media (max-width: 390px) {
    .slider-container, .slider-item{
        height: 141vw
    }
}

.bg-yellow{
    background: var(--yellow-color);
}


/* Slick dotのスタイルカスタマイズ */
.slick-dots {
     display: none !important;
}
/* 矢印を非表示 */
.slick-prev, .slick-next {
    display: none !important;
}

/* フェードアニメーション用のカスタムCSS */
.slick-slider .slick-track {
    display: flex;
    align-items: stretch;
}

.slick-slider .slick-slide {
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
}

.slick-slider .slick-slide.slick-active {
    opacity: 1;
}
@media (max-width: 767px) {
    .slick-list {
        height: 130vw !important; /* slider-containerと同じ高さに */
        overflow: visible !important; /* または適切な値 */
    }
    
    .slick-track {
        height: 100% !important;
    }
    
    .slick-slide {
        height: 130vw !important;
    }
}

/******ループテキスト*******/
.c-text {
    padding-top: 20px;
  overflow: hidden;
  display: flex;
  width: 100%;
  margin-inline: calc(50% - 50vw);
}
.c-text__item {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 130px;
    padding-right: .3em;
    opacity: .5;
    color: #1A2FC6;
    -webkit-text-fill-color: #1A2FC6; 
    -webkit-text-stroke: 1px white;
    letter-spacing: 2px;
}
.c-text:not(.no-tick) .c-text__item:nth-child(odd) {
    animation: MoveLeft var(--tick-duration, 24s) var(--tick-delay, -12s) infinite linear;
}

.c-text:not(.no-tick) .c-text__item:nth-child(even) {
    animation: MoveLeft2 var(--tick-duration, 24s) infinite linear;
}

@keyframes MoveLeft {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}

@keyframes MoveLeft2 {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}
@media (max-width: 767px) {
    .c-text__item {
        font-size: 12vw;
        padding-right: 5vw
    }
    .c-text{
        padding-top: 0
    }
}
/* =========================================================
TOP-NEWS
========================================================= */
.top-news-section {
    padding-top: 20px
}
.top-news-wrap {
    background: white;
    margin-right: 40px;
    border-radius: 0 0 150px 0;
    padding: 80px 0
}

.top-news-section h2 {
    font-weight: 700;
    margin: 0 0 30px 0;
}
/*
.news-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(280px, 1fr));
    gap: 30px;
}

.news-item {
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.top-news-section .news-item-image{
    width: 100%;
    height: 148px;
    overflow: hidden;
    border-radius: 6px;
}

.top-news-section .news-item-image.no-image{
    width: 100%;
    height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(-125deg,#7454FD 10%, #1A2FC6 100%); 
    border-radius: 6px;
    color: white;
}
.news-item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: center; 
}
.news-item-content {
    padding: 10px;
}

.news-item-date {
    margin-bottom: 8px;
    color: var(--moji-color)
}

.news-item-title {
    font-weight: normal;
    line-height: 1.5;
    margin: 0;
    color: var(--moji-color);
    transition: all 0.3s ease
}

.news-item-link {
    text-decoration: none;
    color: inherit;
    display: block;
    transition: all 0.3s ease
}

.news-item-link:hover .news-item-title {
    color: var(--acc-color);
    text-decoration: underline;
}

.link-pos-right{
    text-align: right;
    margin-top: 1em;
    padding: 0 5%
}

@media (max-width: 1400px) {
    .news-grid {
        grid-template-columns: repeat(3, 1fr); 
    }
}
@media (max-width: 959px) {
    .link-pos-right{
        padding: 0 8%
    }
}
    
@media (max-width: 767px) {
    .link-pos-right{
        text-align: center;
        margin-top: 2em
    }
    .top-news-wrap {
        padding: 10vw 0;
        margin-right: 5vw;
        border-radius: 0 0 20vw 0;
    }

    .top-news-section h2 {
        margin-bottom: 20px;
    }

    .news-grid {
        grid-template-columns: 1fr 1fr; 
        gap:20px
    }
}*/

/*テキストのみバージョン*/
.news-item {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-bottom: solid 1px var(--bdr-color);
}
.news-item:first-child{
    border-top: solid 1px var(--bdr-color);
}
.news-item-content{
    display: flex;
    gap:20px;
    align-items: center;
}

.top-news-section .news-item-image{
    width: 100%;
    height: 148px;
    overflow: hidden;
    border-radius: 6px;
}

.top-news-section .news-item-image.no-image{
    width: 100%;
    height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(-125deg,#7454FD 10%, #1A2FC6 100%); 
    border-radius: 6px;
    color: white;
}
.news-item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: center;
}
.news-item-content {
    padding: 18px 10px;
}

.news-item-date {
    width: 6em;
    color: var(--acc-color)
}

.news-item-title {
    font-weight: normal;
    line-height: 1.5;
    margin: 0;
    color: var(--moji-color);
    transition: all 0.3s ease
}

.news-item-link {
    text-decoration: none;
    color: inherit;
    display: block;
    transition: all 0.3s ease
}

.news-item-link:hover .news-item-title {
    color: var(--acc-color);
    text-decoration: underline;
}

.link-pos-right{
    text-align: right;
    margin-top: 1em;
    padding: 0 5%
}

@media (max-width: 1400px) {
    .news-grid {
        grid-template-columns: repeat(3, 1fr); 
    }
}
@media (max-width: 959px) {
    .link-pos-right{
        padding: 0 8%
    }
}
    
@media (max-width: 767px) {
    .link-pos-right{
        text-align: center;
        margin-top: 2em
    }
    .top-news-wrap {
        padding: 10vw 0;
        margin-right: 5vw;
        border-radius: 0 0 20vw 0;
    }

    .top-news-section h2 {
        margin-bottom: 20px;
    }

    .news-grid {
        grid-template-columns: 1fr 1fr; 
        gap:20px
    }
    .news-item-content{
        padding: 14px 10px 
    }
}

/*テキストのみバージョン*/

/* =========================================================
TOP-相続の悩み・疑問
========================================================= */
.concerns-section{
    position: relative
}
.concerns-section::before{
    content: "";
    background: var(--bg-color);
    position: absolute;
    top:250px;
    right: 0;
    width: calc(50vw + 610px - 160px);
    height: 75%;
    z-index: -1;
    border-radius:150px 0 0 0; 
}
.concerns-txt{
    width: 15em;
    line-height: 2.4
}
.concerns-txt span{
    padding: 2px 10px 4px;
}
.concerns-img{
    width: calc(100% - 16em)
}
.concerns-img img{
    max-width: 831px
}

.inner__lr-1{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    max-width: 1800px;
}
.inner__lr-1 .txt{
    width: calc(100% - 36%);
    padding-right: 5vw;
    padding-left: 5vw;
}
.inner__lr-1 .img{
    width: 36%;
}
.inner__lr-1 .img img{
   border-radius: 0 80px 80px 0
}

.inner__lr-2{
    display: flex;
    flex-direction: row;
    align-items: center;
    max-width: 1800px;
    margin-left: auto
}
.inner__lr-2 .txt{
    width: calc(100% - 36%);
    padding-right: 5vw;
    padding-left: 5vw;
}
.inner__lr-2 .img{
    width: 36%;
}
.inner__lr-2 .img img{
   border-radius: 80px 0 0 80px
}
@media (max-width: 1100px) {
    .concerns-section::before{
        width: 90vw
    }

}
@media (max-width: 959px) {
    .concerns-blc{
        flex-direction: column;
        gap:20px
    }
    .concerns-img{
        width: 100%
    }
    .concerns-section .inner__lr-1{
        margin-top: 60px
    }
    .inner__lr-1,.inner__lr-2{
        flex-direction: column-reverse;
        gap:30px;
    }
    .inner__lr-1 .txt{
        width: 90%;
        padding-right: 0;
        padding-left: 0;
    }
    .inner__lr-2 .txt{
        width: 90%;
        padding-right: 0;
        padding-left: 0;  
    }
    .concerns-section .inner__lr-1 .txt{
        padding-left: 12vw
    }
    
    .inner__lr-1 .img{
        width: 85%;
        margin-right: auto;
    }
    .inner__lr-2 .img{
        width: 85%;
        margin-left: auto;
    }
    .inner__lr-1 .img img{
        border-radius: 0 5vw 5vw 0;
    }
    .inner__lr-2 .img img {
        border-radius: 5vw 0 0 5vw;
    }
}

.num-title{
    align-items: center;
    gap:10px;
    line-height: 1.5
}

.setsuzei-frame{
    margin-right: 10px
}
.setsuzei-frame > div{
    border: solid 1px var(--acc-color);
    padding: 12px 18px;
    display: inline-block
    
}
.setsuzei-point{
    margin-top: -20px
}
.setsuzei-point img{
    max-width: 184px;
}
.soudan-blue-area{
    margin-top: 60px;
    padding-right: 50px;
}
.soudan-blue-area .bg-blue{
    width: 100%;
    padding: 60px 0;
    border-radius: 0 80px 80px 0;
}
.soudan-blue-area .inner{
    max-width: 1000px;
}
.list-x li{
    position: relative;
    padding-left: 26px;
}
.list-x li + li{
    margin-top: 0.5em
}
.list-x li::before{
    content:"";
    background: url('./img/top/icon-xmark.svg') no-repeat;
    width: 23px;
    height: 20px;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0.4em;
}
.soudan-border{
    border: solid 2px white;
    padding: 25px 15px;
    text-align: center;
    position: relative;
    margin-top: 40px
}

.img-soudan{
    position: absolute;
    bottom:0;
    right: 80px;
}
.img-soudan img{
    max-width: 164px
}
.marker-highlight {
    position: relative;
    display: inline-block;
    padding: 0 4px 8px 4px;
}
.marker-highlight::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 2px;
    right: 2px;
    height: 6px;
    background-color: var(--yellow-color);
    z-index: 0;
}

section.inheritance-section{
    padding-top: 0
}
.blue-border{
    border: solid 2px var(--acc-color);
    padding: 25px 15px; 
    text-align: center;
}
.marker-highlight-2 {
    position: relative;
    display: inline-block;
    padding: 0 4px 0px 4px;
}
.marker-highlight-2::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 2px;
    right: 2px;
    height: 5px;
    background-color: var(--yellow-color);
    z-index: 0;
}
.list-crc li{
    position: relative;
}
.list-crc li::before{
    content: "●";
    padding-right: 0.15em
}
.setsuzei-point-sp{display: none;}

@media (max-width: 1300px) {
    .img-soudan{
        right: 3vw;
    }
    .img-soudan img{
        width: 12vw
    }
}
@media (max-width: 959px) {
    .soudan-border .fs-30{
        font-size: 3vw
    }
    .soudan-border{
        padding: 2vw 3vw;
    }
    .img-soudan img{
        width: 14vw
    }

}
@media (max-width: 767px) {
    .inheritance-section .mt-3em{
        margin-top: 5em!important
    }
    .setsuzei-point{display: none;}
    .setsuzei-point-sp{
        display: block;
        padding: 6px 10px;
        text-align: center;
        width: 100%;
        margin-top: 10px;
    }
    .soudan-blue-area{
        padding-right: 5vw;
    }
    .soudan-blue-area .bg-blue{
        border-radius: 0 10vw 10vw 0;
    }
}
@media (max-width: 599px) {
    .soudan-border .fs-30{
        font-size: 4.6vw
    }
    .img-soudan{
        margin-top: 10px;
        position: static;
    }
    .soudan-border {
        padding:20px 10px 0
    }
    .img-soudan img {
        width: 30vw;
    }
    .marker-highlight::after{
        height: 4px;
        bottom: 3px;
    }
    .marker-highlight-2::after{
        height: 4px;
        bottom: 1px;
    }
}

/* =========================================================
TOP-相続税申告までの流れ
========================================================= */
.flow-section{
    background: var(--bg-color);
}

.flow-list{
    width: calc(100% - 402px);
    padding-right: 50px;
}
.flow-list li{
    position: relative;
    background: white;
    border-radius: 16px;
    padding: 20px 30px;
    gap:30px;
    line-height: 1.2;
    align-items: baseline;
}
.flow-list li + li{
    margin-top: 20px
}
.flow-list li + li::before{
    content:"";
    position:absolute;
    background: var(--acc-color);
    width: 2px;
    height: 20px;
    top:-20px;
    left: 60px;
}
.flow-list li .ff-en{
    padding-bottom: 10px
}
.flow-imgs{
    width: 402px;
}
.img-flow02,.img-flow03{
    margin-top: 20px;
}
.img-flow02 img,.img-flow03 img{
    max-width: 292px;
}

.about-us--footlink{
    align-items: flex-end;
    background: var(--bg-color)
}
.about-us--footlink .img{
    width: 50%;
}
.about-us--footlink .img img{
    border-radius: 0 80px 0 0;
}

.about-us--footlink .link{
    width: 50%;
    padding-left: 0;
}
.about-us--footlink .link-band{
    padding: 20px;
    background: var(--acc-color)
}
.about-us--footlink .link-band a{
    color: white;
    position: relative;
    display: inline-block
}
@media (max-width: 1300px) {
    .flow-imgs {
        width: 30vw;
    }
    .flow-list{
        width: 70vw;
        padding-right: 4vw;
    }
    .img-flow02,.img-flow03{
        width: 80%
    }
    .img-flow03{
        margin-left: auto
    }
}
@media (max-width:959px) {
    .flow-list li{
        border-radius: 1vw;
        padding: 0.8em 1.5em .5em;
        gap: 1.5em;
    }
}
.img-flow-sp{display: none;}

@media (max-width:767px) {
    .flow-list li + li{
        margin-top: 15px;
    }
    .flow-list li + li::before{
        left: 10vw;
        height: 15px;
        top: -15px
    }
    .flow-contents{
        flex-direction: column;
        gap:20px
    }
    .flow-list,.flow-imgs{
        width: 100%;
    }
    .flow-list{
        padding-right: 0
    }
    .flow-imgs{
        margin-top: 8px
    }
    .img-flow01,.img-flow02,.img-flow03{display: none}
    .img-flow-sp{display: block;}
    
    .about-us--footlink{
        flex-direction: column;
    }
     .about-us--footlink .img,
    .about-us--footlink .link{
        width: 95%;
        margin-right: auto
    }
    .about-us--footlink .img img{
        border-radius: 0 10vw 0 0;
    }
    .about-us--footlink .link-band{
        border-radius: 0 0 10vw 0;
    }
}
@media (max-width:599px) {
    .flow-list .fs-20{
        font-size: 3.7vw
    }
    .flow-list .ff-en{
        font-size: 90%
    }
    .flow-list li {
        padding: 0.8em 1.0em .5em;
    }
    .flow-list li + li::before{
        left: 8vw;
    }
}

/* =========================================================
TOP-お問い合わせバナー
========================================================= */
.contact--footlink{
    padding: 80px;
}
.contact-bnr{
    width: 100%;
    max-width: 1120px;
    margin: auto;
    background: linear-gradient(95deg,#7454FD 10%, #1A2FC6 100%);
    border-radius:20px; 
    padding: 36px;
    position: relative;
    z-index: 1;
}

.contact-bnr::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(125deg, #1A2FC6 10%, #7454FD 100%);
    opacity: 0;
    transition: opacity 0.5s;
    border-radius:20px;
    border: solid 1px white
}
.contact-bnr .copy-txt{
    padding-top: 10px
}
.contact-bnr .btn-link{margin-left: auto}
.img-mail img{max-width: 90px}

.contact-bnr-sp{display: none}

@media (max-width:1200px) {
    .contact--footlink{
        padding: 10vw 5vw
    }
    .contact-bnr .fs-36{
        font-size: 3.3vw
    }
}
@media (max-width:959px) {
    .contact-bnr{
        padding: 3.2vw
    }
}
@media (max-width:805px) {
    .contact-bnr{
        flex-direction: column;
        padding: 5vw
    }
    .contact-bnr .fs-36{
        font-size: 5.3vw
    }
    .contact-bnr .btn-link{
        display: flex;   
        gap:30px;
        justify-content: space-between;
        align-items: center;
        margin-left: 0
    }
    .contact-bnr-pc{display: none}
    .contact-bnr-sp{display: block}
    .contact-bnr-info ul{
        display: flex;
        justify-content: center
    }
    .contact-bnr-info ul li{position: relative}
    .contact-bnr-info ul li + li:before{
        content: "｜"
    }
    .img-mail img{
        width: 30vw;
        max-width: 70px
    }
    .contact-bnr-info .mt-1_5em{
        margin-top: .5em!important
    }
    .h2-img-mail{
        gap:10px
    }
    
}
@media (max-width:599px) {
    .contact-bnr .btn-link{
        flex-direction: column;
        gap:0;
        margin-top: 10px
    }
    .contact-bnr .c-arrow-btn{
        width: 100%
    }
    .contact-bnr .c-arrow-btn span{
        width: 80vw;
        padding: 8px 20px
    }
    .contact-bnr .fs-36{
        font-size: 5.2vw;
    }
    .contact--footlink{
        padding: 12vw 5vw 14vw
    }
    
    .contact-bnr-info ul li{
     font-size: 14px
    }
}

@media(hover: hover) {
    .contact-bnr:hover::before {
    opacity: 1; 
    }
    .contact-bnr:hover .c-arrow-btn .arrow-r{
        animation:arrow-r .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
    }
    .contact-bnr:hover .c-arrow-btn span{
        background:var(--acc-color); 
        color: white;
        border: solid 1px var(--acc-color); 
    }
    .contact-bnr:hover .c-arrow-btn .c-arrow-wh .arrow{
         fill:var(--acc-color)
    }
}





/* =============================================================================================================================
Under common
============================================================================================================================= */
/*パンくず*/
.topicpath {
    width: 100%;
    position: relative;
    z-index: 5;
    padding: 20px 30px
}
.topicpath ol{
    list-style: none;
}
.topicpath ol li {
  display: inline;
  list-style-type: none;
  color: white;
  font-size: 1.2rem;
}
.topicpath ol li:after {
  content: " ー ";
}
.topicpath ol li:last-child:after {
  content: "";
}
.topicpath ol li a {
  text-decoration: underline;
  color: white
}
.topicpath ol li a:hover {
  text-decoration: none;
  opacity: .7;
}
@media (max-width: 959px) {
  .topicpath{
   
  }
}
@media (max-width: 767px) {
  .topicpath{
      padding: 20px 5vw
  }
  .topicpath ol li a:hover {
    text-decoration: none;
  }
  .topicpath ol li {
      font-size: 12px;
  }
}





/* =========================================================
下層MV
========================================================= */
#heroArea{
    width: 100%;
    height:32vw;
    position: relative;
}
#heroArea .hero-img{
    width:60vw;
    height:32vw;
    position: absolute;
    right: 0;
    z-index: 0;
    overflow: hidden;
    border-bottom-left-radius: 200px;
}
#heroArea-s{
    width: 100%;
    height:23vw;
    position: relative;
}
#heroArea-s .hero-img{
    width:60vw;
    height:23vw;
    position: absolute;
    right: 0;
    z-index: 0;
    overflow: hidden;
    border-bottom-left-radius: 200px;
}
#heroArea .h1-wrap,#heroArea-s .h1-wrap{ 
    position: absolute;
    top: 55%;
    left: 4vw;
    transform: translateY(-50%)
}
#heroArea-s .h1-wrap{
    top: 65%
}
#heroArea h1,#heroArea-s h1{line-height: 1.3}
#heroArea .h1-wrap .ff-en,#heroArea-s .h1-wrap .ff-en{margin-top: 20px}
#heroArea .hero-img img,#heroArea-s .hero-img img{
    transform:translateY(-5vw)
}
@media screen and (max-width: 1500px) {
    #heroArea .hero-img img, #heroArea-s .hero-img img{
        transform: translateY(0);
    }
    #heroArea,#heroArea .hero-img{
        height: 555px
    }
    #heroArea-s,#heroArea-s .hero-img{
        height: 400px
    }
}

@media screen and (max-width: 1350px) {
    #heroArea,#heroArea .hero-img{
        height: 40vw
    }
    #heroArea-s,#heroArea-s .hero-img{
        height: 30vw
    }
    #heroArea .hero-img,#heroArea-s .hero-img{
        width: 60vw;
    }
    #heroArea .hero-img img,#heroArea-s .hero-img img{
        border-bottom-left-radius: 15vw;
    }
    #heroArea .h1-wrap .fs-60,#heroArea-s .h1-wrap .fs-60{
        font-size: 4vw
    }
    #heroArea .h1-wrap .ff-en,#heroArea-s .h1-wrap .ff-en{
        font-size: 2.4vw
    }
    #heroArea .h1-wrap, #heroArea-s .h1-wrap{
        top:57%
    }
}
@media screen and (max-width: 1140px) {
    #heroArea-s,#heroArea {margin-top: 70px;}
    #heroArea-s .hero-img,#heroArea .hero-img{border-bottom-left-radius:17.54vw}
    #heroArea .h1-wrap, #heroArea-s .h1-wrap{
        top:50%
    }
}
@media screen and (max-width: 959px) {

}
@media screen and (max-width: 767px) {
    #heroArea .hero-img{
        position: static;
        width: 90vw;
        height: 60vw;
        margin-left: auto
    }
    #heroArea-s .hero-img{
        position: static;
        width: 90vw;
        height: 40vw;
        margin-left: auto
    }
    #heroArea .h1-wrap,#heroArea-s .h1-wrap{
        position: static;
        transform: translateY(0);
        padding: 3vw 5vw 2vw;
    }
    #heroArea .h1-wrap .fs-60,#heroArea-s .h1-wrap .fs-60{
        font-size: 6vw
    }
    #heroArea .h1-wrap .fs-60 br{
        display: none
    }
    #heroArea,#heroArea-s{
        height: auto;
    }
    #heroArea .h1-wrap .ff-en,#heroArea-s .h1-wrap .ff-en{
        margin-top: 10px
    }
}
@media screen and (max-width: 599px) {
    #heroArea,#heroArea-s{margin-top: 60px}
    #heroArea .h1-wrap .fs-60, #heroArea-s .h1-wrap .fs-60 {
        font-size: 3rem;
    }
        #heroArea .h1-wrap .ff-en,#heroArea-s .h1-wrap .ff-en{
        font-size:1.4rem
    }
    #heroArea .h1-wrap, #heroArea-s .h1-wrap{
        padding-top:6vw 
    }
}


/* =========================================================
事務所について
========================================================= */

.reason-section {
    margin: 0 auto;
    position: relative;
    background: var(--bg-color);
     gap:40px
}


.reasons {
    width: 65%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}
.company-name {
    background-color: white;
    border: 2px solid #333;
    padding: 8px 12px;
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 20px;
    display: inline-block;
}

#reason-heading ,#merit-heading {
    line-height: 1.3;
    margin-top: 10px
}


.reason-card {
    background-color: white;
    border-radius: 20px;
    padding: 30px 25px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    position: relative;
    min-height: 140px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.reason-number {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    background-color: var(--acc-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
}

.reason-content {
    text-align: center;
    line-height: 1.6;
}

.reason-card--featured .reason-content {
    font-size: 18px;
    font-weight: bold;
}
@media (max-width: 1200px) {
    .reason-content br{display: none}
}
@media (max-width: 767px) {
    .reason-hero-section,.merit-hero-section {
        position: static;
        width: 100%;
        text-align: center;
        margin-bottom: 35px;
        margin-top: 20px
    }

    .reason-title {
        font-size: 36px;
    }
    #reason-heading,#merit-heading{margin-top: 5px}
    .reason-hero-section h2 br{display: none;}
    .reasons {
        width: 100%;
        margin-left: 0;
        grid-template-columns: 1fr;
        gap:30px;
    }
    .reason-section .flex{
        flex-direction: column;
    }
    .reason-number{
        font-size: 18px;
        width: 34px;
        height: 34px;
    }
    .reason-card{
        padding: 15px 20px;
        min-height:110px;
        border-radius: 10px;
    }

}

/*****5つの特徴******/

.features-section {
    margin: 0 auto;
    position: relative;
    gap:40px;
    margin-right: 50px;
    border-radius: 0 150px 150px 0 
}

.features-hero-section {
    width: 35%
}
.features {
    width: 65%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}
.company-name {
    background-color: white;
    border: 2px solid #333;
    padding: 8px 12px;
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 20px;
    display: inline-block;
}

#features-heading {
    line-height: 1.3;
    margin-top: 10px
}

.features-card {
    background-color: white;
    border-radius: 20px;
    padding: 30px 25px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    position: relative;
    min-height: 140px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.features-number {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    background-color: var(--acc-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    border: solid 2px white
}

.features-content {
    text-align: center;
    line-height: 1.6;
    color: var(--moji-color)
}

.features-card--featured .features-content {
    font-size: 18px;
    font-weight: bold;
}


@media (max-width: 767px) {
    .features-hero-section {
        position: static;
        width: 100%;
        text-align: center;
        margin-bottom: 40px;
    }

    .features-title {
        font-size: 36px;
    }

    .features {
        width: 100%;
        margin-left: 0;
        grid-template-columns: 1fr;
        gap:30px;
    }

    .features-section{
        margin-right: 5vw;
        border-radius: 0 10vw 10vw 0;
    }
    .features-section .flex{
        flex-direction: column;
    }
    .features-number{
        font-size: 18px;
        width: 34px;
        height: 34px;
    }
    .features-card{
        padding: 15px 20px;
        min-height:110px;
        border-radius: 10px;
    }
    #features-heading{
        margin-top: 5px
    }
    
}


@media (max-width: 767px) {
    section.home-section{
        padding: 8vw 0
    }
}



/*****無料相談******/
.contact--aboutus-link{
    padding: 80px;
}
.contact--aboutus-link .contact-bnr{
    padding: 0;
}
.contact-aboutus-img{
    width: 360px;
    height: 400px;
    background: url(./img/aboutus/img-aboutus-free.jpg) no-repeat;
    background-size: cover;
    border-radius: 0 20px 20px 0;
    transition: all 0.3s ease;
}
.contact-aboutus-txt{
    width: calc(100% - 360px);
    padding: 36px;
}
.contact-bnr .btn-link{margin-left: auto}

@media (max-width:1200px) {
    .contact--aboutus-link{
        padding: 10vw 5vw
    }
    .contact--aboutus-link .contact-bnr .fs-36{
        font-size: 3.3vw
    }
}
@media (max-width:1000px) {
    .contact-aboutus-txt p br{display: none}
}
@media (max-width:959px) {
    .contact-aboutus-txt p{
        font-size: 1.8vw
    }
    .contact-aboutus-txt{width: 60%}
    .contact-aboutus-img{
        width: 40%;
        height: 47vw;
        background-position: 30%
    }
}

@media (max-width:767px) {
    .contact-aboutus-txt{
        padding: 4vw 4.5vw
    }
    .contact-aboutus-txt .fs-20{
        font-size: 2.5vw
    }
    .contact--aboutus-link .contact-bnr{
        flex-direction: row
    }
    .contact-bnr .fs-36{
        font-size: 5.3vw
    }
    .contact--aboutus-link{
        padding: 8vw 5vw 15vw
    }
}
@media (max-width:599px) {
     .contact--aboutus-link .contact-bnr{
        flex-direction:column-reverse;
    }
    .contact-aboutus-txt{
        width: 100%
    }
    .contact-aboutus-img{
        width: 100%;
        height: 30vw;
        background: url(./img/aboutus/img-aboutus-free-sp.jpg) no-repeat;
        background-size: cover;
        border-radius: 20px 20px 0 0;
    }
    .contact-aboutus-txt .contact-bnr-info .mt-1_5em{
        margin-top: 1em!important
    }
    .contact-aboutus-txt p{
        font-size: 1.2rem
    }
    .contact-aboutus-txt .fs-20{
        font-size: 1.8rem
    }
    .contact--aboutus-link .contact-bnr .fs-36{
        font-size: 5.2vw
    }
    .contact-aboutus-txt .mt-1em{
        margin-top: 10px!important
    }
}

@media(hover: hover) {
    .contact-bnr:hover .contact-aboutus-img{
        opacity: .8
    }
}


/******相続税申告料*****/
.ttl-ring{
    position: relative;
    padding-left: 25px
}
.ttl-ring.fs-18{
    padding-left: 22px
}
.ttl-ring::before{
    content:"";
    position: absolute;
    background: url(./img/common/ico-ring.svg) no-repeat;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 53%;
    transform: translateY(-50%);
    left: 0;
}
@media (max-width: 599px) {
    .ttl-ring.fs-18{
        padding-left: 20px
    }
}

table {
    width: 100%;
    table-layout: fixed;
}
table tr th {
    font-weight: bold;
    padding: .5em 1em;
    word-break: break-all;
    background: #E1EFFF;
    border: solid 1px var(--table-bdr-color);
   
}
table tr td {
    padding: .5em 1em;
    text-align: left;
    word-break: break-all;
    border: solid 1px var(--table-bdr-color);
    background: white;
 }
.table-wrap-01 table tr th {
    width: 50%;
}
.table-wrap-01 table tr td{
    text-align: center;
    padding:1em;
    width: 50%;
}
.table-wrap-02 table tr th {
    width: 20%;
}
.table-wrap-02 table tr td{
    padding:1em;
    width: 80%;
}
@media (max-width: 599px) {
    .table-wrap-01 table tr th {
        width: 58%;
    }
    .table-wrap-01 table tr td{
        width: 42%;
    }
    .table-wrap-02 table tr th {
        width: 30%;
    }
    .table-wrap-02 table tr td{
        width: 70%;
    }
}

/*****代表挨拶******/
.msg-section .flex{
    gap:30px;
}
.msg-section .txt{
    width: calc(100% - 411px);
}
.msg-section .img{
    width: 411px;
    position: relative;
}
.msg-section .img::before{
    position: absolute;
    content:"";
    background: var(--acc-color);
    bottom: 0;
/*    right: -100px;
    width: 280px;*/
    left: 210px;
    width: 50vw;
    height: 480px;
    border-radius: 150px 0 0 0;
    z-index: -1
}
.msg-section .img img{
    max-width: 411px;
}
/*****アクセス******/
.map{
    gap:50px;
    margin-top: 50px
}
.map .img{
    width: 708px;
}
.map .txt{
    width: calc(100% - 708px)
}
.bar-ttl{
    position: relative;
    padding-left: 0.6em
}
.bar-ttl::before{
    content:"";
    position: absolute;
    top:0.4em;
    left: 0;
    width: 4px;
    height: 1em;
    background: var(--acc-color)
}
.googlemap-wrap{
    margin-top: 30px;
    gap:40px;
    justify-content: space-between;
}
.googlemap-wrap .img{
    width: 28.6%;
}
.googlemap-wrap .googlemap{
    width: 71.4%;
}

@media (max-width: 1300px) {
    .map .img{
        width: 58%;
    }
    .map .txt{
        width: 42%
    }
    .msg-section .img{
        width:33%;
    }
    .msg-section .txt{
        width:67%;
    }
    .msg-section .img::before{
        left: 15vw;
        height: 33vw;
        border-radius: 12vw 0 0 0;
    }
}
.img-access-sp{
    display: none;
}
@media (max-width: 767px) {
    .googlemap-wrap{
        flex-direction: column;
        gap:30px;
    }
    .googlemap-wrap .img{
        display: none;
    }
    .googlemap-wrap .googlemap{
        width: 100%;
        height: 70vw
    }
    .msg-section .flex{
        flex-direction: column
    }
    .msg-section .txt{
        width:100%
    }
    .msg-section .img{
        width:45%;
        margin-left: 5vw;
    }
    .msg-section .img::before{
        height: 44vw;
        left: 24vw;
    }
    .map{
        gap:20px;
        margin-top: 40px;
        flex-direction: column-reverse
    }
    .map .img{
        width: 100%;
    }
    .map .txt{
        width: 100%
    }
    .img-access-sp{
        display: block;
        margin-top: 35px
    }
}

@media (max-width: 599px) {
    .msg-section .img{
        width:60%
    }
    .msg-section .img::before{
        height: 60vw;
        left: 34vw;
    } 
}
/* =========================================================
下層共通
========================================================= */
.note{
    font-size: 90%;
}


/* =========================================================
Information
========================================================= */
.contents-blc-stiky{
    padding: 80px 0
}
.contents-blc-stiky,.main-stiky {
    overflow: visible; 
}

.news-container {
    position: relative;
    margin: 0 auto 80px;
    justify-content: space-between;
    gap:50px
}

.news-container-main {
    width: calc(100% - 300px);
}


.news-container-link {
    width: 300px;
}

.news-container-linklist {
    position: -webkit-sticky;
    position: sticky;
    top: 100px; 
    width: 100%;
}
#information--index .news-item a{
    display: flex;
    gap:40px
}
#information--index .news-item a .news-item-image{
    width: 230px;
    height: 148px;
    overflow: hidden;
    border-radius: 6px;
}
#information--index .news-item a .news-item-image.no-image{
    width: 230px;
    height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(-125deg,#7454FD 10%, #1A2FC6 100%); 
    border-radius: 6px;
    color: white;
}
/*#information--index .news-item a .news-item-content{
    width: calc(100% - 230px);
}
#information--index article{
    border-bottom: solid 1px var(--bdr-color);
    padding: 25px 0
}*/
#information--index article{
    border-bottom: solid 1px var(--bdr-color);
    padding: 15px 0
}
#information--index article:first-child{
    border-top: solid 1px var(--bdr-color);
}
#information--index article + article{
    margin-top: 
}

/*個別記事のページナビ*/
.navigation {
	text-align: center;
	padding: 1em 0;
	margin-top:20px;
	width: 100%;
    display: flex;
    justify-content: center;
    gap:2em;
}
.navitop {
    border-radius: 4px;
    text-decoration: none;
    background: white;
    padding: 8px 12px 8px 16px;
    margin: 4px;
    display: block;
    transition: all .3s ease;
    border: solid 1px var(--acc-color);
}
.navileft {
    border-radius: 4px;
    word-break:break-all;
    text-decoration: none;
    background: white;
    padding: 8px 14px 8px 16px;
    margin: 4px;
    transition: all .3s ease;
    border: solid 1px var(--acc-color);
}
.naviright {
    border-radius: 4px;
    word-break:break-all;
    text-decoration: none;
    background: white;
    padding: 8px 14px 8px 16px;
    margin: 4px;
    transition: all .3s ease;
    border: solid 1px var(--acc-color);
}
.navitop, p.navileft, p.naviright{
    color:var(--acc-color);
    font-weight:bold;
}
.navitop:hover, p.navileft:hover, p.naviright:hover{
    background: var(--acc-color);
    color: white;
    
}
/*一覧のページナビ*/
.wp-pagenavi {
    text-align: center;
    margin-top: 30px
}

.wp-pagenavi a, .wp-pagenavi span {
	   border: none!important;
    background: white;
    transition: all .3s ease;
    padding: 8px 10px 8px 10px !important;
    border-radius: 4px;
    margin: 4px!important;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
    background: var(--acc-color);
    color: white;
    border: none!important;
}
.wp-pagenavi span.pages{
    background: none!important;
}




/*サイドバー*/
#newarticle-sidebar{margin-bottom: 50px;}
.sidebar-link{
    margin-top: 15px
}
.sidebar-link a:hover{
    color: var(--acc-color);
    text-decoration: underline
}
.sidebar-link li{
    padding: 8px 0;
    border-bottom:solid 1px var(--bdr-color);
}
.sidebar-link li:first-child{
    border-top:solid 1px var(--bdr-color);
}
.sidebar-link a{
    line-height: 1.3;
    color: var(--moji-color);
    transition: all 0.3s ease
}

@media (max-width: 1280px) {
    .news-container-link{
        width: 23%
    }
    .news-container-main{
        width: 77%
    }
}

@media (max-width: 959px) {
    .news-container{
        flex-direction: column
    }
    .news-container-main {
        width: 100%;
        padding-right: 0;
    }
    .news-container-link {
        width: 100%;
        margin-top: 5vw;
    }
    .news-container-linklist {
        position: static;
    }
    #information--index .news-item a{
        gap:4vw
    }
    #information--index .news-item a .news-item-image{
        width:200px;
        height: 128px
    }
    /*#information--index .news-item a .news-item-content{
        width:calc(100% - 200px)
    }*/
    #information--index .news-item a .news-item-image.no-image{
        width:200px;
        height: 128px
    }
    
}
@media (max-width: 599px) {
    .contents-blc-stiky{
        padding: 60px 0
    }
    .news-container{margin: 0 auto 10vw;}
    .navigation{
        justify-content: center;
        gap:8px;
    }
    .navitop,.navileft,.naviright {
        margin: 4px 0;
        font-size: 14px;
        padding: 4px 6px;
    }
    .news-container-link{margin-top: 8vw}
    #information--index .news-item a .news-item-image,#information--index .news-item a .news-item-image.no-image{
        width:150px;
        height: 96px
    }
   /* #information--index .news-item a .news-item-content{ width:calc(100% - 150px)}
    #information--index article{padding: 20px 0; }*/
    #information--index article{padding: 5px 0; }
    #information--index .news-item a{gap:3vw}
}
.wp-block-embed__wrapper{text-align: center}

/*------------------
カテゴリー
-------------------*/
.cat-box--news{
    color: #E24500;
    border: solid 1px #E24500;
}
.cat-box--topics{
    color: #9B5019;
    border: solid 1px #9B5019;
}
.cat-box--no-category,.cat-box--other{
    color: darkgray;
    border: solid 1px darkgray;  
}

/*------------------
一覧ページ
-------------------*/
.news-ttl{
    border-left: solid 3px var(--acc-color);
    padding-left: .8em;
    margin-bottom: 20px;
}
.news-list-wrap-index{
    min-height: inherit!important;
}
.news-list-wrap-index table{
    width: 100%;
}
.news-list-wrap-index a{
    text-decoration: none;
    transition: all .3s ease;
}
.news-list-wrap-index a:hover{
   color: var(--acc-color)
}


/*------------------
詳細ページ
-------------------*/
.news-article-catchimg{
    margin-bottom: 2em
}
.news-article-title{
    margin: 0 auto 1em
}
.news-article-wrap{
    border-bottom: solid 1px var(--bdr-color);
    padding-bottom: 50px;
}


/*----------------------------------------
お問い合わせ
----------------------------------------*/
.tel-box{
    border: solid 1px var(--acc-color);
    padding: 30px 20px;
    text-align: center;
}
@media (max-width: 599px) {
    .tel-box.mt-3em{
        margin-top: 2em!important
    }
}
/*----------------------------------------
フォーム
----------------------------------------*/
.contact-width{
    max-width: 960px;
    margin: auto
}
#lp-form {
	/*padding:20px 0 10%;*/
   padding: 3% 0 6%;
}

.lp-form-table {
    width:100%;
    margin-bottom:20px;
    border-spacing: 10px;
}
.lp-form-table tr:first-child th,.lp-form-table tr:first-child td {
    
}
.lp-form-table th,.lp-form-table td {
    padding:25px 15px;
    text-align: left;
}
.lp-form-table th {
    position:relative;
    width:40%;
    font-weight:bold;
    vertical-align: top;
    background: none;
    border: none;
}
.lp-form-table td {
    width:60%;
    position: relative;
    border: none;
}
.form-text {
	font-size:14px;
	line-height: 1.5em;
}
.color-red {
	color:red;
}
.under-line {
	text-decoration: underline;
}
.hissu {
	position:absolute;
	top:15px;
	right:-7px;
	font-size:13px;
	background:red;
	color:white;
	padding:2px 10px;
}
input[type="radio"] + label {
    padding-left:5px;
    padding-right:10px;
    line-height:2.2em;
    font-family: sans-serif;
}
input[type="date"] {
    font-size: 105%
}
textarea{font-size: 105%;width: 100%}
input[type="text"], input[type="date"], input[type="password"], input[type="email"], textarea,select{
    background:var(--bg-color);
    padding:10px;
    font-size: 105%;
    border: solid 1px var(--bg-color);
    border-radius: 4px;
}
input[type="text"]:focus,input[type="date"]:focus, input[type="password"]:focus, input[type="email"]:focus, textarea:focus{
	border:1px solid #0682c5;
}
.address {
	display: block;
	margin-bottom:20px;
}
.link {
	text-decoration:underline;
	padding-left:10px;
}
.pravacy{
    background: #EEE;
    padding: 20px;
    line-height: 1.5rem;
    margin: 30px 0;
    height: 200px;
    overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	font-size:14px;
}
.pravacy a{
	color:blue;
	text-decoration:underline;
}


.submit{
    background: linear-gradient(105deg,#7454FD 0%, #1A2FC6 60%);
    transition: all .6s ease;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius:7px;
    color: white;
    margin:5% auto 0;
    padding: 18px 15px;
    width: 80%;
    max-width: 500px;
    border: transparent;
}
.submit::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(105deg,#1A2FC6 10%, #7454FD 100%);
    opacity: 0; /* 初期状態は非表示 */
    transition: opacity 0.5s;
    border-radius: 7px;
    border: solid 1px white
}
.submit:hover::before {
    opacity: 1; 
}

label[for="doui"] {
	font-size:14px;
}
label[for="doui"]::after {
	content:"必須";
	font-size:13px;
	background:red;
	color:white;
	padding:2px 10px;
	margin-left:5px;
}
.form_item{
    padding: 10px 10px 8px 15px;
    background-color: #004ea2;
    border-radius: 4px;
    font-size: 16px;
    line-height: 1;
    color: #fff;
}
input[type="text"]{
    font-size: 105%;
}
input[type="checkbox"]{
	/*transform: scale(1.4);*/
  
}
input[type="checkbox"] + label {
    padding-left:10px;
    padding-right:5px;
    line-height:2.2em;
    font-family: sans-serif;
}
.form textarea {
    width: 390px;
    height: 88px;
    border: 1px solid #969696;
    background: #f8f7f2;
    vertical-align: middle;
    margin: 10px 0 0;
}
.confirmbtn{
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
}


@media screen and (max-width:599px){
      input[type="checkbox"]{
          transform: scale(1.4);
    }

     #lp-form {
      width:100%;
      padding:35px 0 35px;
     }
     .lp-form-title h3 {
      font-size:16px;
      margin-bottom:20px;
      padding: 11px 10px 8px 10px;
      font-weight: normal;
     }
     .lp-form-table {
      margin-bottom:20px;
      border-spacing: 0;
     }

    .lp-form-table th,.lp-form-table td {
      padding:15px 10px;
      text-align: left;
      width:100%;
      display:block;
     }
    .lp-form-table th{
        padding-bottom: 0
    }
     .form-text {
      font-size:12px;
     }
     .hissu {
      position:absolute;
      top:15px;
      right:10px;
      font-size:13px;
      background:red;
      color:white;
      padding:2px 10px;
     }
     input[type="radio"] + label {
      padding-left:5px;
      padding-right:10px;
      line-height:2.2em;
     }
     input[type="text"], input[type="password"], input[type="email"], input[type="date"], textarea,select{
      border:1px solid #CCCCCC;
      padding:8px;
      box-shadow: 5px 5px 5px -5px rgba(0,0,0,0.2) inset;
      border-radius: 5px;
      width:100%;
     }
     input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus,input[type="email"]:focus, textarea:focus{
      border:1px solid #0682c5;
     }
     input[name="yyyy"],input[name="mm"],input[name="dd"] {
      width:50% !important;
      margin-bottom:10px;
     }
    input[type="date"]{
         width:50% !important;
    }
     .lp-form-table select {
      width:100% !important;
     }
    .lp-form-table .birth-form select{
        width: 4em!important
    }
    .lp-form-table .birth-form select:first-child{
        width: 6em!important
    }
    
    .address{
        margin-bottom: 0
    }
}
.req{
    font-size: 90%;
    color: red;
}
input::placeholder,textarea::placeholder {color: #bbb}
/*---------------------------------
確認画面
--------------------------------*/
.submit.confirm{
    margin-top: 40px;
    display: flex;
        width: 80%;
    max-width: 500px;
    justify-content: center;
}
.back {
    cursor: pointer;
    background-color: #fff;
    border-radius:7px;
    color: var(--acc-color);
    font-weight: bold;
    margin:15px auto 0;
    display: flex;
    padding:18px 15px;
    text-align: center;
    width: 80%;
    max-width: 500px;
    justify-content: center;
    border: solid 2px var(--acc-color);
}
.back:hover{
    background-color: #F1F5F9;
}
.h4-confirm{
    padding: 0 10px;
    margin-bottom: 20px;
}
.head-confirm{
    padding-bottom: 10px;
}
.head-confirm .plpar3{
    padding-left: 0;
}
#lp-confirm{
    padding: 2% 0 7%
}
.button-group .confirmbtn,.button-group .backbtn{
    max-width: 100%;
}
.button-group .backbtn{
    background: #999;
    justify-content: center
}
.submit.backbtn::before {
    background: linear-gradient(105deg,#666 10%, #111 100%);
}
.button-group{
    display: flex;
    justify-content: center;
    gap:20px;
    margin-bottom: 60px;
}
.button-group .submit{
    margin-top: 2%;
}
.button-group .confirmbtn{
    margin-bottom: 0;
}
#confirmForm .lp-form-table{
    margin-bottom: 50px;
}
#confirmForm .lp-form-table th,#confirmForm .lp-form-table td {
    border-bottom: solid 1px var(--bdr-color) !important;
}
@media screen and (max-width:599px){
    #confirmForm .lp-form-table th{
        border-bottom: none !important;
    }
    #confirmForm .lp-form-table{
        margin-bottom: 20px;
    }
}

.privacy{
    background: #EEE;
    padding: 10px 20px;
    line-height: 1.5rem;
    margin: 10px 0 50px;
    height: 200px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
@media screen and (max-width:599px){
    .pravacy{
        margin: 10px auto 20px;
        padding:5px 10px;
        width:95%;
    }
}

/*---------------------------------
記事
--------------------------------*/
.news-article-title{
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: solid 4px var(--bdr-color);
}
.news-article-contents p{
    line-height: 2em
}/*
.news-article-contents .wp-block-heading{
    margin-top: 3em;
    margin-bottom: 1em
}
.news-article-contents h2.wp-block-heading{
    margin-bottom: 0.5em
}*/
.news-article-contents .wp-block-heading:first-child{
    margin-top: 0
}

.news-article-contents h2.wp-block-heading{
    font-size: 2.8rem;
    position: relative;
    padding: 12px 24px 12px 18px; /* 左にバーの分のスペースを確保 */
    line-height: 1.4;
}

.news-article-contents h2.wp-block-heading:before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 4px;
    background-color: var(--acc-color);
    border-radius: 2px;
}
.news-article-contents .wp-block-list li{
  position: relative;
  padding-left: 1.0em;
  margin-bottom: .5em;
}
.news-article-contents .wp-block-list li:before{
    content: "・";
    top:0;
    left: 0;
    position: absolute;
    color: var(--acc-color)
}
.news-article-contents h3.wp-block-heading{
    font-size: 2.4rem;
    background: #f5f5f5;
    padding: 12px 16px;
}

@media screen and (max-width: 599px) {
    /*.news-article-title{
        margin-bottom: 20px;
    }
    .news-article-contents .wp-block-heading{
        margin-top: 1.5em
    }*/
    .news-article-contents h2.wp-block-heading{
        font-size: 2.2rem;
    }
    .news-article-contents h3.wp-block-heading{
        font-size: 2.0rem;  
    }
}
.addtoany_share_save_container{
    text-align: center;
    background: #f8f8f8;
    padding: 20px;
    margin-top: 4em !important;
    border-radius: 8px;
}

#toc_container{
    padding:10px 20px 20px!important;
    margin-bottom: 3em!important
}

.smb-box__body{
    padding: 10px
}
.smb-list{
    padding-left: 2em
}


/*---------------------------------
add0910
--------------------------------*/
.home-range{
    border: solid 2px var(--acc-color);
    padding: 15px 20px 20px;
    margin-top: 1.5em
}
.home-range ul {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    margin-top: 10px
}

.home-range ul li {
    line-height: 1.4;
    background: var(--yellow-color);
    padding: 6px;
    font-weight: 700;
    text-align: center
}
@media screen and (max-width:1280px){
    .home-range ul {
        grid-template-columns: repeat(5, 1fr);
    }
}
@media screen and (max-width:959px){
    .home-range ul {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media screen and (max-width:599px){
    .home-range{
        padding: 12px 16px 16px;
    }
}
.list-asterisk li{
    text-indent: -1em;
    padding-left: 1em
}


/*---------------------------------
add0916
--------------------------------*/
/* カスタムナビゲーションボタン */
.custom-nav {
    position: absolute;
    top: 44%;
    transform: translateY(-50%);
    z-index: 10000;
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.custom-nav:hover {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.custom-nav-prev {
    left: 0;
    border-radius:0 50% 50% 0
}

.custom-nav-next {
    right: 0;
    border-radius:50% 0 0 50%
}

/* 矢印アイコン */
.custom-nav::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: 3px solid var(--acc-color);
    border-right: 3px solid var(--acc-color);
}

.custom-nav-prev::before {
    transform: rotate(-135deg);
    margin-left: 4px;
}

.custom-nav-next::before {
    transform: rotate(45deg);
    margin-right: 4px;
}

@media screen and (max-width:959px){
    .custom-nav{
        top:40%
    }
}
@media screen and (max-width:595px){
    .custom-nav {
        width: 40px;
        height: 40px;
        top:40%
    }

}