@charset 'utf-8';

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/* ----------------------------------------------------------------
    Normalize
----------------------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
}

body {
  margin: 0;
  overflow-x: hidden;
}

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

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden], template {
  display: none;
}

a {
  background-color: transparent;
}
a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  margin: .67em 0;
  font-size: 2em;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 100%;
}

sub, sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sup {
  top: -.5em;
}

sub {
  bottom: -.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-size: 1em;
  font-family: monospace, monospace;
}

button, input, optgroup, select, textarea {
  margin: 0;
  color: inherit;
  font: inherit;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html input[type='button'], input[type='reset'], input[type='submit'] {
  cursor: pointer;

  -webkit-appearance: button;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input {
  line-height: normal;
}
input[type='checkbox'], input[type='radio'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='number']::-webkit-inner-spin-button, input[type='number']::-webkit-outer-spin-button {
  height: auto;
}
input[type='search'] {
  box-sizing: content-box;

  -webkit-appearance: textfield;
}
input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  margin: 0 2px;
  padding: .35em .625em .75em;
  border: 1px solid #c0c0c0;
}

legend {
  padding: 0;
  border: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

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

td, th {
  padding: 0;
}

:root {
  font-size: 62.5%;
}

html, body, h1, h2, h3, h4, h5, h6, li {
  margin: 0;
  padding: 0;
}

body {
  background: #fff;
  /* color: #555; */
  color: #242424;
  font-size: 1.4em;
  font-family: "Lato","Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.42857;
}

ul, ol {
  list-style-type: none;
}

a {
  color: #032545;
  text-decoration: none;
  transition: color .7s cubic-bezier(.23, 1, .32, 1);
}
a.is-disabled {
  color: inherit;
}

em {
  color: #333;
  font-weight: bold;
  font-style: normal;
}

strong {
  color: #cb6408;
  font-weight: bold;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

hr {
  display: none;
}

p, ul, ol, dl {
  margin: 0 0 25px;
  padding: 0;
}
@media only screen and (max-width: 640px) {
  p, ul, ol, dl {
    margin: 0 0 20px;
  }
}

ul > :last-child, ol > :last-child, dl > :last-child {
  margin-bottom: 0;
}

dd {
  margin: 0;
}

blockquote {
  margin: 0;
}

@media only screen and (max-width: 768px) {
  input, select {
    padding: 1px;
    font-size: 16px;
  }
}
/* ----------------------------------------------------------------
    Clearfix
----------------------------------------------------------------- */
.header-inner::before, .header-utility::before, .header-utility .header-utility-inner .utility-link::before, .header-nav-inner::before, .topic-path-inner::before, .nav-footer-inner::before, .nav-footer-link ul::before, .nav-footer-link.is-follow::before, .footer-nav-inner::before, .footer-grid::before, .footer-logo::before, .footer-copyright::before, .hdg-l1 .hdg-inner::before, .list._line::before, .list-desc::before, .link-list._line::before, .nav-panel .nav-item::before, .nav-panel-02 a::before, .grid::before, .media-lyt::before, .media-list::before, .carousel-item::before, .uni-list-desc::before, .uni-list-desc-02::before, .content::before, .content-inner::before, .header-inner::after, .header-utility::after, .header-utility .header-utility-inner .utility-link::after, .header-nav-inner::after, .topic-path-inner::after, .nav-footer-inner::after, .nav-footer-link ul::after, .nav-footer-link.is-follow::after, .footer-nav-inner::after, .footer-grid::after, .footer-logo::after, .footer-copyright::after, .hdg-l1 .hdg-inner::after, .list._line::after, .list-desc::after, .link-list._line::after, .nav-panel .nav-item::after, .nav-panel-02 a::after, .grid::after, .media-lyt::after, .media-list::after, .carousel-item::after, .uni-list-desc::after, .uni-list-desc-02::after, .content::after, .content-inner::after {
  display: table;
  content: '';
}
.header-inner::after, .header-utility::after, .header-utility .header-utility-inner .utility-link::after, .header-nav-inner::after, .topic-path-inner::after, .nav-footer-inner::after, .nav-footer-link ul::after, .nav-footer-link.is-follow::after, .footer-nav-inner::after, .footer-grid::after, .footer-logo::after, .footer-copyright::after, .hdg-l1 .hdg-inner::after, .list._line::after, .list-desc::after, .link-list._line::after, .nav-panel .nav-item::after, .nav-panel-02 a::after, .grid::after, .media-lyt::after, .media-list::after, .carousel-item::after, .uni-list-desc::after, .uni-list-desc-02::after, .content::after, .content-inner::after {
  clear: both;
}

/* ----------------------------------------------------------------
    Pseudo element (Block)
----------------------------------------------------------------- */
.header-02::before, .header-menu-btn button:before, .header-menu-btn button:after, .header-menu-btn .header-menu-btn-inner:before, .header-nav::before, .header-nav-inner a::before, .topic-path a::after, .nav-local a::before, .nav-footer-link .nav-footer-top span::before, .footer::before, .footer-hdg a::after, .footer-hdg span::before, .footer-link-02 li a::after, .footer-logo li.link-home a::before, .hdg-l1 .hdg-main._icon::before, .hdg-l1 .hdg-main._icon::after, .hdg-l2 a::before, .hdg-l2 a::after, .hdg-l3::before, .hdg-l3 a::before, .hdg-l3 a::after, .hdg-l4::before, .hdg-rank::before, .hdg-rank::after, .txt-point span::before, .txt-convo::before, .list > li::before, .list-flow > li > .list-inner::before, .list-flow > li > .list-inner::after, .link::after, .link::before, .link-txt::after, .link-list > li > a::after, .link-list > li > a::before, .t-lyt-line .link-list > li > a::before, .btn::before, .btn._thin::before, .btn-primary::before, .btn-primary._thin::before, .btn-primary-02::before, .btn-primary-03::before, .btn-primary-04 a::before, .btn-toggle::before, .btn-toggle::after, .nav-internal::before, .nav-back a::after, .nav-back a::before, .nav-panel .nav-item a .nav-txt span::after, .nav-panel .nav-item .nav-txt span::before, .nav-panel-02 .nav-hdg::before, .nav-panel-02 .nav-hdg::after, .nav-panel-02 .nav-hdg > span > span::after, .nav-panel-02 .nav-hdg._icon > span::before, .nav-panel-02 .nav-hdg._icon > span::after, .nav-panel-member::before, .panel-02 > .panel-inner > .panel-hdg span::before, .panel-02 > .panel-inner > .panel-hdg span::after, .panel-03 > .panel-hdg::before, .panel-03 > .panel-hdg::after, .panel-section > .panel-hdg-02._link > a::before, .panel-section > .panel-hdg-02._link > a::after, .panel-section > .panel-hdg-02._link > a > span::after, .panel-section > .panel-hdg-03 > a::before, .panel-section > .panel-hdg-03 > a::after, .panel-section > .panel-hdg-03 > a > span::after, .panel-event > .panel-hdg::before, .panel-voice > .panel-hdg > span::before, .panel-voice > .panel-inner::before, .panel-voice > .grid > .grid-col > .panel-inner::before, .panel-contact > .panel-wrap > .panel-inner .panel-hdg::before, .panel-contact > .panel-wrap > .panel-inner .panel-hdg::after, .panel-contact-02 > .panel-wrap > .panel-inner .panel-hdg::before, .panel-contact-02 > .panel-wrap > .panel-inner .panel-hdg::after, .carousel-fade .carousel-control .carousel-next button::before, .carousel-fade .carousel-control .carousel-prev button::before, .carousel-player button::before, .carousel-player button::after, .carousel-player button span::after, .uni-hdg-l2 a::before, .uni-hdg-l2 a::after, .uni-link-list > li > a::after, .uni-link-list > li > a::before, .uni-nav-pagination .nav-first a::before, .uni-nav-pagination .nav-first a::after, .uni-nav-pagination .nav-last a::before, .uni-nav-pagination .nav-last a::after, .uni-nav-pagination .nav-prev a::before, .uni-nav-pagination .nav-next a::before, .content-fluid + .content-fluid-02::before {
  display: block;
  content: '';
}

/* ----------------------------------------------------------------
    Pseudo element (Inline Block)
----------------------------------------------------------------- */
.panel-menu > .panel-hdg::before {
  display: inline-block;
  content: '';
}

/* ----------------------------------------------------------------
    Loading Spritesheet
----------------------------------------------------------------- */
.hdg-l1 .hdg-main._icon._gourmet::after, .hdg-l1 .hdg-main._icon._shopping::after, .hdg-l1 .hdg-main._icon._interior::after, .hdg-l1 .hdg-main._icon._leisure::after, .hdg-l1 .hdg-main._icon._cleaning::after, .hdg-l1 .hdg-main._icon._support-02::after, .hdg-l1 .hdg-main._icon._relocation::after, .hdg-l1 .hdg-main._icon._newlywed::after, .hdg-l1 .hdg-main._icon._voice::after, .hdg-l1 .hdg-main._icon._event-02::after, .hdg-l1 .hdg-main._icon._lives::after, .hdg-l1 .hdg-main._icon._question::after, .hdg-l1 .hdg-main._icon._letterzine::after, .hdg-l1 .hdg-main._icon._mailmagazine::after, .hdg-l1 .hdg-main._icon._report::after, .hdg-l1 .hdg-main._icon._column::after, .hdg-l1 .hdg-main._icon._support::after, .hdg-l1 .hdg-main._icon._event::after, .hdg-l1 .hdg-main._icon._reform::after, .hdg-l1 .hdg-main._icon._sale::after, .hdg-l1 .hdg-main._icon._maintenance::after, .hdg-l1 .hdg-main._icon._owners-dial::after, .hdg-l1 .hdg-main._icon._convenient::after, .hdg-l1 .hdg-main._icon._management::after, .hdg-rank::before, .nav-panel-02 .nav-hdg._icon._gourmet > span::after, .nav-panel-02 .nav-hdg._icon._shopping > span::after, .nav-panel-02 .nav-hdg._icon._interior > span::after, .nav-panel-02 .nav-hdg._icon._leisure > span::after, .nav-panel-02 .nav-hdg._icon._cleaning > span::after, .nav-panel-02 .nav-hdg._icon._support-02 > span::after, .nav-panel-02 .nav-hdg._icon._relocation > span::after, .nav-panel-02 .nav-hdg._icon._newlywed > span::after, .nav-panel-02 .nav-hdg._icon._voice > span::after, .nav-panel-02 .nav-hdg._icon._event-02 > span::after, .nav-panel-02 .nav-hdg._icon._lives > span::after, .nav-panel-02 .nav-hdg._icon._question > span::after, .nav-panel-02 .nav-hdg._icon._report > span::after, .nav-panel-02 .nav-hdg._icon._column > span::after, .nav-panel-02 .nav-hdg._icon._support > span::after, .nav-panel-02 .nav-hdg._icon._event > span::after, .nav-panel-02 .nav-hdg._icon._letterzine > span::after, .nav-panel-02 .nav-hdg._icon._mailmagazine > span::after, .nav-panel-02 .nav-hdg._icon._recipe > span::after, .nav-panel-02 .nav-hdg._icon._reform > span::after, .nav-panel-02 .nav-hdg._icon._sale > span::after, .nav-panel-02 .nav-hdg._icon._maintenance > span::after, .nav-panel-02 .nav-hdg._icon._owners-dial > span::after, .nav-panel-02 .nav-hdg._icon._convenient > span::after, .nav-panel-02 .nav-hdg._icon._management > span::after, .panel-menu._cooking > .panel-hdg::before, .panel-menu._program > .panel-hdg::before, .panel-contact > .panel-wrap > .panel-inner .panel-hdg._form::after, .panel-contact > .panel-wrap > .panel-inner .panel-hdg._email::after, .panel-contact > .panel-wrap > .panel-inner .panel-hdg._tel::after, .panel-contact-02 > .panel-wrap > .panel-inner .panel-hdg._form::after, .panel-contact-02 > .panel-wrap > .panel-inner .panel-hdg._email::after, .panel-contact-02 > .panel-wrap > .panel-inner .panel-hdg._tel::after {
  background-image: url(/ist_tokuten/common/images/icon/sprite.png);
}




/* ----------------------------------------------------------------
    common
----------------------------------------------------------------- */
.pc{display: block;}
.sp{display: none;}
.note{
  display: block;
  font-size: 1.2rem;
  padding-top: 10px;
}
.btn-waku{
  display: inline-block;
  padding: 19px 20px;
  width: 280px;
  height: 60px;
  border: 2px solid #004165;
  font-weight: 700;
  border-radius: 40px;
  box-sizing: border-box;
  text-decoration: none;
  color: #004165;
  transition: .5s;
  font-weight: 600;
}
.btn-waku:hover{
  opacity: .7;
  background-color: #004165;
  color: #fff;
}
.btn-form{
  display: inline-block;
  padding: 19px 20px;
  width: 280px;
  height: 60px;
  border-radius: 40px;
  box-sizing: border-box;
  text-decoration: none;
  color: #FFF;
  background-image: linear-gradient(45deg, #99834D 0%, #D3BD87 100%);
  transition: .7s;
  position: relative;
  font-weight: 600;
}
.btn-form::after{
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  font-size: 1.7rem;
  line-height: 1.8;
  font-weight: 700;
  background-image: url(/members/common/images/blank-w.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.btn-form:hover{
  background: #F5F1DC;
  color: #99834D;
  /* opacity: .7; */
}
.btn-form:hover::after{
  background-image: url(/members/common/images/blank-brown.svg);
}
.btn-form-b{
  display: inline-block;
  padding: 19px 20px;
  width: 280px;
  height: 60px;
  border-radius: 40px;
  box-sizing: border-box;
  text-decoration: none;
  color: #FFF;
  background: #004165;
  transition: .5s;
  position: relative;
  font-weight: 600;
}
.btn-form-b::after{
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  font-size: 1.7rem;
  line-height: 1.8;
  font-weight: 700;
  background-image: url(/members/common/images/blank-w.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.btn-form-b:hover{
  opacity: .4;
  /* background-image: linear-gradient(45deg, #99834D 0%, #c4a967 100%); */
}
.txt-link{
  display: inline-block;
  border-bottom: 1px solid;
  transition: .5s;
  position: relative;
  /* padding-right: 15px; */
  margin-top: 30px;
}
/* .txt-link::after{
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url(/members/common/images/blank-b.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 4px;
} */
.txt-link:hover{
  border-bottom: 1px solid transparent;
}

@media only screen and (max-width: 768px) {
.pc{display: none;}
.sp{display: block;}
  .note{
    font-size: 1.1rem;
  }
  .btn-form, .btn-form-b{
    font-size: 1.4rem;
    width: 200px;
    height: 50px;
    line-height: 1;
  }
  .btn-form::after, .btn-form-b::after{
    width: 14px;
    height: 14px;
  }
  .btn-waku{
    font-size: 1.2rem;
    width: 240px;
    height: 50px;
    line-height: 1;
  }
  .txt-link{
    margin-top: 20px;
    font-size: 1.1rem;
  }
  /* .txt-link::after{
    width: 10px;
    height: 10px;
  } */
}


/* ----------------------------------------------------------------
    MV
----------------------------------------------------------------- */
/* --- MV共通設定 --- */
.mv {
  position: relative;
  width: 100%;
  height: 33.125vw; /* PC時の高さ（任意） */
  max-height: 530px;
  /*overflow: hidden;*/
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

/* 1. 最背面グラデーション */
.mv__bg-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.mv__bg-gradient img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画面いっぱいに広げる */
}

/* 2. 背景英字SVG */
.mv__bg-svg {
  position: absolute;
  top: 10.6vw;
  left: 49.5%;
  transform: translate(-50%, -50%);
  width: 84%;
  max-width: 1562px;
  z-index: 2;
  pointer-events: none; /* 下の要素のクリックを邪魔しない */
}

.mv__bg-svg img {
  width: 100%;
  height: auto;
}

/* 3. 装飾画像（左右） */
.mv__decoration {
  position: absolute;
  z-index: 1;
}
.mv__decoration img {
  width: 100%;
  height: auto;
  display: block;
}

.mv__decoration--left {
  left: 0;
  bottom: -2.318vw;
  width: 24%;
}

.mv__decoration--right {
  right: 0;
  top: 0;
  width: 20%;
}

/* 4. 中央テキスト */
.mv__content {
  margin-top: 1.875vw;
  position: relative;
  z-index: 10; /* 最前面 */
  text-align: center;
  color: #004165; /* ブランドカラー */
}

.mv__title {
  font-size: clamp(3.7rem, 1.749rem + 3.85vw, 6.3rem);
  font-weight: 700;
  margin-bottom: 2.5vw;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.mv__text {
  font-size: clamp(2.0rem, 1.645rem + 1.16vw, 2.8rem);
  line-height: 1.5;
  font-weight: 700;
}
z
.sp-only { display: none; }

/* -------------------------------------------
  レスポンシブ (スマホ: 750px以下)
------------------------------------------- */
@media screen and (max-width: 750px) {
  .mv {
    height: 101.07vw; /* スマホ指定の高さ */
    overflow: visible;
  }

  .mv__bg-svg {
    width: 100%; /* SP用SVGに合わせて調整 */
  }

  /* 2. 背景英字SVG */
.mv__bg-svg {
  position: absolute;
  top: 38vw;
  left: 47%;
  width: 84%;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none; /* 下の要素のクリックを邪魔しない */
}


  /* 4. 中央テキスト */
.mv__content {
  position: relative;
  z-index: 10; /* 最前面 */
  margin: 0 auto;
  width: 100%;
  display: inline-block;
  padding-top: 10vw;
}

.mv__title {
  /*font-size: 3.7rem;*/
  margin-bottom: 4.33vw;
  line-height: 1.2;
}

.mv__text {
  /*font-size: 2.0rem;*/
  line-height: 1.5;
  display: inline-block;
  width: auto;
  text-align: left;
}

  .sp-only { display: block; }

  /* スマホでの人物・建物配置の微調整 */
  .mv__decoration--left {
    width: 45%;
    left: 0%;
    bottom: -7.04vw;;
  }

  .mv__decoration--right {
    width: 35%;
    right: 0%;
    top: -5.05vw;
  }

}

/* ----------------------------------------------------------------
    content01
----------------------------------------------------------------- */
.content01{
  z-index: 0;
}


.content-inner{
  width: 90%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.content-inner{
  width: 90%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.bg-blue{
  background-image: url(/ist_tokuten/common/images/bg-blue.png);
  background-size: auto;
  padding: 120px 0;
}

.bg-white{
  padding: 120px 0;
}

.benefit{
  color: #004165;
  font-size: 1.7rem;
  font-weight: 600;
  position: relative;
  display: inline-block;
  padding: 0 30px;
  margin-bottom: 18px;
}
.benefit::before, .benefit::after{
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 18px;
  height: 2px;
  background-color: #004165;
  transform: rotate(-60deg);
}
.benefit::before{
  left: 0;
  transform: rotate(60deg);
}
.benefit::after{
  right: 0;
}

.flex{
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;

}

.flex_l{
  width: 45%;
  text-align: left;
}

.flex_r{
  width: 46.3%;
  height: auto;
}

.flex_r img{
  width: 100%;
  height: auto;
  display: block;      /* 下の隙間を消す */
}




.content01 .content-inner{
  margin-right: auto;
  margin-left: auto;
}

h2{
  font-size: 4.8rem;
  line-height: 1.3;
  font-weight: 700;
}
h2 + p{
  margin-top: 40px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.strong{
  color: #CC3D3D;
  font-weight: 700;
}

.benefit_box{
  margin-top: 80px;
  background-color: #fff;
  border-radius: 10px;
  padding: 0px 100px 60px;
  box-sizing: 0px 0px 20px rgba(136, 136, 136, 0.2);
}


.benefit_box .midashi{
  font-size: 3.6rem;
  font-weight: 700;
    margin-bottom: 0 !important; /* 他のスタイルより優先させる場合 */
}

.benefit_box .txt{
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 40px;
}

.benefit_box .f58{
  font-size: 5.8rem;
}

.caution_box{
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  max-width: 1080px;
  margin: 0 auto;
  padding: 20px 40px; /* カード内の余白 */
  background-color: #ffffff;
  border-radius: 10px; /* 角丸 */
  opacity:0.8;
}

.caution_box p{
 font-size: 1.6rem;
 width: 10%; /* 400px相当 */
  margin: 0;
  text-align: center; /* デザインに合わせて調整 */
}

.caution_box ul{
width: 85%; /* 500px相当 */
  list-style: none; /* デフォルトの点を消す */
  padding: 0;
  margin: 0;
}

.caution_box ul li{
  font-size: 1.2rem;
  line-height: 1.8;
  text-indent: -1em; /* 「※」を少し外に出して揃える調整 */
  padding-left: 1em;
  text-align: left;
}


@media screen and (max-width: 768px) {
.bg-white{
    padding: 60px 0;
  }

  .bg-blue{
    padding: 60px 0;
  }
  .content01 h2{
    font-size: 3.2rem;
    line-height: 1.4;
  }
  h2 + p{
    margin-top: 20px;
    font-size: 1.5rem;
    text-align: left;
  }

.benefit{
    font-size: 1.2rem;
    padding: 0 20px;
    margin-bottom: 10px;
  }
  .benefit::before, .benefit::after {
    width: 12px;
    height: 1px;
  }

  .benefit_box{
    padding: 40px 20px;
  }

  .benefit_box .midashi{
    font-size: 2rem;
  }
  .benefit_box .txt{
    font-size: 1.5rem;
    text-align: left;
  }
  .flex{
    flex-direction: column; /* 縦並びに変更 */
  }

   .flex_l{
    width: 100%;
    text-align: center;
  }

    .flex_r{
    width: 100%;
    max-height: none;
    margin-top: 20px;
  }

.benefit_box{
  margin-top: 40px;
  padding: 40px 20px;
  box-sizing: 0px 0px 20px rgba(136, 136, 136, 0.2);
}
.benefit_box .midashi{
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 30px;
}
.benefit_box .txt{
  font-size: 1.5rem;
  text-align: left;
  margin-bottom: 30px;
}

.benefit_box .f58{
  font-size: 3.2rem;
}

.caution_box{
  flex-direction: column; /* 縦並びに変更 */
  text-align: left;
  margin: 0 auto;
  padding: 20px 20px; /* カード内の余白 */
  background-color: #ffffff;
  border-radius: 10px; /* 角丸 */
  opacity:0.8;
}

.caution_box p{
  width: 100%;
 font-size: 1.1rem;
 text-align: left;
 margin-bottom: 10px;
}

.caution_box ul{
  width: 100%;
  list-style: none; /* デフォルトの点を消す */
  padding: 0;
  margin: 0;
}

.caution_box ul li{
  font-size: 1.1rem;
  line-height: 1.8;

      text-indent: -1em; /* 「※」を少し外に出して揃える調整 */
  padding-left: 1em;
  text-align: left;
}


}

/* ----------------------------------------------------------------
    content02
----------------------------------------------------------------- */
.content-inner{
  width: 90%;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.bg-yellow{
  background-image: url(/ist_tokuten/common/images/bg-yellow.png);
  background-size: auto;
  padding: 120px 0;
}

.flex{
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;

}

.flex_l{
  width: 45%;
  text-align: left;
}

.flex_r{
  width: 46.3%;
  height: auto;
}

.flex_r img{
width: 100%;
  height: auto;
  display: block;      /* 下の隙間を消す */
}


.content02 .content-inner{
  margin-right: auto;
  margin-left: auto;
}

h2{
  font-size: 4.8rem;
  line-height: 1.3;
  font-weight: 700;
}
h2 + p{
  margin-top: 40px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.strong{
  color: #CC3D3D;
  font-weight: 700;
}

.f36{
  font-size: 3.6rem;
}

.benefit_box{
  margin-top: 80px;
  background-color: #fff;
  border-radius: 10px;
  padding: 0px 100px 60px;
  box-sizing: 0px 0px 20px rgba(136, 136, 136, 0.2);
}


.content02 .benefit_box .gekkei ul{
  list-style: none;
  margin: 0;
  padding: 0;
  color: var(--main-dark-blue);
}

.ml03em{
  margin-left:0.3em;
}


.num {
  /* 円を作る設定 */
  display: inline-flex;      /* 中の数字を中央に寄せるため */
  align-items: center;       /* 上下中央 */
  justify-content: center;    /* 左右中央 */
  width: 24px;               /* 円の幅 */
  height: 24px;              /* 円の高さ（幅と同じにする） */
  background-color: #004165; /* 画像と同じ濃紺色 */
  color: #ffffff;            /* 数字の色 */
  border-radius: 50%;        /* 正方形を円にする */
  
  /* 数字の見た目調整 */
  font-size: 1.4rem;           /* 数字の大きさ */
  font-weight: bold;         /* 太字 */
  line-height: 1;            /* 行間によるズレを防止 */
  flex-shrink: 0; /* 円が潰れないように固定 */

  position: relative;
  top: -5px; /* 数値は適宜調整してください */
  margin-right: 0.5em;
}

.content02 .benefit_box .midashi{
  font-size: 2.6rem;
  font-weight: 700;
    margin-bottom: 0 !important; /* 他のスタイルより優先させる場合 */
    text-align: left;
    line-height: 112%;    
    align-items: center;
}


.benefit_box .txt{
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 40px;
}



.content02 .caution_box{
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  max-width: 1080px;
  margin: 0 auto;
  padding: 20px 40px; /* カード内の余白 */
  background-image: url(/ist_tokuten/common/images/bg-yellow.png);
  background-size: auto;
  border-radius: 10px; /* 角丸 */
  opacity:0.8;
}

.caution_box p{
 font-size: 1.6rem;
 width: 10%; /* 400px相当 */
  margin: 0;
  text-align: center; /* デザインに合わせて調整 */
}

.caution_box ul{
width: 85%; /* 500px相当 */
  list-style: none; /* デフォルトの点を消す */
  padding: 0;
  margin: 0;
}

.caution_box ul li{
  font-size: 1.2rem;
  line-height: 1.8;
  text-indent: -1em; /* 「※」を少し外に出して揃える調整 */
  padding-left: 1em;
  text-align: left;
}


@media screen and (max-width: 768px) {
.bg-yellow{
    padding: 60px 0;
  }

  .bg-white{
    padding: 60px 0;
  }
  .content02 h2{
    font-size: 3.2rem;
    line-height: 1.4;
  }
  h2 + p{
    margin-top: 20px;
    font-size: 1.5rem;
    text-align: left;
  }
  .benefit_box{
    padding: 40px 20px;
  }

  .f36{
  font-size: 2.8rem;
}


.content02 .benefit_box .gekkei ul {
    display: flex;
    flex-wrap: wrap; /* 横幅がいっぱいになったら次の行へ */
    justify-content: center; /* 左右に少し隙間を作る */
    text-align: center;
  }

  .ml12em{
    margin-left: 1.2em;
  }

  /* 1番目と2番目を横並び */
  .content02 .benefit_box .gekkei ul li:nth-child(1)
 {

  }

    /* 1番目と2番目を横並び */
  .content02 .benefit_box .gekkei ul li:nth-child(2) {

    margin-left: 0.2em;

  }

  /* 3番目を100%幅に */
  .content02 .benefit_box .gekkei ul li:nth-child(3) {
    width: 100%;
    margin-top: 5px;
    text-align: center;
    line-height: 130%;
    /* text-indentとpadding-leftは削除してFlexに任せる */
  }



  .content02 .benefit_box .midashi{

    font-size: 1.7rem;
    white-space: normal !important;
    text-indent: 0;      /* インデント設定を一度リセット */
    padding-left: 0;     /* パディングをリセット */
    margin-bottom: 0;    /* 個別の余白はgapで制御 */
  }

  
.num {
  /* 円を作る設定 */
  display: inline-flex;
    align-items: center;
    justify-content: center;
  width: 15px;               /* 円の幅 */
  height: 15px;              /* 円の高さ（幅と同じにする） */
  background-color: #004165; /* 画像と同じ濃紺色 */
  color: #ffffff;            /* 数字の色 */
  border-radius: 50%;        /* 正方形を円にする */
  
  /* 数字の見た目調整 */
  font-size: 0.9rem;           /* 数字の大きさ */
  font-weight: bold;         /* 太字 */
  line-height: 1;            /* 行間によるズレを防止 */
  flex-shrink: 0; /* 円が潰れないように固定 */
  margin-right: 3px; /* テキストとの間隔 */
  position: relative;
  top: -3px; /* 数値は適宜調整してください */
}


  .benefit_box .txt{
    font-size: 1.5rem;
    text-align: left;
  }
  .flex{
    flex-direction: column; /* 縦並びに変更 */
  }

   .flex_l{
    width: 100%;
    text-align: center;
  }

    .flex_r{
    width: 100%;
    margin-top: 20px;
    max-height: none;
  }

.benefit_box{
  margin-top: 40px;
  padding: 40px 20px;
  box-sizing: 0px 0px 20px rgba(136, 136, 136, 0.2);
}
.benefit_box .midashi{
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 30px;
}
.benefit_box .txt{
  font-size: 1.5rem;
  text-align: left;
  margin-bottom: 30px;
}

.benefit_box .f58{
  font-size: 3.2rem;
}

.content02 .caution_box{
  flex-direction: column; /* 縦並びに変更 */
  text-align: left;
  margin: 0 auto;
  padding: 20px 20px; /* カード内の余白 */
  background-color: #ffffff;
  border-radius: 10px; /* 角丸 */
  opacity:0.8;
}

.caution_box p{
  width: 100%;
 font-size: 1.1rem;
 text-align: left;
 margin-bottom: 10px;
}

.caution_box ul{
  width: 100%;
  list-style: none; /* デフォルトの点を消す */
  padding: 0;
  margin: 0;
}

.caution_box ul li{
  font-size: 1.1rem;
  line-height: 1.8;

      text-indent: -1em; /* 「※」を少し外に出して揃える調整 */
  padding-left: 1em;
  text-align: left;
}


}

/* ----------------------------------------------------------------
    content03
----------------------------------------------------------------- */

.content03{
  padding-bottom: 120px;
}

.content03 .content-inner{
  margin-right: auto;
  margin-left: auto;
}

.btn-box{
  margin-top: 80px;
  display: flex;
  justify-content: center;
  align-items: center;     /* 上下中央（必要に応じて） */
  max-width: 1080px;       /* コンテナの最大幅 */
  width: 100%;             /* 親要素に対して可変 */
  gap: calc(60 / 1080 * 100%);
}



@media screen and (max-width: 768px) {
  .content03{
  padding-bottom: 60px;
}
  .content03 h2{
    font-size: 3.2rem;
    line-height: 1.4;
  }

  .btn-box{
  margin-top: 40px;
flex-direction: column; /* 縦並びに変更 */
  align-items: center;     /* 上下中央（必要に応じて） */
    gap: 20px;

}
  

}



/* ----------------------------------------------------------------
    content04
----------------------------------------------------------------- */

.content04{
  padding-bottom: 120px;
}

.content04 .infomation:first-child{
  margin-bottom: 40px;

}
.content04 .infomation{
  border-radius: 10px;
  padding: 60px 40px;
  background-color: #fff;
}

.content04 .infomation .midashi{
  font-size: 2.4rem;
  font-weight: 700;
}
.content04 .infomation .txt{
  font-size: 1.6rem;
  line-height: 1.8;
}


@media screen and (max-width: 768px) {
  .content04{
  padding-bottom: 60px;
}
  .content04 .infomation{
    padding: 40px 20px;
  }
  .content04 .infomation .midashi{
    font-size: 2rem;
  }
  .content04 .infomation .txt{
    font-size: 1.5rem;
    text-align: left;
  }
}


/* ----------------------------------------------------------------
    上部バッジ
----------------------------------------------------------------- */

/* 上部バッジ */
.badge {
  display: inline-block; /* 幅を持たせるために必要 */
  margin-top: -18px;      /* ★ ネガティブマージンで上に突き抜けさせる */
  margin-bottom: 40px;   /* 下のコンテンツとの距離 */
  background-color: #004165;
  color: #fff;
  padding: 10px 30px;
  font-size: 1.8rem;
  border-radius: 100px;
  vertical-align: top;   /* 隙間調整用 */
}



@media screen and (max-width: 768px) {
.badge {
    /* スマホでは少し文字を小さく、左右のパディングを調整 */
    font-size: 1.6rem;
    padding: 6px 20px;
    margin-top: -55px; /* バッジが小さくなる分、飛び出し量も微調整 */
    margin-bottom: 20px;
  }
}

/* ----------------------------------------------------------------
    月桂冠
----------------------------------------------------------------- */

/* 親要素をFlexboxにする */
.gekkei {
  display: flex;
  align-items: center;      /* 上下中央揃え */
  justify-content: center;   /* 左右中央揃え */
  gap: 20px;                /* 月桂冠とテキストの間の距離（直感的！） */
  margin-bottom: 40px;
}


/* 月桂冠の基本サイズ */
.gekkei-icon {
  width: 46px;
  height: auto;
  display: block;
  margin: 0;
}

/* 右側だけ反転させる */
.gekkei-icon.right {
  transform: scaleX(-1);
}



@media screen and (max-width: 768px) {
  .gekkei {
    gap: 10px;              /* スマホでは間隔を狭く */
    margin-bottom: 30px;
    margin-top: -15px;
  }

  .gekkei-icon {
    width: 20px;            /* スマホではアイコンを小さく */
  }
}