@charset "UTF-8";
/*
Theme Name:takahashiTPL
Version:1.0
Template:orijinal
*/

/*---common-------*/

@media (max-width:787px){
.container{
  padding: 0 10px;
}
}

h2{
  font-family: "Space Grotesk", sans-serif;
   font-optical-sizing: auto;
   font-weight: 600;
font-optical-sizing: auto;
}
h3,h4,h5{
font-family: "Noto Sans", sans-serif;
font-optical-sizing: auto;
}
@media (max-width:787px){
}

/* ----------------------------------------------------------------------
 Column layout - カラムレイアウト
---------------------------------------------------------------------- */
.mincho{
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.text-italic{
  font-style: italic;
}
.image-radius {
 border-radius: 50%;
}
.text-center{
 text-align: center;
}
.pb0{
  padding-bottom: 0;
}
.m-auto{
margin-left: auto;
margin-right: auto;
}
.mt0{
  margin-top: 0 !important;
}
.mb0{
  margin-bottom: 0 !important;
}
.mb1em{
  margin-bottom: 1em !important;
}
.mb2em{
  margin-bottom: 2em !important;
}
.mb3em{
  margin-bottom: 3em !important;
}
.mb4em{
  margin-bottom: 4em !important;
}
.mr1em{
  margin-right: 1em;
}


.pink{
color: #eb988d !important;
}
.green{
  color: #6da571 !important;
}
.blue{
  color: #6d99f2 !important;
}
.white{
  color: #fff !important;
}
.pc-only{
  display: block !important;
}
.sp-only{
  display: none !important;
}
.tablet-only{
  display: block !important;
}
.tablet-hide{
  display: none !important;
}
@media (max-width: 767px) {
  .tablet-only{
    display: none !important;
  }
  .tablet-hide{
    display: block !important;
  }
}
@media (min-width:788px){
.pc-text-center{
  text-align: center;
}
}
@media (max-width:787px){
  .pc-only{
    display: none !important;
  }
  .sp-only{
    display: block !important;
  }
}




.text-medium{
  font-size: 18px !important;
}
.text-small{
font-size: 14px !important;
}
.text-large{
font-size: 20px !important;
}
.text-large2{
font-size: 20px !important;
}
.text-xlarge{
font-size: 32px !important;
}
.text-bold{
font-weight: 600 !important;
}

@media (max-width: 767px) {
.text-large2{
font-size: 16px !important;
}
}


body {
background-color: #f0f0ee !important;
font-size: 15px;
color: #262626;
}
body.home{
background-color: #f0f0ee !important;
}
.bg-wt{
  background-color: #fff;
}

/*-------------ヘッダー-----------------*/
.header {
    width: 100%;
    padding-left: 30px;
}


@media (min-width: 768px){
  .header h1{
    margin-top: 10px;
  }
}


@media (max-width: 767px){
}


/*------Gナビ-----------------------*/

header{
background-color: rgba(31, 63, 88, 0.9);
box-shadow: 0 0 9px 3px rgb(41 41 41 / 25%);
}
@media (min-width: 768px){
  header{
  background-color: rgba(31, 63, 88, 1);
  }
}

header.header.scroll {
    position: fixed;
    background: rgba(31, 63, 88, 0.9);
    box-shadow: 0 0 9px 3px rgb(41 41 41 / 25%);
    transition-duration: .8s;
  z-index: 1000;
}

#global_menu.header_menu{
width: 100%;
margin: 26px 40px 0 auto;
}
#global_menu.header_menu ul{
  gap: 40px;
}
#global_menu.header_menu ul li a{
  line-height: 2;
  font-family: "Noto Sans", sans-serif;
  color: #fff;
  text-align: center;
}
#global_menu.header_menu .hover_down_inner a{
  color:#181818;
  line-height: 3.3;
}

#global_menu .hover_down > a{
  display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
}
.header_menu ul li.hover_down>a{
  gap: 0;
}


#global_menu.header_menu ul li span{
  display: block;
  font-size: 12px;
}


@media (min-width: 768px) {
}
@media (max-width: 1100px) {
  #global_menu.header_menu ul{
    gap: 20px;
  }
}




/*-----------メインビジュアル-----------------*/
@media only screen and (max-width: 767px) {

}

/****メインスライダー****/

.main_visual {
  position: relative;
}

.main_visual .main_visual_slick,
.main_visual .slick-track {
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100% !important;
}

.main_visual .slick-track {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}

.main_visual .slick-list {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 100%;
}

.main_visual .main_visual_slick {
  position: relative;
  margin: 0 auto;
}

.main_visual .main_visual_slick .slick-slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  overflow: hidden;
}

.main_visual .main_visual_slick .slick-slide picture,
.main_visual .main_visual_slick .slick-slide img {
  position: absolute;
  left: -300%;
  right: -300%;
  margin: auto;
  top: 0;
/*  height: 100%;*/
}

.main_visual .main_visual_copy {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10%;
  list-style: none;
  padding: 0;
  width: 1014px;
  max-width: 100%;
  margin: 0 auto;
  z-index: 3;
}

.main_visual .main_visual_copy > li {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

.main_visual .main_visual_copy > li img {
  position: absolute;
  top: auto;
  right: 0;
  left:  0;
  bottom: 38%;
  margin: auto;
  width: 70vw;
  max-width: 1014px;
  max-height: 178px;
  z-index: 52;
}


@media  (min-width: 768px)and (max-width: 999px) {
.main_visual .main_visual_copy > li img {
width: 80vw;
right: 0;
left: 0;
max-width: 480px;
z-index: 52;
}
}


@media (max-width: 767px) {
  .main_visual .main_visual_copy {
    position: absolute;
    top: auto;
    left: 50%;
    right: 0;
  transform: translateX(-50%);
    bottom: 25%;
  width: 616px;
}
  .main_visual .main_visual_copy > li img {
    max-width: 370px;
    max-height: 174px;
  }
  }
  @media (min-width: 768px) {
  .main_visual_slick .sp-only {
  display: none  !important;
  }
.main_visual_slick .pc-only {
    display: block !important;
    }
.main_visual_slick .tablet-only {
  display: block !important;
  }
  }
@media (max-width: 767px) {
  .main_visual_slick .sp-only {
  display: block  !important;
  }
}
.main_visual .main_visual_copy > li img {
    top: auto;
    bottom: 40%;
    width: 90vw;
    right: 0;
    left: 0;
    max-width: 1000px;
  }

.main_visual .main_visual_copy > li.active {
  opacity: 1;
}

.main_visual .main_visual_slick {
  padding-top: 86.9% !important;
}

@media (min-width: 768px) {
  .main_visual .main_visual_slick {
    padding-top: 0 !important;
  }
}
@media (min-width: 768px) {
  .main_visual .main_visual_slick {
    padding-top: 40.520833% !important;
  }
}
@media (max-width: 767px) {
  .main_visual .main_visual_slick {
    padding-top: 74.333333% !important;
  }

.main_visual .main_visual_slick .slick-slide img {
      width: 100%;
      height: auto;
      bottom: 0;
  }
}

@media (max-width: 999px) {
.main_visual span img {
width: 150px;
height: 150px;

  }
 }



@media (min-width: 1000px) and (max-width: 1536px) {

}
@media (max-width: 999px) {

 }


.row.full{
  width: 100%;
}

/*--------common-------*/
.index_content p,
body,
#footer p{
font-size: 15px;
line-height: 2;
font-family: "Noto Sans", sans-serif !important;
font-weight: 600;
font-optical-sizing: auto;
font-style: normal;
font-variation-settings:  "wdth" 100;
}


.post_content p.midashi{
  color: #034c8c;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 1em;
border-bottom: dotted 1px #c8c8c8;
  }
p.midashi1{
  font-size: 22px;
  margin-bottom: 1em;
}


span.dashed{
   border-bottom: dashed 2px #6594e0;
}


h2.title{
  font-family: "Space Grotesk", sans-serif;
   font-optical-sizing: auto;
   font-weight: 600;
 font-style: normal;
font-size: 62px;
color: #0487d9;
line-height: 1.8;
  margin-bottom: 0.6em;
}
h2.title span{
font-size: 18px;
color: #034c8c;
display: block;
}




h4.title,
.post_content h4.title{
font-size: 20px;
line-height: 1.8;
margin-bottom: 1em;
padding-bottom: 0.4em;
border-bottom: 1px dashed #6d99f2;
}



@media (max-width: 767px){

.index_content p{
font-size: 15px;
}
.post_content p.midashi{
  font-size: 18px;
}
h2.title{
  font-size: 32px;
  }
h2.title span{
  font-size: 20px;
}


}



/*--------------*/
.fadeIn {
-webkit-animation-delay: .5s;
animation-delay: .5s;
}

.index_free_space.cb_contents.num1 {
    padding: 0;
}


body{
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings:"wdth" 100;
}

main.main{
  position: relative;
}

#sec01{
background-color: #e9e9e9;
margin-top: -12em;
position: relative;
margin-left: auto;
padding: 0 0 10px;
max-width: 800px;
z-index: 999;
}

#sec01 h2.title{
position: absolute;
font-family: "Space Grotesk", sans-serif;
 font-optical-sizing: auto;
 font-weight: 600;
 color: #149cd3;
 font-style: normal;
 top: -32%;
 left: 0;
 line-height: 1;
 margin-bottom: 0;
}

#sec01 .container{
max-width: 800px;
width: 100%;
margin: auto;
}

@media (max-width: 1100px) {
  .news_flex{
    padding-left: 20px;
  }
}
@media (max-width: 899px) {
  #sec01{
    margin-top: -3em;
    width: 100%;
}

}
@media (min-width: 768px){


}
@media (max-width: 767px) {

}


/*------メッセージ------------------------*/

#sec02{
background-color: #fcfcfc;
  padding-top: 5em;
  padding-bottom: 5em;
  position: relative;
  background-repeat: no-repeat;
background-position: top right;
 background-size: cover;
background-image: url("/wp-content/uploads/bg-img001.jpg");
}
#sec02 .container{
  max-width: 800px;
  margin: auto

}
#sec02 h2.title{
  color: #149cd3;
  font-size: 30px;
}
#sec02 h2.title span{
  font-size: 30px;
  color: #181818;
}


#sec02 .bg1:before{
  position: absolute;
 width: 515px;
 height: 617px;
content: "";
display: block;
top: 50%;
left: -10%;
 transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 70%;
  background-image: url("/wp-content/uploads/bg-img1.png");

}


#sec02 .bg2:before{
  position: absolute;
 width: 380px;
 height: 498px;
content: "";
display: block;
top: 50%;
right: 0%;
 transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 90%;
  background-image: url("/wp-content/uploads/bg-img2.png");

}

.tablet2{
  display: none !important;
}
@media (max-width: 1399px) {
.tablet2{
    display: block !important;
  }
}

@media (min-width: 768px){


}
@media (max-width: 1399px) {
  #sec02 .bg1:before,
  #sec02 .bg2:before{
  display: none
  }

}

@media (max-width: 767px) {
  #sec02 h2.title{
    font-size: 24px;
  }
  #sec02 h2.title span {
      font-size: 22px;
  }
}




/*--------------------------------*/

#sec03{
padding-top: 5em;
padding-bottom: 14em;
position: relative;
background-repeat: no-repeat;
background-position: top right;
 background-size:cover;
background-image: url("/wp-content/uploads/bg-img002.jpg");
}

#sec03 h2.title{
  position: relative;
  color:#6d6d6d;
}
#sec03 h2.title:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: auto;
    bottom: 0;
    margin: auto;
    width: 60px;
    height: 4px;
    background: #149cd3;
}
/* 親要素の位置基準を設定 */
#sec03 .col.span_4 {
  position: relative;
  display: inline-block; /* 必要に応じて調整してください */
}

/* 数字を画像の左上に重ねるスタイリング */
#sec03 .col.span_4 .number {
  position: absolute;
  top: -50px;    /* 画像から少し上にはみ出させる場合（調整可能） */
  left: 18px;   /* 画像から少し左にはみ出させる場合（調整可能） */
  z-index: 10;   /* 画像より手前に表示させる */

  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Space Grotesk", sans-serif;
   font-optical-sizing: auto;
   font-weight: 600;
   color: #149cd3;
   font-size: 65px;
}

#sec03 .col.span_4 .box-img {
  background: #fff;       /* 白い枠の背景（余白部分など） */
  padding: 10px;          /* 画像と白い枠の間の余白（不要な場合は削除） */
  border: 4px solid #fff; /* 白い枠 */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15); /* シャドウ（X軸、Y軸、ぼかし、色） */
  border-radius: 2px;     /* 角を少し丸める場合（お好みで） */
}

#sec03 .col.span_4 .b-img {
  display: block;
  width: 100%;
  height: auto;
}

#sec03 .col.span_4 .box-img p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;             /* 画像より手前、数字より後ろに調整 */
  margin: 0;
  width: 80%;             /* 必要に応じて幅を調整 */
  text-align: center;     /* 文字を中央揃えにする場合 */
  color: #fff;
text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
font-size: 18px;
}





@media (max-width: 767px) {
  #sec03{
  padding-top: 4em;
  padding-bottom: 17em;
  }
  #sec03 h2.title{
font-size: 32px;
  }
}





/*--サービス------------------*/

#sec04{
margin-top: -15em;
padding-top: 10em;
padding-bottom: 12em;
position: relative;
background-repeat: no-repeat;
background-position: top right;
 background-size: cover;
background-image: url("/wp-content/uploads/bg-img003.png");

}
#sec04 h2.title,
#sec04 h3,#sec04 p,
#sec04 a{
  color: #fff;
  text-align: center;
}
#sec04 h2.title{
  position: relative;
}
#sec04 h2.title:after {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      width: 60px;
      height: 4px;
      background: #149cd3;
  }
#sec04 h3{
  font-size: 26px;
}
#sec04 .s-btn a{
color: #fff !important;
    background-color: transparent;
    font-weight: 700;
    text-align: center;
    font-size: 20px;
    display: inline-block;
    min-width: 256px;
    width: 100%;
    height: 72px;
    line-height: 72px;
    position: relative;
    transition: 0.5s;
    border-radius: 8px;
  border: 3px solid #fff;
}
#sec04 .s-btn a:hover{
color: #fff !important;
    background-color: #1f3f58;
    font-weight: 700;
    text-align: center;
    font-size: 20px;
    display: inline-block;
    min-width: 256px;
    width: 100%;
    height: 72px;
    line-height: 72px;
    position: relative;
    transition: 0.5s;
    border-radius: 8px;
  border: 3px solid #1f3f58;
}

.s-btn .arrow{
  position: relative;
}
.s-btn .arrow:before{
    position: absolute;
    width: 14px;
    height: 21px;
   content: "";
   display: block;
   top: 50%;
   right: 10%;
   	transform: translateY(-50%);
       background-repeat: no-repeat;
       background-position: center center;
       background-size: contain;
     background-image: url("/wp-content/uploads/arrow.png");
  }


@media (max-width: 767px) {
  #sec04{
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-image: url("/wp-content/uploads/bg-img003.png");
  }
#sec04{
  margin-top: -12em;
  padding-top: 12em;
          padding-bottom: 14em;
}
#sec04 h3 {
    font-size: 24px;
}
}

/*----------事例------------------------*/

#sec05{
padding-top: 2em;
padding-bottom: 5em;
position: relative;
background-repeat: no-repeat;
background-position: top right;
 background-size: cover;
background-image: url("/wp-content/uploads/bg-img004.jpg");
}
#sec05 .container{
max-width: 1000px;
}

#sec05 h2.title{
  position: relative;
  color: #1e4560;
  text-align: center;
margin-bottom: 0.2em;
}
#sec05 h2.title:after {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      width: 60px;
      height: 4px;
      background: #149cd3;
  }
#sec05 h3{
  font-size: 22px;
  text-align: center;
  margin-bottom: 2em;
}

#sec05 .case-thumb img{
  width: 100%;
}
#sec05 .case-item{
  background-color: #fff;
}

#sec05 .case-date{
  color: #149cd3;
}
#sec05 .case-content{
  padding: 10px;
}

@media (min-width: 768px) {
}
@media (max-width: 1100px) {

}
@media (max-width: 767px) {
  #sec05{
  padding-top: 0;
}
}
/*--------------------------*/

#contact{
  background-repeat: no-repeat;
 background-position: center center;
 background-image: url("/wp-content/uploads/bg-img005.jpg");
 color: #fff;
 padding-top: 2em;
 padding-bottom: 4em;
}
#contact .container{
  padding-top: 0 !important;
}
#contact h2,
#contact h2 span{
  color: #fff;
}
body.underPage #contact h2.title{
  font-family: "Space Grotesk", sans-serif;
      font-optical-sizing: auto;
      font-weight: 600;
      font-style: normal;
      font-size: 62px;
      line-height: 1.8;
      margin-bottom: 0.6em;
}
#contact .tel{
  font-family: "Space Grotesk", sans-serif;
      font-optical-sizing: auto;
      font-weight: 600;
      font-style: normal;
      font-size: 32px;
}
a[href^="tel:"] {
  pointer-events: auto;
}
#contact .c-btn a {
    color: #fff;
    background-color: transparent;
    font-weight: 700;
    text-align: center;
    font-size: 20px;
    display: inline-block;
    min-width: 256px;
    width: 100%;
    height: 160px;
    line-height: 160px;
    position: relative;
    transition: 0.5s;
    border-radius: 8px;
    border: 3px solid #fff;
}


#contact .c-btn a{
  color: #149cd3;
    font-size: 30px;
    line-height: 3.2;
}
#contact .c-btn a span{
  color: #fff;
  display: block;
    font-size: 18px;
    line-height: 1;
}
#contact .c-btn a:hover{
color: #fff !important;
    background-color: #1f3f58;
    position: relative;
    transition: 0.5s;
  border: 3px solid #1f3f58;
}


@media (min-width: 768px){
  .pc-ml1 {
  margin-left: 1em;
  }
}

@media (max-width: 767px){
}


/*-------フッター-------*/

@media (max-width: 767px) {
}
.mt05em{
  margin-top: 0.5em;
}

.w900{
  max-width: 900px;
}
.w1000{
  max-width: 1000px;
}
.flex{
  display: flex;
}
.dotte{
  border: 3px dotted #07b53b;
  padding: 20px 10px;
}



@media (min-width: 768px) {

}
@media (max-width: 767px) {

}
@media (min-width: 768px) {

}

@media (max-width: 767px) {
}






/**/
.post_content .button a {
  color: #fff;
}

@media (min-width: 768px){

}

#gmap iframe{
vertical-align: bottom;
}

@media (min-width: 769px) {

}




/*-------フッター------------*/
#footer #copyright{
  text-align: center;
  font-size: 10px;
background-color: #181818;
}
#footer{
  background-color: #373737;
}

#footer #footer_menu a{
  color: #fff;
  font-size: 14px;
}
#footer #footer_menu .nav-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
    justify-content: center;
}

#footer #footer_menu .nav-list li {
  margin-right: 0.5em;
}

#footer #footer_menu .nav-list li:not(:last-child)::after {
  content: "｜";
  margin-left: 0.5em;
  color: #666;
}

@media (min-width: 768px){
#footer #copyright{
height: 40px;
    line-height: 40px;
  }
}




/*----------固定フッター--------------*/
@media (max-width: 1151px) {
}



/*--------ボタン---------*/

.button:not(.button1):not(.button2):not(.button3) a{
color: #fff !important;
background-color: #1f3f58;
font-weight: 700;
text-align: center;
font-size: 16px;
display: inline-block;
min-width: 256px;
height: 56px;
line-height: 56px;
border: none !important;
position: relative;
transition: 0.75s;
border-radius: 30px;
}



.button:not(.button1):not(.button2) a:hover{
background: #002f56 !important;
  border: none !important;
color: #fff !important;
transition: 0.75s;
}

.button1 a{
color: #fff !important;
background-color: #002f56;
font-weight: 700;
text-align: center;
font-size: 16px;
display: inline-block;
min-width: 256px;
height: 56px;
line-height: 56px;
border: none !important;
position: relative;
border-radius: 4px;
}


.button2 a{
color: #fff !important;
background: #149cd3;
border: none;
border-radius: 30px;
font-weight: 600;
text-align: center;
font-size: 16px;
display: inline-block;
min-width: 256px;
height: 56px;
line-height: 56px;
position: relative;
}


.button1 a:hover{
background: #ad811e !important;
color: #fff !important;
text-decoration: none;
}

.button2 a:hover{
background: #1f3f58 !important;
color: #fff !important;
text-decoration: none;
}


.add_arrow ,
.link_button a{
  display: block;
  position: relative;
}

.add_arrow:after,
.link_button a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 10%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  transition: 0.2s;
}

.add_arrow:hover:after ,
.link_button a:hover:after {
  right: 5%;
}


@media (min-width: 768px) and (max-width: 1040px){
}
@media (max-width: 767px){
.button a,
.button1 a,
.button2 a{
  font-size: 15px;
}
.button.sp-center{
    text-align: center;
  }
}



@media (min-width: 768px) and (max-width: 1040px){
}
@media (max-width: 767px){
.button.sp-center{
    text-align: center;
  }
}






/*----下層----------------*/
a, a:visited, a:hover {
    color: #1f3f58;
}

.under {
    background: #f0f0ee;
}
.subcatch {
  padding-top: 170px;
margin-bottom: 2em;
    max-height: 30vh;
}
@media (max-width: 767px){
  .under .main_inner {
    padding-left: 4px;
    padding-right: 4px;
  }
.subcatch h2.mincho{
font-size: 20px;
}


}


span.marker{
position: relative;
background: linear-gradient(transparent 60%, #fed600 50%);
}

#main_col section{
  margin-bottom: 60px;
}

#container #main_contents{
background-color: #fff;
}

body.underPage .header_logo{
  margin-top: 20px;
}

body.underPage h2.title{
  display: block;
  font-size: 36px;
  position: relative;
  margin: 0 0 1.4em;
}
.underPage h2:before{
  display: none;
}

#body p {
font-family: "Noto Sans", sans-serif;
  margin-bottom: 0.8em;
}
#body .post_content dt {
color: #034c8c;
}

.shadox{
  filter: drop-shadow(3px 3px 3px #7f7f7f);
}
@media (min-width: 651px) {
}
@media (max-width: 767px){

}

@media (max-width: 650px) {
}


div.well {
border: none !important;
border-radius: 6px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

div.well2 {
background: transparent !important;
padding: 2em 10px;
border-radius: 6px;
border: 2px solid #c8c8c8;
}

.text-red {
font-size: 18px;
color: #006dd2;
}

.check ul li{
position: relative;
vertical-align: middle;
line-height: 2.4;
font-size: 16px;
padding-left: 30px;
font-weight: 600;
margin-left: 14px;
}
.check ul {
  list-style: none;
}

.check ul li:before{
position: absolute;
content: "";
width: 28px;
height: 27px;
background-image: url("/wp-content/uploads/icon-check.png");
background-repeat: no-repeat;
background-position: center;
background-size: 70%;
transform: translate(0, -50%);
left: -2%;
top: 50%;
}


.main_inner {
    max-width: 1300px;
}

/*選ばれる理由*/
.column_main {
background: #f7f5f0;
}
.takahashi-strengths {
  background-color: #f7f5f0;
  color: #333333;
  padding: 0px 20px 3em;
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  line-height: 1.8;
}

.takahashi-strengths .container {
  max-width: 900px;
  margin: 0 auto;
}

/* セクションヘッダー */
.under .section-header {
  text-align: center;
  margin-bottom: 40px;
 color: #1f3f58;
}
.under .sub-title {
  display: inline-block;
  color: #1f3f58; /* 指定カラー */
  font-size: 0.9rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-weight: bold;
}

.under .section-header .title {
  font-size: 2.2rem;
  color: #1f3f58; /* 指定カラー */
  font-weight: 700;
  margin: 0;
}

/* メインメッセージボックス（白背景 ＋ #1f3f58の左線） */
.takahashi-strengths .main-message-box {
  background: #ffffff; /* 白 */
  border-left: 5px solid #1f3f58; /* 指定カラー */
  padding: 35px 30px;
  margin-bottom: 50px;
  border-radius: 0 8px 8px 0;
  box-shadow: 0 4px 15px rgba(31, 63, 88, 0.05);
}

.takahashi-strengths .main-catch {
  font-size: 22px;
  color: #1f3f58;
  line-height: 1.5;
  margin-bottom: 20px;
  font-weight: 700;
}

.takahashi-strengths .main-catch span {
  color: #333333;
}

.takahashi-strengths .lead-text {
  margin: 0;
}

/* 強みカードのレイアウト */
.takahashi-strengths .strength-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.takahashi-strengths .strength-card {
  background: #ffffff; /* 白ベース */
  border: 1px solid #e2ded6; /* 薄いベージュ系の枠線 */
  border-radius: 8px;
  padding: 35px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.takahashi-strengths .strength-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(31, 63, 88, 0.08);
  border-color: #1f3f58;
}

.takahashi-strengths .card-number {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 3.5rem;
  font-weight: 900;
  color: rgba(31, 63, 88, 0.06);
  line-height: 1;
  pointer-events: none;
}

.takahashi-strengths .midashi {
  color: #1f3f58;
  font-weight: 700;
  margin: 0 0 10px 0;
  border-bottom: 2px solid #f0ece1;
  padding-bottom: 10px;
}

.takahashi-strengths .card-desc {
  color: #444444;
  margin-bottom: 10px;
  font-weight: 500;
}

/* ポイント部分 */
.takahashi-strengths .point-box {
  background: #f7f5f0; /* ベージュ背景 */
  padding: 15px 20px;
  border-radius: 6px;
  margin-top: 10px;
}

.takahashi-strengths .point-label {
  display: inline-block;
  font-size: 0.8rem;
  background: #1f3f58; /* 指定カラー */
  color: #fff;
  padding: 2px 10px;
  border-radius: 4px;
  margin-bottom: 8px;
  font-weight: bold;
  letter-spacing: 1px;
}

.takahashi-strengths .point-list {
  margin: 0;
  padding-left: 20px;
  color: #555555;
  font-size: 0.95rem;
}

.takahashi-strengths .point-list li {
  margin-bottom: 6px;
}

.takahashi-strengths .point-list li:last-child {
  margin-bottom: 0;
}

/* レスポンシブ対応（スマホ向け） */
@media (max-width: 768px) {
  .takahashi-strengths {
    padding: 40px 15px;
  }
  .takahashi-strengths .section-header .title {
    font-size: 1.75rem;
  }
  .takahashi-strengths .main-message-box {
    padding: 20px;
  }
  .takahashi-strengths .main-catch {
    font-size: 16px;
  }
  .takahashi-strengths .strength-card {
    padding: 20px;
  }
}

/*----------サービス紹介-----------------*/
.tw-sports-page {
    --tw-bg-base: #f7f5f0;
    --tw-bg-card: #ffffff;
    --tw-primary-navy: #1f3f58;
    --tw-accent-red: #e63946;
    --tw-text-main: #1f3f58;
    --tw-text-muted: #627382;
    --tw-border: #e2dfd8;
    --tw-shadow: rgba(31, 63, 88, 0.08);

    background-color: var(--tw-bg-base);
    color: var(--tw-text-main);
    font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
    padding: 0px 0 2em;
    line-height: 1.7;
}

.tw-sports-page .container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

/* セクションタイトル */
.tw-sports-page .section-title {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
}

.tw-sports-page .section-title p {
    color: var(--tw-accent-red);
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 8px;
}

.tw-sports-page .section-title h2 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 900;
    letter-spacing: 1px;
    color: var(--tw-primary-navy);
}

.tw-sports-page .section-title h2::after {
    content: "";
    display: block;
    width: 40px;
    height: 3px;
    background-color: var(--tw-primary-navy);
    margin: 15px auto 0;
    border-radius: 2px;
}

/* サービスカード全体のリスト（上下に並べるレイアウト） */
.tw-sports-page .services-list-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* 各サービス行（row）のデザイン */
.tw-sports-page .row {
    background-color: var(--tw-bg-card);
    border: 1px solid var(--tw-border);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    box-shadow: 0 4px 20px var(--tw-shadow);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tw-sports-page .row:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(31, 63, 88, 0.12);
}

/* カラム幅の定義（一般的なグリッドシステム対応） */
.tw-sports-page .col {
    padding: 0;
}
.tw-sports-page .col.span_4 {
    flex: 0 0 35%;
    max-width: 35%;
}
.tw-sports-page .col.span_8 {
    flex: 0 0 65%;
    max-width: 65%;
    padding: 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 画像スタイル（枠イッパイに美しく収める） */
.tw-sports-page .row img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 220px;
}

/* カード内タイトル */
.tw-sports-page .row h3 {
    font-weight: 800;
    color: var(--tw-primary-navy);
    margin-bottom: 15px;
    line-height: 1.4;
    letter-spacing: 0.5px;
}

/* メニューリスト（WordPressリンク形式） */
.tw-sports-page .service-menu-list {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tw-sports-page .service-menu-list li a {
    position: relative;
    display: block;
    padding-left: 16px;
    color: var(--tw-text-muted);
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease, transform 0.3s ease;
}

.tw-sports-page .service-menu-list li a::before {
    content: "▶";
    position: absolute;
    left: 0;
    color: var(--tw-accent-red);
    top: 5px;
}

.tw-sports-page .service-menu-list li a:hover {
    color: var(--tw-primary-navy);
    transform: translateX(3px);
}

/* 補足説明文 */
.tw-sports-page .row p {
    color: var(--tw-text-muted);
    margin: 0;
    border-top: 1px dashed var(--tw-border);
    padding-top: 12px;
}

/* スマホ対応（縦並びに切り替え） */
@media (max-width: 768px) {
    .tw-sports-page .col.span_4,
    .tw-sports-page .col.span_8 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .tw-sports-page .row img {
        height: 200px;
    }
    .tw-sports-page .col.span_8 {
        padding: 25px;
    }
}


/*------ よくあるご質問 ------*/


/* =================================
   FAQリスト全体
================================= */
.faq-page .p-faq {
  display: flex;
  flex-direction: column;
  gap: 20px; /* 項目間の余白 */
}

/* 各質問・回答のブロック */
.faq-page .p-faq__list {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
  margin: 0; /* デフォルトのdlマージンをリセット */
}

.faq-page .p-faq__list:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* 質問（dt）のスタイル */
.faq-page .p-faq__q {
  position: relative;
  background: #f8fafc;
  padding: 18px 20px 18px 54px;
  border-bottom: 1px solid #e2e8f0;
  font-weight: bold;
  color: #2c3e50;
}

/* 「Q」アイコンの装飾 */
.faq-page .p-faq__q::before {
  content: "Q";
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: #345167;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.faq-page .p-faq__q p {
  margin: 0;
  font-size: 16px;
}

/* 回答（dd）のスタイル */
.faq-page .p-faq__a {
  position: relative;
  padding: 18px 20px 18px 54px;
  background: #ffffff;
}

/* 「A」アイコンの装飾 */
.faq-page .p-faq__a::before {
  content: "A";
  position: absolute;
  left: 20px;
  top: 20px;
  width: 24px;
  height: 24px;
  background-color: #149cd3;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.faq-page .p-faq__a p {
  margin: 0;
  font-size: 15px;
  color: #4b5563;
}






@media (max-width: 767px) {}

@media (min-width: 481px) and (max-width: 768px) {}

@media (max-width: 480px) {}

@media (min-width: 481px) and (max-width: 768px) {}

@media (max-width: 768px) {}

@media (max-width: 768px) {}

@media (max-width: 480px) {}

@media (min-width: 481px) and (max-width: 768px) {}



@media (max-width: 767px) {

}



@media (min-width: 768px){

}




/*------------------*/

@media (min-width: 1450px){
}
@media (min-width: 768px){
}
@media (max-width: 750px){
}
@media (max-width: 750px){
}


@media (max-width: 767px){
}


/*-------投稿-----------*/

.underPage .table_style1 td {
  background-color: #fff;
  }
/*---お問い合わせ-----*/

#contact-form .table_style1 td {
  background-color: #fff;
  }
.required{
    border-radius: 6px;
      margin-right: 12px;
      padding-top: 8px;
      padding-bottom: 8px;
      width: 48px;
      display: inline-block;
      text-align: center;
      background: rgb(227,110,110);
      color: #fff;
      font-size: 14px;
  }
  .required2{
      border-radius: 6px;
        margin-right: 12px;
        padding-top: 8px;
        padding-bottom: 8px;
        width: 48px;
        display: inline-block;
        text-align: center;
        background: rgb(252,142,0);
        color: #fff;
        font-size: 14px;
    }


/**/
@keyframes upDown {
  0% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
  100% { transform: translateY(0); }
}

#js-index-content01__link img {
  animation: upDown 3s infinite;
}


@keyframes infinity-scroll-left {
from {
transform: translateX(0);
}
to {
transform: translateX(-100%);
}
}

ul li{
list-style: none;
}

.scroll-infinity{
      margin-top: -7em;
}
.scroll-infinity__wrap {
display: flex;
overflow: hidden;

}
.scroll-infinity__list {
display: flex;
list-style: none;
padding: 0
}
.scroll-infinity__list--left {
animation: infinity-scroll-left 240s infinite linear 0.5s both;
}

.scroll-infinity__item>img {
    height: 118px;
    width: auto;
  max-width: 4800px;
}






@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.rotate {
  width: 233px;
  height: 233px;
  margin: 0px auto;
  animation: rotateAnimation 18s linear infinite;
}
@media (max-width: 767px){
  .rotate {
    width: 233px;
    height: 233px;
  }
}



/*-----------------------*/


/* reCAPTCHAバッジを非表示にする */
.grecaptcha-badge {
    visibility: hidden;
}


/*アンカー高さ*/
.anchor{
    display: block;
    padding-top: 90px;
    margin-top: -90px;
}
