/* ---- Avoid deprecated UA heading sizing (H1UserAgentFontSizeInSection) ---- */
/* 見出しサイズは UA 既定に依存せず明示的に定義する */
:root{
  --h1: clamp(28px, 4.5vw, 40px);
  --h2: clamp(24px, 4vw, 36px);
  --h3: clamp(20px, 3.2vw, 30px);
  --h4: clamp(18px, 2.6vw, 24px);
  --h5: clamp(16px, 2.2vw, 20px);
  --h6: clamp(15px, 2vw, 18px);
}
/* UA の section ネストに伴う h1 の暗黙スケーリングに頼らない */
h1{ font-size: var(--h1); }
h2{ font-size: var(--h2); }
h3{ font-size: var(--h3); }
h4{ font-size: var(--h4); }
h5{ font-size: var(--h5); }
h6{ font-size: var(--h6); }

/* 基本スタイル */
* {
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.2;
    width: 100%;
    min-width: 360px;
    margin: 0 auto;
    text-align: center;
}

.sp_only {
    display: none;
}

li {
    list-style: none;
}

iframe {
    margin: 6% 0;
}

.cnts_width {
    width: 1200px;
    min-width: 737px;
    margin: 0 auto;
}

section {
    padding: 2rem 1rem;
}

:root { --base-delay: .5s; }
.inview-wrap [class^='iv-'],
:not(.inview-wrap) [class^='iv-'] {
  transition: all .8s ease;
  opacity: 0;
  visibility: hidden;
  position: relative;
  transition-delay: var(--base-delay);
}
.inview-wrap.is-inview [class^='iv-'],
:not(.inview-wrap) [class^='iv-'].is-inview {
  opacity: 1;
  visibility: visible;
}
.inview-wrap.is-inview [class^='iv-fade'],
:not(.inview-wrap) [class^='iv-fade'].is-inview {
  transform: translate(0,0);
}
.iv-fadeup {
  transform: translate(0, 30px);
}
.iv-fadedown {
  transform: translate(0, -30px);
}
.iv-fadeleft {
  transform: translate(-30px, 0);
}
.iv-faderight {
  transform: translate(30px, 0);
}
.iv-bar {
  height: 0%;
}

.cnt_ctch {
    padding:0;
}
#catch-image {
  padding: 0;
  padding-top: min(56%, 880px);
  position: relative;
  overflow: hidden;
}

#catch-image .top-bg { ... opacity: 1; transform: none; ... }
#catch-image .top-bg.on { transform: scale(1); /* opacity:1 のまま */ }

#catch-image .top-desc {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  width: 506px;
  height: 54px;
  background: url(img/1x/bg_top_desc.png) center center / cover;
  padding-left: 60px;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity .3s, transform .6s ease-out;
} 
#catch-image .top-desc.on {
  opacity: 1;
  transform: translateX(0);
}

#catch-image .top-ttl-01 {
  width: min(36.18vw, 580px);
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(calc(-50% - 30px), -100%);
  transition: opacity .3s, transform .6s ease-out;
}
#catch-image .top-ttl-01.on {
  opacity: 1;
  transform: translate(calc(-50%), -100%);
}

#catch-image .top-ttl-02 {
  width: min(38.75vw, 620px);
  position: absolute;
  bottom: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(calc(-50% + 30px), 100%);
  transition: opacity .3s, transform .6s ease-out;
}
#catch-image .top-ttl-02.on {
  opacity: 1;
  transform: translate(calc(-50%), 100%);
}

#catch-image .top-ttl-multipl {
  width: min(12.18vw, 195px);
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-90deg);
  transition: opacity .3s, transform .4s ease-out;
}
#catch-image .top-ttl-multipl.on {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}

#catch-image .top-img-quattro {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(calc(-160% - 30px), -50%);
  transition: opacity .6s ease-in, transform 1s ease-out;
}
#catch-image .top-img-quattro img {
  width: min(28.62vw, 458px);
}
#catch-image .top-img-quattro.on {
  opacity: 1;
  transform: translate(-160%, -50%);
}

#catch-image .top-img-disposer {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(calc(36% + 30px), -50%);
  transition: opacity .6s ease-in, transform 1s ease-out;
}
#catch-image .top-img-disposer img {
  width: min(37.8vw, 605px);
}
#catch-image .top-img-disposer.on {
  opacity: 1;
  transform: translate(36%, -50%);
}

.fixed-button {
    position: fixed;
    text-align: center;
    line-height: 1.5;
    cursor: pointer;
    font-size: 16px;
    background: linear-gradient(180deg, rgb(86 143 231 / 80%) 0%, rgb(86 143 231 / 80%) 50%, rgb(66 128 230 / 80%) 50%, rgb(66 128 230 / 80%) 100%);
    z-index: 1000;
    transition: .3s;
}
#button1 {
    right: 20px;
    bottom: -100px;
    height: 80px;
    width: 240px;
    padding: 0;
}
:where(.cnt_ctch.scroll-top) #button1 {
    transform: translateY(-120px);
}
:where(.cnt_ctch:not(.scroll-top)) #button1 {
    transform: translateY(0);
}
#button2 {
    right: 0;
    bottom: 150px;
    height: 160px;
    width: 70px;
    writing-mode: vertical-rl;
}
.cnt_ctch.scroll-mid #button2 {
    transform: translateX(0);
}
:where(.cnt_ctch:not(.scroll-mid)) #button2 {
    transform: translateX(100%);
}

.fixed-button a {
    color: #fff;
    text-decoration: none;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#button2 a {
    width: 66px;
}


.ft_size_48 {
    color: #2485c3;
    font-size: 48px;
    text-align: center;
    line-height: 1.5;
    text-shadow: 0px 0px 20px #fff;
}

.text_color_666 {
    color: #666666;
}

.ft_size_16 {
    font-size: 16px;
}

.ft_size_18 {
    font-size: 16px;
}

.ft_size_20 {
    font-size: 20px;
}

.ft_size_24 {
    font-size: 24px;
    margin-top: 4%;
}

.ft_size_30 {
    font-size: 30px;
}

.ft_size_32 {
    font-size: 32px;
}

.ft_size_36 {
    font-size: 36px;
}

.ft_size_40 {
    font-size: 40px;
}

.main_cnt1 {
    background-image: url(img/1x/img_cnt1_bg.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    /*margin-top: -1%;*/
}

.main_cnt1 .cnts_width {
    margin-top: 4%;
}

.main_cnt1 ul {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin: 2% 0;
    padding: 0;
}

.main_cnt1 ul li {
    width: 50%;
    height: 100%;
    align-items: stretch;
    border: 1px solid #bebebe;
    border-radius: 10px;
    margin: 2%;
    position: relative;
    padding: 4%;
    flex: 1;
}

.main_cnt1 ul li:nth-child(1):after {
    content: url('img/1x/main_cnt1_li_img_after.png');
    display: inline-block;
    position: absolute;
    right: -8%;
    bottom: 50%;
}

.main_cnt1 h3 {
    margin: 6% 0;
}

.main_cnt1 ul li>p {
    font-size: 15px;
    line-height: 1.6;
}

.main_cnt1 ul li >img {
    display: inline-block;
    margin: 2% 0  10% 0;
}

.main_cnt1 ul li:nth-child(1) >img {
    width: 43%;
}

.main_cnt1 ul li:nth-child(2) >img {
    width: 94%;
}

.main_cnt1_img_3 {
    width: 80%;
}

.main_cnt2 {
    background-color: #e8e8e8;
    padding: 6% 0;
}

.main_cnt2 h2 {
    color: #333333;
    display: inline-block;
}

.decorated-text {
    position: relative;
    padding: 0 50px;
 /* テキストの左右にスペースを確保 */
    overflow: visible;
 /* 線が見切れないように */
}

.decorated-text::before,
.decorated-text::after {
    content: "";
    position: absolute;
    top: 50%;
 /* 線をテキストの中心に配置 */
    width: 200px;
 /* 線の長さ */
    height: 2px;
 /* 線の太さ */
    background: #000;
 /* 線の色 */
}

.decorated-text::before {
    left: calc(-100px - 70px);
 /* テキストの左側に配置 */
}

.decorated-text::after {
    right: calc(-100px - 70px);
 /* テキストの右側に配置 */
}

.main_cnt2_ul {
    display: flex;
    align-items: stretch;
    margin: 2% 0;
    padding: 0;
    flex-direction: row;
    justify-content: space-evenly;
    flex-wrap: nowrap;
}

.main_cnt2_ul>li {
    color: #fff;
    display: inline-block;
    padding: 2%;
    background-color: #808080;
    border-radius: 4%;
    width: 30%;
    margin: 2% 0;
    position: relative;
}

.main_cnt2_ul>li>p {
    font-size: 20px;
}

.main_cnt2_ul>li> ul li {
    list-style: inside;
    text-align: left;
    line-height: 2;
}

.main_cnt2_ul>li:nth-child(1)>p::after {
    content: url('img/1x/main_cnt2_ul_li1.png');
}

.main_cnt2_ul>li:nth-child(2)>p::after {
    content: url('img/1x/main_cnt2_ul_li2.png');
}

.main_cnt2_ul>li>p::after {
    transform: scale(0.8);
    position: absolute;
    width: 190px;
}

.main_cnt2>.cnts_width>p {
    font-size: 20px;
    margin-top: 4%;
    line-height: 1.6;
}

.main_cnt2>.cnts_width>h3 {
    margin-top: 8%;
    line-height: 1.8;
}

#cnt2_animation {
  width: 1110px;
  height: 436px;
  margin: 0 auto;
  position: relative;
}
#cnt2_animation > * {
  position: absolute;
}
#cnt2_animation > *:nth-child(1) {
  width: 18%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#cnt2_animation > *:nth-child(2) {
  width: 30.27%;
  bottom: 26%;
  left: 0;
}
#cnt2_animation > *:nth-child(3) {
  width: 19.63%;
  top: 0;
  right: 21%;
}
#cnt2_animation > *:nth-child(4) {
  width: 22.79%;
  bottom: 58%;
  right: 4%;
}
#cnt2_animation > *:nth-child(5) {
  width: 21.89%;
  top: 0;
  left: 21%;
}
#cnt2_animation > *:nth-child(6) {
  width: 22.43%;
  bottom: 29%;
  right: 0;
}
#cnt2_animation > *:nth-child(7) {
  width: 23.15%;
  bottom: 0;
  left: 14%;
}
#cnt2_animation > *:nth-child(8) {
  width: 22.79%;
  bottom: 2%;
  right: 15%;
}

.triangle-background {
    position: relative;
}

.triangle-background::after {
    content: "";
    position: absolute;
    bottom: -3%;
 /* 下部に配置 */
    left: 50%;
 /* 中央に配置 */
    width: 0;
    height: 0;
    border-left: 80px solid transparent;
 /* 左の境界線 */
    border-right: 80px solid transparent;
 /* 右の境界線 */
    border-top: 50px solid #e8e8e8;
 /* 上の境界線（三角形の色） */
    transform: translateX(-50%);
 /* 中央に正確に配置するための調整 */
}

.main_cnt3 {
    margin-top: 4%;
}

.main_cnt3 p {
    font-weight: bold;
}

.main_cnt3 h2 {
    margin-top: 4%;
}

.main_cnt3 h2 span {
    position: relative;
    display: inline-block;
}

.main_cnt3 h2 span::after {
    content: "";
    position: absolute;
    bottom: 0;
 /* Aligns the underline at the bottom of the text */
    left: 0;
    right: 0;
    border-bottom: 18px solid #eee021;
 /* Your existing border style */
    z-index: -1;
}

.main_cnt3 img {
    margin-top: 6%;
    width: 36%;
}

#cnt3_animation {
  width: 624px;
  height: 468px;
  margin: 0 auto;
  position: relative;
}
#cnt3_animation > * {
  width: auto;
  position: absolute;
}
#cnt3_animation > *:nth-child(1) {
  width: 86.86%;
  top: 46%;
  left: 50%;
  transform: translateX(-50%);
}
#cnt3_animation > *:nth-child(2) {
  width: 32%;
  top: 0;
  left: 0;
  transition-delay: calc( var(--base-delay) + .5s );
}
#cnt3_animation > *:nth-child(3) {
  width: 32%;
  top: 0;
  right: 0;
  transition-delay: calc( var(--base-delay) + .7s );
}
#cnt3_animation > *:nth-child(4) {
  width: 64.1%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition-delay: calc( var(--base-delay) + 1.5s );
}

.main_cnt4 {
    background-color: #d7eaf0;
    margin-top: 4%;
    padding: 2rem 1rem 0 1rem;
}

.main_cnt4 p {
    font-weight: bold;
    margin-top: 4%;
}

.main_cnt4 h2 {
    margin-top: 4%;
    letter-spacing: .4em;
}

.main_cnt4 h2 span {
    color: #0f71ae;
}

.main_cnt4 h2 span>span {
    font-size: 60px;
}

#cnt4_animation {
  width: 1200px;
  height: 960px;
  margin: 30px auto 0;
  position: relative;
}
#cnt4_animation > * {
  position: absolute;
}
#cnt4_animation > *:nth-child(1) {
  width: 46.33%;
  top: 0;
  left: 0;
}
#cnt4_animation > *:nth-child(2) {
  width: 46.33%;
  top: 0;
  right: 0;
  transition-delay: calc( var(--base-delay) + .3s );
}
#cnt4_animation > *:nth-child(3) {
  width: 80.5%;
  bottom: -.5%;
  left: 50%;
  transform: translateX(-50%);
  transition-delay: calc( var(--base-delay) + 1s );
}

.main_cnt5 {
    background-image: url(img/1x/img_cnt5_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.main_cnt5 h2 {
    margin-top: 4%;
}

.main_cnt5 h2 img {
    width: 45%;
}

.main_cnt5 .main_cnt5_good {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    width: 90%;
    margin: 0 auto;
    margin-top: 4%;
}

.main_cnt5 .main_cnt5_good img {
    width: 20%;
}

.main_cnt5 .main_cnt5_good ul {
    text-align: left;
    padding: 0 4%;
    width: 50%;
}

.main_cnt5 .main_cnt5_good li {
    border-left: 4px solid #abd0f0;
    padding-left: 2%;
    letter-spacing: .1em;
    margin-bottom: 5%;
}

.main_cnt5 .main_cnt5_good ul .text_bold {
    font-weight: bold;
}

.main_cnt5 .main_cnt5_good ul li:first-child .text_bold {
    margin-top: 0;
}

.main_cnt5 .main_cnt5_good ul p {
    line-height: 2;
}

.main_cnt5 .main_cnt5_good .main_cnt5_good_point {
    background-color: #e4e4e4;
    border-left: 0px;
    border-radius: 20px;
    padding: 4%;
}

.main_cnt5_good_point::before {
    content: url(img/1x/img_cnt5_list.png);
    vertical-align: text-top;
}

.main_cnt5 .main_cnt5_good .main_cnt5_good_point .ft_size_24 {
    margin-top: 0!important;
    display: inline-block;
    vertical-align: sub;
}

.main_cnt5 .main_cnt5_way {
    margin-top: 6%;
    border: 1px solid #bebebe;
    padding: 4% 0;
}

.main_cnt5 .main_cnt5_way h4 {
    background-color: #0f71ae;
    color: #fff;
    display: inline-block;
    padding: .1% 8%;
    border-radius: 50px;
    letter-spacing: .2em;
}

.main_cnt5 .main_cnt5_way .main_cnt5_way_list {
    display: inline-flex;
    width: 48%;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

.main_cnt5 .main_cnt5_way .main_cnt5_way_list dt {
    color: #8b8b8b;
    letter-spacing: .2em;
    position: relative;
    display: inline-block;
}

.main_cnt5 .main_cnt5_way .main_cnt5_way_list dt::after {
    content: "";
    position: absolute;
    width: 60%;
 /* テキストの幅の80%の長さ */
    height: 2px;
 /* 線の太さ */
    background-color: #8b8b8b;
 /* 線の色 */
    bottom: -5px;
 /* テキストの下からの位置 */
    left: 10%;
 /* 左からの位置を調整して中央に配置 */
}

.main_cnt5 .main_cnt5_way .main_cnt5_way_list dd {
    margin-top: 30px;
    letter-spacing: .2em;
    line-height: 200%;
}

.main_cnt6 {
    margin-top: 4%;
}

.main_cnt6_title {
    display: inline-block;
    width: 60%;
    text-align: left;
}

.main_cnt6_title img {
    width: 20%;
}

.main_cnt6_title h2 {
    letter-spacing: .1em;
    border-bottom: 2px solid #8b8b8b;
    padding-bottom: 20px;
    margin-top: 3%;
}

.main_cnt6_title p {
    line-height: 1.8;
    margin-top: 3%;
}

.main_cnt6_title_img {
    display: inline-block;
    width: 30%;
}

.main_cnt6_title_img img {
    width: 62%;
    padding-top: 4%;
    line-height: 4%;
}

.main_cnt6 .cnts_width > .main_cnt6_title_img+img {
    margin-top: 4%;
}

.main_cnt6 .ft_size_18 {
    letter-spacing: .1em;
    font-weight: bold;
}

.main_cnt6 .ft_size_18 span {
    display: inline-block;
    font-weight: normal;
    margin-top: 1%;
}

.main_cnt6 p+p {
    background: linear-gradient(-180deg, rgb(86 143 231 / 80%) 0%, rgb(86 143 231 / 80%) 50%, rgb(66 128 230 / 80%) 50%, rgb(66 128 230 / 80%) 100%);
    padding: 2% 0;
    border-radius: 100px;
    width: 60%;
    display: inline-block;
    margin-top: 3%;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
 /* X軸, Y軸, ブラーの半径, 色 */
}

.main_cnt6 p>a {
    margin-top: 0;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    display: block;
    width: 100%;
}

.main_cnt7 {
    background-color: #e8e8e8;
    margin-top: 4%;
    padding: 4% 0;
}

.main_cnt7 .main_cnt7_haigh {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-evenly;
    margin-bottom: 4%;
}

.main_cnt7_haigh .main_cnt7_haigh_title {
    position: relative;
    padding: 4%;
    flex: 1;
}

.main_cnt7_haigh .main_cnt7_haigh_title::after {
    content: url(img/1x/main_cnt7_bg_img1.png);
    display: inline-block;
    position: absolute;
    right: -27%;
    top: -6%;
    z-index: 0;
    overflow: hidden;
    transform: scale(0.8);
}

.main_cnt7 .main_cnt7_haigh_title,
.main_cnt7 ul {
    width: 44%;
}

.main_cnt7_haigh h2 {
    text-align: left;
}

.main_cnt7_haigh h2 img {
    border-bottom: 2px solid #8b8b8b;
}

.main_cnt7_haigh p {
    letter-spacing: .1em;
    text-align: left;
    line-height: 36px;
    margin-top: 4%;
}

.main_cnt7_haigh ul {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    z-index: 2;
}

.main_cnt7 .cnts_width > img {
    margin-bottom: 4%;
}

.main_cnt8 {
    text-align: left;
    ;
}

.main_cnt8 .cnts_width {
    margin-top: 4%;
}

.main_cnt8 h2 {
    line-height: 40px;
    padding-bottom: 1%;
    border-bottom: 2px solid #8b8b8b;
    display: inline-block;
    margin-bottom: 2%;
}

.main_cnt8 p {
    margin-bottom: 2%;
}

.main_cnt8 .cnts_width .main_cnt8_cnts {
    display: flex;
}

.main_cnt8_list {
    width: 56%;
    border-right: 4px dotted #a5a5a5;
    margin-right: 2%;
}

.main_cnt8_list p {
    margin-top: 4%;
}

.main_cnt8_list dl {
    margin-top: 4%;
    line-height: 26px;
}

.main_cnt8_list dt,
.main_cnt8_list dd {
    display: inline-block;
    vertical-align: top;
    margin-top: 4%;
}

.main_cnt8_list dt {
    width: 10%;
}

.main_cnt8_list dd {
    width: 80%;
}

.main_cnt8_list2 {
    line-height: 26px;
}

.main_cnt8_list2 img {
    display: block;
    width: 100%;
}

.main_cnt8_list2 p {
    margin-top: 4%;
}

.main_cnt8_list3 {
    position: relative;
    padding-bottom: 30%;
}

.main_cnt8_list3::after {
    content: url(img/1x/main_cnt8_img3.png);
    display: block;
    position: absolute;
    right: 0;
    top: -2%;
    z-index: 0;
    transform: scale(0.8);
}

.main_cnt8_list3 h3 {
    margin: 6% 0 0 0;
}

.main_cnt8_list3 .ft {
    color: #0f71ae;
    font-size: 60px;
    font-weight: bold;
}

.main_cnt8_list3 .ft > span:nth-child(1) {
    font-size: 104px;
}

.main_cnt8_list3 .ft > span:nth-child(2) {
    font-size: 14px;
    font-weight: unset;
    color: #000;
}

.main_cnt8_list3 .ft_size_16 {
    line-height: 26px;
}

.main_cnt8_list4 {
    margin-top: 8%;
}

.main_cnt8_list4 {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: row;
}

.main_cnt8_list4 p {
    line-height: 26px;
    margin-top: 3%;
}

.main_cnt8_list4 .ft_size_20 {
    font-weight: bold;
    border-bottom: 2px solid #8b8b8b;
    padding-bottom: 2%;
}

.main_cnt8_list5 {
    margin-top: 6%;
}

.main_cnt8_list5 h4 {
    font-weight: bold;
    padding-left: 2%;
    border-left: 6px solid #0f71ae;
}

.closeevent{
    color: #ffffff;
    background-color: #8b8b8b;
    padding: 4px;
    border-radius: 20%;
}

.main_cnt9 .ft_size_36 {
    margin-top: 4%;
    font-weight: bold;
}

.main_cnt9_list {
    background-color: #f1f1f1;
    padding: 3% 0 4% 0;
    margin-top: 4%;
    position: relative;
}

.main_cnt9_list::after {
    content: "";
    position: absolute;
    bottom: -8%;
    left: 50%;
    width: 0;
    height: 0;
    border-left: 80px solid transparent;
    border-right: 80px solid transparent;
    border-top: 50px solid #f1f1f1;
    transform: translateX(-50%);
    z-index: -1;
}

.main_cnt9_list h3 {
    color: #fff;
    background-color: #0f71ae;
    display: inline-block;
    padding: 1% 4%;
    border-radius: 30px;
}

.main_cnt9_list dl {
    margin-top: 2%;
    text-align: left;
    padding: 0 4%;
}

.main_cnt9_list dt,
 .main_cnt9_list dd {
    display: inline-block;
    vertical-align: top;
    margin-top: 2%;
}

.main_cnt9_list dt {
    color: #0f71ae;
    width: 16%;
    text-align: center;
    border-right: 2px solid #0f71ae;
    border-left: 2px solid #0f71ae;
}

.main_cnt9_list dd {
    width: 80%;
    margin-left: 2%;
}

.main_cnt9_list p {
    color: #666666;
    margin-top: 3%;
    border-bottom: 2px solid #666666;
    display: inline-block;
}

.main_cnt9 img {
    margin-top: 4%;
}

.main_cnt9 .ft_color {
    color: #0f71ae;
    margin-top: 1%;
}

.main_cnt9 .ft_top {
    margin-top: 4%;
}

#cnt9_animation {
  width: 1060px;
  height: 752px;
  margin: 30px auto 0;
  position: relative;
}
#cnt9_animation > * {
  margin-top: 0;
  position: absolute;
}
#cnt9_animation > *:nth-child(1) {
  width: 61.5%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#cnt9_animation > *:nth-child(2) {
  width: 49%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  transition-delay: calc( var(--base-delay) + 1.2s );
  transition-duration: 1.7s;
}
#cnt9_animation > *:not(:nth-child(1),:nth-child(2)) {
  width: 34.81%;
}
#cnt9_animation > *:nth-child(3) {
  top: 2%;
  left: 2%;
  transition-delay: calc( var(--base-delay) + .2s );
}
#cnt9_animation > *:nth-child(4) {
  top: 2%;
  right: 2%;
  transition-delay: calc( var(--base-delay) + .4s );
}
#cnt9_animation > *:nth-child(5) {
  bottom: 2%;
  left: 2%;
  transition-delay: calc( var(--base-delay) + .6s );
}
#cnt9_animation > *:nth-child(6) {
  bottom: 2%;
  right: 2%;
  transition-delay: calc( var(--base-delay) + .8s );
}

.main_cnt10 {
    margin-top: 4%;
}

.main_cnt10  .ft_size_36 {
    font-weight: bold;
    margin-top: 4%;
}

.main_cnt10 .main_cnt10_list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 4%;
    align-items: flex-start;
    justify-content: space-around;
}

.main_cnt10 .main_cnt10_list .main_cnt10_list_item1 {
    border: 1px solid #29b4e1;
    border-radius: 10px;
}

.main_cnt10 .main_cnt10_list .main_cnt10_list_item1 p {
    color: #fff;
    background-color: #29b4e1;
    border-radius: 8px 8px 0 0;
    padding: 2% 0;
}

.main_cnt10 .main_cnt10_list .main_cnt10_list_item1 ul li {
    text-align: left;
    margin: 4%;
}

.main_cnt10 .main_cnt10_list .main_cnt10_list_item1 ul li .ft_color {
    color: #29b4e1;
    font-weight: bold;
}

.main_cnt10 .main_cnt10_list .main_cnt10_list_item2 {
    border: 1px solid #0f71ae;
    margin-top: 6%;
    border-radius: 10px;
}

.main_cnt10 .main_cnt10_list .main_cnt10_list_item2 p {
    color: #fff;
    background-color: #0f71ae;
    border-radius: 8px 8px 0 0;
    padding: 2% 0;
}

.main_cnt10 .main_cnt10_list .main_cnt10_list_item2 ul li {
    text-align: left;
    margin: 4%;
}

.main_cnt10 .main_cnt10_list .main_cnt10_list_item2 ul li .ft_color {
    color: #0f71ae;
    font-weight: bold;
}

.main_cnt10 .main_cnt10_list p {
    font-weight: bold;
}

.main_cnt10 .main_cnt10_list .ft_size_24 {
    text-align: left;
    line-height: 38px;
    margin-top: 6%;
}

.main_cnt10 .main_cnt10_list_item li {
    position: relative;
    padding-left: 4%;
}

.main_cnt10 .main_cnt10_list_item1 li::before {
    content: url('img/1x/main_cnt10_img_list1.png');
    display: block;
    position: absolute;
    left: 0;
    z-index: 0;
    transform: scale(0.8);
}

.main_cnt10 .main_cnt10_list_item2 li::before {
    content: url('img/1x/main_cnt10_img_list2.png');
    display: block;
    position: absolute;
    left: 0;
    z-index: 0;
    transform: scale(0.8);
}

.main_cnt11 .ft_size_36 {
    font-weight: bold;
    margin-top: 4%;
}

.main_cnt11 img {
    margin-top: 4%;
}

.main_cnt11 .ft_size_24 {
    font-weight: bold;
}

#cnt11_animation {
  width: 1160px;
  height: 534px;
  margin: 0 auto;
  position: relative;
}
#cnt11_animation > * {
  position: absolute;
}
#cnt11_animation > *:nth-child(1) {
  width: 50.51%;
  top: 0;
  left: 0;
}
#cnt11_animation > *:nth-child(2) {
  width: 27.75%;
  bottom: 0;
  left: 10%;
}
#cnt11_animation > *:nth-child(3) {
  width: 50.51%;
  top: 0;
  right: 0;
  transition-delay: calc( var(--base-delay) + .6s );
}
#cnt11_animation > *:nth-child(4) {
  width: 32.67%;
  bottom: 0;
  right: 8%;
  transition-delay: calc( var(--base-delay) + .2s );
}
#cnt11_animation > *:nth-child(5) {
  width: 30.77%;
  bottom: 26%;
  left: 50%;
  transform: translateX(-50%);
  transition-delay: calc( var(--base-delay) + 1s );
}
#cnt11_animation + .iv-fadeup {
  transition-delay: calc( var(--base-delay) + 1s );
}

.main_cnt12 .ft_size_36 {
    font-weight: bold;
}

.main_cnt12_tablemain_cnt12_table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
}

.main_cnt12 table {
    margin-top: 4%;
    overflow-x: auto;
}

.main_cnt12 table thead tr th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.main_cnt12 table thead th {
    background-color: #b2b2b2;
    padding: 10px;
    text-align: center;
    border: 2px solid #fff;
}

.main_cnt12 table thead td {
    padding: 10px;
    border-bottom: 1px solid #ccc;
}

tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

.main_cnt12_table_list1 {
    width: 100%;
}

.main_cnt12 table thead .main_cnt12_bg_color1 {
    background-color: #6caeee;
}

.main_cnt12 table thead .main_cnt12_bg_color1 img {
    transform: scale(0.9);
}

.main_cnt12_table_list1 th:nth-child(1) {
    width: 6%;
}

.main_cnt12_table_list1 th:nth-child(2),
.main_cnt12_table_list1 th:nth-child(4),
.main_cnt12_table_list1 th:nth-child(5) {
    width: 24%;
}

.main_cnt12_table_list1 th {
    color: #fff;
}

.main_cnt12_table_list2 tr {
    background-color: #e0e0e0;
    margin: 0 auto;
}

.main_cnt12 table td {
    padding-top: 2%;
    padding-bottom: 2%;
    border: 2px solid #fff;
    position: relative;
}

.main_cnt12 table td span {
    font-size: 14px;
}

.main_cnt12_table_list2 {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-evenly;
    align-content: stretch;
    flex-direction: column;
    width: 5.2%;
}

.main_cnt12 table .main_cnt12_table_list_item {
    background-color: #e0e0e0;
    border: 2px solid #fff;
    color: #000;
    min-height: 15em;
}
.main_cnt12 table .main_cnt12_table_list_item span {
   -webkit-writing-mode: vertical-lr;
   -ms-writing-mode: tb-lr;
   writing-mode: vertical-lr;
   vertical-align: middle;
   white-space: nowrap;
}

.main_cnt12 table .main_cnt12_bg_color1 {
    background-color: #eef6fd;
}

.main_cnt12 table .main_cnt12_bg_color2 {
    background-color: #d8ebfd;
}



.main_cnt12 table td.icon_1::before,
.main_cnt12 table td.icon_2::before,
.main_cnt12 table td.icon_3::before,
.main_cnt12 table td.icon_4::before {
    display: block;
    position: absolute;
    z-index: 0;
    padding-left: 6%;
    top: 25%;
}

.main_cnt12 table td.icon_1::before {
    content: url('img/1x/main_cnt12_img_table_1.png');
}

.main_cnt12 table td.icon_2::before {
    content: url('img/1x/main_cnt12_img_table_2.png');
}

.main_cnt12 table td.icon_3::before {
    content: url('img/1x/main_cnt12_img_table_3.png');
}

.main_cnt12 table td.icon_4::before {
    content: url('img/1x/main_cnt12_img_table_5.png');
}

.main_cnt12_item {
    margin-top: 6%;
    border: 2px solid #b2b2b2;
    padding: 8% 4%;
    border-radius: 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
}

.main_cnt12_item .ft_size_26 {
    font-size: 26px;
    text-align: left;
    line-height: 1.8;
    font-weight: bold;
    border-bottom: 2px solid #989898;
    padding-bottom: 2%;
}

.main_cnt12_item .ft_size_16 {
    text-align: left;
    line-height: 1.6;
    padding-bottom: 2%;
    margin-top: 4%;
}

.main_cnt12 .ft_size_24 {
    font-weight: bold;
    line-height: 2;
    margin-top: 6%;
    margin-bottom: 8%;
}

#cnt12_animation {
  flex-shrink: 0;
  width: 421px;
  height: 354px;
  position: relative;
  background: url(img/1x/cnt12_chart_bg.png) 0 0 / 100% auto no-repeat; 
}
#cnt12_animation > * {
  position: absolute;
}
#cnt12_animation > * > * {
  display: block;
  position: absolute;
}
#cnt12_animation [id^="area-"] {
  width: 22.8%;
  height: 100%;
  bottom: 10.5%;
  position: absolute;
}
#cnt12_animation #area-bar01 {
  left: 20.2%;
}
#cnt12_animation #area-bar02 {
  left: 65.5%;
}
#cnt12_animation [id^="bar"] {
  width: 43.75%;
  bottom: 0;
  height: 0%;
}
#cnt12_animation #bar01-primary {
  background-color: #0f71bb;
  left: 0;
}
#cnt12_animation #bar01-secondary {
  background-color: #808080;
  right: 0;
}
#cnt12_animation #bar02-primary {
  background-color: #0f71bb;
  left: 0;
}
#cnt12_animation #bar02-secondary {
  background-color: #808080;
  right: 0;
}
#cnt12_animation.is-inview #bar01-primary.iv-bar{
  height: 7.34%;
}
#cnt12_animation.is-inview #bar01-secondary.iv-bar {
  height: 33.33%;
}
#cnt12_animation.is-inview #bar02-primary.iv-bar {
  height: 15.25%;
}
#cnt12_animation.is-inview #bar02-secondary.iv-bar {
  height: 71.75%;
}
#cnt12_animation [id^="num"] {
  color: #666;
  font-size: 16px;
  font-weight: bold;
  transition-delay: calc( var(--base-delay) + .5s ); 
}
#cnt12_animation #num01-primary {
  bottom: 9%;
  left: 17%;
}
#cnt12_animation #num01-secondary {
  bottom: 35%;
  left: 69%;
}
#cnt12_animation #num02-primary {
  bottom: 17%;
  left: 17%;
}
#cnt12_animation #num02-secondary {
  bottom: 73.5%;
  left: 69%;
}


.main_cnt13 {
    border-top: 2px solid #ccc;
}

.main_cnt13 .cnts_width {
    margin-top: 6%;
    margin-bottom: 6%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: stretch;
}

.main_cnt13 .main_cnt13_list > span {
    text-align: left;
    display: block;
}

.main_cnt13 .main_cnt13_list > h2 {
    margin-top: 3%;
    text-align: left;
    display: block;
}

.main_cnt13 h2 img {
    width: 90%;
}
.main_cnt13 .main_cnt13_list {
  width: 100%;
  max-width: 768px;
}
.main_cnt13 .main_cnt13_list li {
    text-align: left;
    font-weight: bold;
    line-height: 2;
    padding: 3% 0 2% 0;
    border-bottom: 2px dotted #61a0f3;
}

.main_cnt13 .main_cnt13_list li:nth-child(1) {
    border-top: 2px dotted #61a0f3;
}

.main_cnt13 .main_cnt13_list li:nth-child(2) {
    position: relative;
}

.main_cnt13 .main_cnt13_list li:nth-child(2)::after {
    content: url(img/1x/main_cnt13_list2_after.png);
    display: inline-block;
    z-index: 100;
    position: absolute;
    margin-top: -3%;
}

.main_cnt13 .main_cnt13_list li::before {
    content: url(img/1x/main_cnt13_img4.png);
    display: inline-block;
    position: relative;
    vertical-align: sub;
    z-index: 0;
    padding: 0 2%;
}

.main_cnt13 .main_cnt13_list p {
    text-align: left;
    font-weight: bold;
    line-height: 2;
    margin-top: 4%;
}

.main_cnt13 .main_cnt13_list p span {
    position: relative;
    display: inline-block;
}

.main_cnt13 .main_cnt13_list p span::after {
    content: "";
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
    border-bottom: 18px solid #eee021;
    z-index: -1;
}

.main_cnt13 img {
    width: 30%;
    transform: scale(0.9)!important;
}

.main_cnt14 {
    background-color: #e4f7fd;
}

.main_cnt14 .cnts_width {
    margin-top: 6%;
    margin-bottom: 6%;
}

.main_cnt14 h2 {
    color: #0f71bb;
    display: inline-block;
    position: relative;
}

.main_cnt14 h2::before {
    left: calc(-100px - 260px);
}

.main_cnt14 h2::after {
    right: calc(-100px - 260px);
}

.main_cnt14 h2::before,
.main_cnt14 h2::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 320px;
    height: 2px;
    background: #0f71bb;
}

.main_cnt14 img {
    width: 100%;
}

.main_cnt14 .ft_size_26 {
    font-size: 26px;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: .1em;
}

.main_cnt15 .cnts_width {
    margin-top: 6%;
    margin-bottom: 6%;
}

.main_cnt15 h2 {
    color: #0f71bb;
    display: inline-block;
    position: relative;
}

.main_cnt15 h2::before {
    left: calc(-100px - 260px);
}

.main_cnt15 h2::after {
    right: calc(-100px - 260px);
}

.main_cnt15 h2::before,
.main_cnt15 h2::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 320px;
    height: 2px;
    background: #0f71bb;
}

.main_cnt15 img {
    margin-top: 4%;
    margin-bottom: 4%;
}

.main_cnt15 p {
    font-size: 14px;
}

.main_cnt15 span {
    color: #ec1c24;
}

.main_cnt16 {
    background-color: #fafafa;
}

.main_cnt16 .cnts_width {
    margin-top: 6%;
    margin-bottom: 6%;
}

.main_cnt16 h2 {
    color: #0f71bb;
    display: inline-block;
    position: relative;
    margin-top: 2%;
}

.main_cnt16 h2::before {
    left: calc(-100px - 260px);
}

.main_cnt16 h2::after {
    right: calc(-100px - 260px);
}

.main_cnt16 h2::before,
.main_cnt16 h2::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 320px;
    height: 2px;
    background: #0f71bb;
}


.main_cnt16 .cnts_width > span {
    display: block;
    font-weight: bold;
    color: #666666;
    width: fit-content;
    margin: 0 auto;
    padding: 0 1em;
    position: relative;
}
.main_cnt16 .cnts_width > span::before {
    content: "＼";
    display: inline-block;
    font-weight: bold;
    color: #666666;
    position: absolute;
    left: 0;
    bottom: 0;
}
.main_cnt16 .cnts_width > span::after {
    content: "／";
    display: inline-block;
    font-weight: bold;
    color: #666666;
    position: absolute;
    right: 0;
    bottom: 0;
}




.main_cnt16 .cnts_width > div {
    margin-top: 6%;
    text-align: left;
}

.main_cnt16 .cnts_width > div > h3 {
    font-weight: bold;
    padding-left: 2%;
    margin-bottom: 1%;
    border-left: 6px solid #0f71ae;
}

.main_cnt16 .cnts_width div dl {
    border-top: 1px solid #666666;
}

.main_cnt16 .cnts_width div dt {
    position: relative;
    display: block;
}

.main_cnt16 .cnts_width  div dt {
    position: relative;
    display: block;
    padding: 1% 0;
    margin-top: 1%;
}

.main_cnt16 .cnts_width div dd {
    display: block;
    padding: 1% 0;
    border-bottom: 1px solid #cbcbcb;
}

.main_cnt16 .cnts_width div dd span {
    display: inline-block;
    font-weight: unset;
    color: #000;
    vertical-align: top;
    line-height: 1.4;
}

.main_cnt16 .cnts_width div dt::before {
    content: url(img/1x/main_cnt16_img1.png);
    display: inline-block;
    position: relative;
    vertical-align: sub;
    z-index: 0;
    padding: 0 2%;
}

.main_cnt16 .cnts_width div dd::before {
    content: url(img/1x/main_cnt16_img2.png);
    display: inline-block;
    position: relative;
    vertical-align: sub;
    z-index: 0;
    padding: 0 2%;
}

.main_cnt17 .cnts_width {
    margin-top: 6%;
    margin-bottom: 6%;
}

.main_cnt17 h2 {
    color: #0f71bb;
    display: inline-block;
    position: relative;
    margin-top: 2%;
}

.main_cnt17 h2::before {
    left: calc(-100px - 160px);
}

.main_cnt17 h2::after {
    right: calc(-100px - 160px);
}

.main_cnt17 h2::before,
.main_cnt17 h2::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 240px;
    height: 2px;
    background: #0f71bb;
}

.main_cnt17 .cnts_width > .main_cnt17_flex {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: stretch;
    text-align: left;
}

.main_cnt17 .cnts_width > div  h3 {
    font-weight: bold;
    padding-left: 2%;
    margin-bottom: 1%;
    border-left: 6px solid #0f71ae;
}

.main_cnt17 .cnts_width  .main_cnt17_flex div {
    width: 48%;
    margin-top: 4%;
}

.main_cnt17 .cnts_width  .main_cnt17_flex img {
    margin-top: 2%;
}

.main_cnt17 .cnts_width  .main_cnt17_flex > div> p {
    margin-top: 2%;
    line-height: 1.8;
}

.main_cnt17 .Society_list >li span {
    margin-bottom: 3%;
}

.main_cnt17 .cnts_width .main_cnt17_box {
    margin-top: 4%;
    border: 1px solid #0f71ae;
    padding: 4%;
    text-align: left;
    border-radius: 20px;
    background-image: url(img/1x/main_cnt17_bg_img.png);
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 50%;
}

.main_cnt17 .cnts_width .main_cnt17_box h3 {
    display: inline-block;
    width: 50%;
}

.main_cnt17 .cnts_width .main_cnt17_box .ft_size_18 {
    text-align: right;
}

.main_cnt18 {
    background-color: #e6e6e6;
}

.main_cnt18 .cnts_width {
    margin-top: 4%;
    padding-bottom: 4%;
}

.main_cnt18_flex ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
}

.main_cnt18_flex li {
    background-color: #fff;
    border-radius: 20px;
    width: 44%;
    text-align: left;
    padding: 4% 2% 3% 2%;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
 /* X軸, Y軸, ブラーの半径, 色 */
}

.main_cnt18_flex .main_cnt18_flex_list1 img {
    display: block;
}

.main_cnt18_flex .main_cnt18_flex_list1::after {
    content: url(img/1x/img_main_cnt18_img_list2.png);
    display: inline-block;
    position: relative;
    vertical-align: text-top;
    z-index: 0;
    padding: 0px 10%;
    margin-top: -32%;
    transform: scale(0.9);
}

.main_cnt18_flex .main_cnt18_flex_list2::after {
    content: url(img/1x/img_main_cnt18_img_list4.png);
    display: inline-block;
    position: relative;
    vertical-align: text-top;
    z-index: 0;
    margin-left: 50%;
    margin-top: -44%;
    transform: scale(0.8);
}

.main_cnt18_flex li a {
    border-radius: 30px;
    padding: 4% 10%;
    margin-top: 4%;
    font-weight: bold;
    display: inline-block;
    text-decoration: none;
}

.main_cnt18_flex li:nth-child(1) a {
    background: linear-gradient(-180deg, rgb(255 211 0 / 80%) 0%,  rgb(255 211 0 / 80%) 50%, rgb(255 196 0 / 80%) 50%, rgb(255 196 0 / 80%) 100%);
    color: #000;
    margin-top: 7%;
}

.main_cnt18_flex li:nth-child(2) a {
    background: linear-gradient(-180deg,#ff619d 0%, #ff619d 50%, #e63082 50%, #e63082 100%);
    color: #fff;
}

.main_cnt18 .cnts_width .ft_size_24 {
    font-weight: bold;
    margin-top: 4%;
}

.main_cnt18 .cnts_width > ul {
    margin-top: 4%;
    margin-bottom: 4%;
}

.main_cnt18 .cnts_width > ul li {
    background-color: #fff;
    border-radius: 20px;
    margin-bottom: 2%;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
 /* X軸, Y軸, ブラーの半径, 色 */
    text-align: left;
    padding: 3% 4%;
    position: relative;
}

.main_cnt18 .cnts_width > ul li p {
    margin-bottom: 2%;
}

.main_cnt18 .cnts_width > ul li a {
    border: 1px solid #989898;
    border-radius: 50px;
    padding: 1.4% 2%;
    font-weight: bold;
    color: #000;
    text-decoration: none;
    margin-top: 1%;
    display: inline-block;
    text-align: center;
}

.main_cnt18 .main_cnt18_flex_list3::after {
    content: url(img/1x/img_main_cnt18_img_list5.png);
    display: inline-block;
    position: absolute;
    z-index: 0;
    margin-top: -12%;
    transform: scale(0.9);
    margin-left: 8%;
    overflow: hidden;
}

.main_cnt18 .main_cnt18_flex_list4::after {
    content: url(img/1x/img_main_cnt18_img_list6.png);
    display: inline-block;
    position: absolute;
    z-index: 0;
    margin-top: -11.3%;
    transform: scale(0.9);
    margin-left: 3%;
}

.main_cnt18 .main_cnt18_flex_list5::after {
    content: url(img/1x/img_main_cnt18_img_list7.png);
    display: inline-block;
    position: absolute;
    z-index: 0;
    margin-top: -11.3%;
    transform: scale(0.9);
    margin-left: 1%;
}




/** 問い合わせ **/
.inquiry {
    margin-top: 4%;
}

.inquiry p {
    letter-spacing: 4px;
    font-weight: bold;
}

.inquiry p:nth-child(2) {
    width: 100%;
}

.inquiry a {
    background: linear-gradient(-180deg, rgb(86 143 231 / 80%) 0%, rgb(86 143 231 / 80%) 50%, rgb(66 128 230 / 80%) 50%, rgb(66 128 230 / 80%) 100%);
    display: inline-block;
    border-radius: 60px;
    padding: 2% 10%;
    text-decoration: none;
    color: #fff;
}

/** 学会 **/

.Society_list {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    margin-top: 2%;
}

.main_cnt8 .Society_list {
    flex-direction: row;
    justify-content: space-between;
}

.main_cnt17 .Society_list {
    flex-direction: column;
    justify-content: space-evenly;
    flex-wrap: nowrap;
}

.Society_list> li {
    border: 1px solid #a5a5a5;
    border-radius: 10px;
}

.main_cnt8 .Society_list > li {
    width: 44%;
 /* 2個ずつ並べるための幅 */
    padding: 2%;
    margin-bottom: 2%;
}

.main_cnt17 .Society_list > li {
    padding: 4% 2%;
    margin-bottom: 4%;
    height: 100%;
}

.Society_list .Society_list_item >li {
    display: inline-block;
    background-color: #d8d8d8;
    padding: 1.4% 2%;
    border-radius: 20px;
    font-weight: bold;
}

.main_cnt8 .Society_list .Society_list_item >li {
    margin-bottom: 2%;
}

.Society_list >li > p {
    font-weight: bold;
    margin-top: 2%;
}

.Society_list >li span {
    font-weight: normal;
    margin-bottom: 6%;
    display: block;
}

.main_cnt8 .Society_list >li span {
    margin-bottom: 6%;
}

.main_cnt18_flex_list3 .ft_size_30,
.main_cnt18_flex_list4 .ft_size_30,
.main_cnt18_flex_list5 .ft_size_30 {
    font-weight: bold;
}

.main_cnt17 .cnts_width > .Society_list {
    display: flex;
    flex-direction: column!important;
}

.main_cnt17 .cnts_width .ft_size_14 {
    font-size: 14px;
}


#source {
  line-height: 1.5;
  width: fit-content;
  margin: 3em auto 0;
}
#source > li {
  background: none;
  border-radius: 0;
  margin-bottom: 0;
  box-shadow: none;
  padding: 0;
  position: static;
  
  font-size: 90%;
  margin: 1em 0;
}

/** **/

/* セクションのスタイル */

footer {
    background: #afafaf;
    width: 100%;
    padding: 1rem 0;
}

footer .cnts_width {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

footer p {
    color: #fff;
}

footer a {
    color: #000;
    text-decoration: none;
    vertical-align: middle;
}

footer small {
    display: inline-block;
    margin-right: 20px;
}


/* レスポンシブスタイル */
@media (max-width: 992px) {
  
    #button1 {
      right: auto;
      bottom: 0;
      left: 0;
      height: 48px;
      width: 100%;
      transform: translateY(0);
    }
    .cnt_ctch.scroll-end #button1 {
      transform: translateY(48px);
    }
    #button2 {
      display: none;
    }
  
  
    .main_cnt1 {
        background-image: url(img/1x/main_cnt1_img_sp.png);
        margin-top: 0%;
        background-position: center;
        background-size: cover;
    }

    #cnt2_animation {
      width: 100%;
      height: auto;
      aspect-ratio: 1110 / 436;
    }
    #cnt4_animation {
      width: 100%;
      height: auto;
      aspect-ratio: 781 / 1986;
      overflow: hidden;
    }
    #cnt4_animation > *:nth-child(1) {
      width: 89.74%;
      top: 0;
      left: -11%;
    }
    #cnt4_animation > *:nth-child(2) {
      width: 89.74%;
      top: 34%;
      right: -11%;
    }
    #cnt4_animation > *:nth-child(3) {
      width: 100%;
      left: 0;
      transform: none;
    }
  
    .main_cnt5 {
        background-image: url(img/1x/main_cnt5_img_sp1.png);
        background-position: bottom;
    }

    .main_cnt6 p+p {
        width: 100%;
    }

    .inquiry a {
        width: 80%;
    }
  
    #cnt9_animation {
      width: 100%;
      height: auto;
      aspect-ratio: 45 / 32; 
    }
  
    #cnt11_animation {
      width: 100%;
      height: auto;
      aspect-ratio: 293 / 577;
      overflow: hidden;
    }  
    #cnt11_animation > * {
      margin-top: 0;
    }
    #cnt11_animation > *:nth-child(1) {
      width: 100%;
      top: 0;
      left: 52.5%;
      transform: translateX(-50%);
    }
    #cnt11_animation > *:nth-child(2) {
      width: auto;
      height: 9%;
      top: 33%;
      left: 50%;
      transform: translateX(-50%);
    }
    #cnt11_animation > *:nth-child(3) {
      width: 100%;
      top: 55%;
      right: 51.5%;
      transform: translateX(50%);
    }
    #cnt11_animation > *:nth-child(4) {
      width: auto;
      height: 9%;
      bottom: 2%;
      right: 50%;
      transform: translateX(50%);
    }
    #cnt11_animation > *:nth-child(5) {
      width: 34%;
      bottom: 46%;
      left: 50%;
      transform: translateX(-50%);
    }

  
    .main_cnt13 .main_cnt13_list {
      width: 100%;
      max-width: 563px;
    }

    .main_cnt13 .main_cnt13_list li:nth-child(2)::after {
        display: none;
    }

    .main_cnt13 .main_cnt13_list li:nth-child(2) >span {
        color: #0f71ba;
        padding: 2% 4%;
        border: 1px solid #0f71ba;
        border-radius: 20px;
            /* position: revert-layer; */
        display: inline-block;
        width: 80%;
        position: relative;
        left: 10%;
    }

    .main_cnt12_table {
        width: 100%;
        height: auto;
        border-collapse: collapse;
        overflow: auto;
        ;
    }

    thead th {
        position: sticky;
        top: 0;
        background-color: #fff;
 /* ヘッダーの背景色を設定 */
        z-index: 1;
        border-bottom: 2px solid #ccc;
        padding: 10px;
        text-align: left;
    }

    .main_cnt16 span {
        position: relative;
    }

    .main_cnt16 .cnts_width div dt {
        padding: 2% 0;
        margin-top: 2%;
    }

    .main_cnt10 .main_cnt10_list_item li {
        padding-left: 8%;
    }

    .main_cnt12_table_list1 th:nth-child(2), .main_cnt12_table_list1 th:nth-child(4), .main_cnt12_table_list1 th:nth-child(5) {
        width: 15%;
    }

    .main_cnt12 table thead th {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .main_cnt17 .cnts_width .main_cnt17_box {
        background-image: none;
        width: 91.5%;
        margin-bottom: 8%;
        padding: 6% 4%;
    }

    .main_cnt17 .cnts_width .main_cnt17_box h3 {
        display: block;
        width: 100%;
        margin: 4% 0;
    }

    .main_cnt17 .cnts_width .main_cnt17_box .ft_size_16 {
        margin: 4% 0;
    }

    .inquiry p {
        margin: 8% 0;
        letter-spacing: 1px;
    }
  
    #source > li {
      width: 100%;
    }
  
  
}

@media (max-width: 767px) {
  #catch-image {
    padding-top: 0;
    height: 720px
  }

  #catch-image .top-bg {
    background-image: url(img/1x/bg_top_sp.png);
  }

  #catch-image .top-desc {
    font-size: 18px;
    width: 350px;
    height: 36px;
    background-image: url(img/1x/bg_top_desc_sp.png);
    padding-left: 24px;
  }

  #catch-image .top-ttl-01 {
    width: 250px;
    top: 36px;
    left: 50%;
    transform: translate(calc(-78% - 30px), 0);
  }
  #catch-image .top-ttl-01.on {
    transform: translate(calc(-78%), 0);
  }

  #catch-image .top-ttl-02 {
    width: 280px;
    top: 186px;
    left: 50%;
    transform: translate(calc(-73% + 30px), 0);
  }
  #catch-image .top-ttl-02.on {
    transform: translate(-73%, 0);
  }

  #catch-image .top-ttl-multipl {
    width: 68px;
    top: 144px;
    left: 50%;
    transform: translateX(-146%) rotate(-90deg);
  }
  #catch-image .top-ttl-multipl.on {
    transform: translateX(-146%) rotate(0deg);
  }

  #catch-image .top-img-quattro {
    top: 300px;
    left: 50%;
    transform: translate(calc(-12% + 30px), 0);
  }
  #catch-image .top-img-quattro img {
    width: min(63.58vw, 248px);
  }
  #catch-image .top-img-quattro.on {
    transform: translate(-12%, 0);
  }

  #catch-image .top-img-disposer {
    top: 348px;
    left: 50%;
    transform: translate(calc(-78% - 30px), 0);
  }
  #catch-image .top-img-disposer img {
    width: min(71.28vw, 278px);
  }
  #catch-image .top-img-disposer.on {
    transform: translate(-78%, 0);
  }
  
  #cnt3_animation {
    width: 100%;
    height: auto;
    aspect-ratio: 156 / 117;
  }
  
}
  

@media (max-width: 375px) {
    .main_cnt13 .main_cnt13_list p span::before {
        content: "";
        position: absolute;
        bottom: 36px;
        left: 0;
        right: 0;
        border-bottom: 18px solid #eee021;
        z-index: -1;
    }

    .main_cnt13 .main_cnt13_list li::before {
        display: inline-block;
        position: relative;
        vertical-align: sub;
        z-index: 0;
        padding: 0 2%;
    }

    .main_cnt13 .main_cnt13_list li {
        padding: 1% 4% 1% 0;
        display: flex;
        line-height: 1.6;
    }

    .main_cnt13 .main_cnt13_list li:nth-child(2) {
        display: inline-block;
    }
}

/* 超小型デバイス（モバイル） */
@media (max-width: 576px) {
    header, footer {
        text-align: center;
    }

    nav ul li {
        display: block;
        margin: 10px 0;
    }

    .cnts_width {
        width: 92%;
        min-width: auto;
        margin: 0 auto;
    }

    img {
        width: 100%;
    }
  
  
    
    .sp_only {
        display: block!important ;
    }

    .pc_only {
        display: none!important ;
    }
  

    .ft_size_48 {
        font-size: 24px;
    }

    .ft_size_16 {
        font-size: 12px;
    }

    .ft_size_18 {
        font-size: 12px;
    }

    .ft_size_20 {
        font-size: 14px;
    }

    .ft_size_24 {
        font-size: 16px;
        margin-top: 4%;
    }

    .ft_size_30 {
        font-size: 18px;
    }

    .ft_size_32 {
        font-size: 22px;
    }

    .ft_size_36 {
        font-size: 22px;
    }

    .ft_size_40 {
        font-size: 24px;
    }

    .main_cnt1 ul {
        flex-direction: column;
        width: 100%;
    }

    .main_cnt1 ul li {
        width: 88%;
        margin-bottom: 20%;
    }

    .main_cnt1 ul li:nth-child(1):after {
        content: url(img/1x/main_cnt1_li_img_after.png);
        display: inline-block;
        position: absolute;
        right: 0%;
        bottom: -11%;
        width: 100%;
    }

    .main_cnt1 ul li>p {
        font-size: 14px;
    }

    .decorated-text::before, .decorated-text::after {
        display: none;
    }

    .main_cnt2_ul {
        flex-direction: column;
    }

    .main_cnt2_ul>li {
        width: 88%;
        border-radius: 20px;
        padding: 6%;
    }

    .main_cnt2_ul>li>p {
        margin-bottom: 6%;
    }

    .main_cnt2>.cnts_width>p {
        font-size: 18px;
        margin: 8% 0;
    }

    .main_cnt2_ul>li>p::after {
        width: 170px;
        height: 40px;
    }

    .main_cnt2>.cnts_width>h3 {
        margin-top: 14%;
        margin-bottom: 14%;
    }

    .main_cnt3 h2 {
        line-height: 1.6;
        margin-top: 8%;
    }

    .main_cnt3 h2 span::before {
        content: "";
        position: absolute;
        top: 18px;
        left: 0;
        right: 0;
        border-bottom: 18px solid #eee021;
        z-index: -1;
    }

    .main_cnt3 h2 span::after {
        width: 50%;
        text-align: center;
        margin: 0 auto;
    }

    .main_cnt3 p {
        margin-top: 6%;
        margin-bottom: 14%;
    }

    iframe {
        width: 94% !important;
    }

    .main_cnt3 img {
        margin-top: 10%;
        width: 80%;
    }

    .main_cnt4 {
        padding: 0!important;
    }

    .main_cnt4 .cnts_width {
        width: 100%!important;
    }

    .main_cnt4 h2 {
        letter-spacing: .2em;
    }

    .main_cnt4 p {
        padding-top: 8%;
    }

    .main_cnt4 img {
        width: 100%;
    }

    .main_cnt5 h2 img {
        width: 90%;
    }

    .main_cnt5 .main_cnt5_good {
        flex-direction: column;
        width: 100%;
    }

    .main_cnt5 .main_cnt5_good img {
        padding: 2% 0;
        width: 40%;
        margin-bottom: 6%;
    }

    .main_cnt5 .main_cnt5_good ul {
        width: 94%;
    }

    .main_cnt5 .main_cnt5_good li {
        margin-bottom: 10%;
    }

    .main_cnt5 .main_cnt5_good .main_cnt5_good_point {
        padding: 8%;
    }

    .main_cnt5 .main_cnt5_way h4 {
        margin: 8% 0;
        padding: 2.1% 8%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list dd {
        letter-spacing: .1em;
        line-height: 1.3;
        margin-bottom: 2%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list {
        width: 90%;
        margin-top: 10%;
        margin-bottom: 4%;
        flex-direction: column-reverse;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list img {
        margin: 0 2%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list:nth-child(3) img {
        display: inline-block;
        margin: -20% 2% -16% 2% !important;
        z-index: -1;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list dl {
        width: 80%;
    }

    .main_cnt6_title {
        width: 100%;
    }

    .main_cnt6_title img {
        width: auto;
    }

    .main_cnt6_title_img img {
        width: 100%;
        margin-top: 4%;
    }

    .main_cnt6_title_img {
        width: 100%;
    }

    .main_cnt6 p+p {
        width: 100%;
        margin-top: 10%;
    }

    .main_cnt6 .ft_size_18 span {
        margin-top: 5%;
    }

    .main_cnt7 .main_cnt7_haigh {
        flex-direction: column;
        margin-bottom: 2%;
        align-items: center;
    }

    .main_cnt7 .main_cnt7_haigh_title,
    .main_cnt7 ul {
        width: 92%;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .main_cnt7 ul {
        flex-direction: column;
    }

    .main_cnt7 li {
        margin-bottom: 4%;
    }

    .main_cnt7_haigh p {
        width: 90%;
        line-height: 28px;
    }

    .main_cnt7_haigh .main_cnt7_haigh_title::after {
        right: 7%;
    }

    .main_cnt7 .cnts_width > img {
        transform: scale(0.9);
    }

    .main_cnt8 .cnts_width .main_cnt8_cnts {
        flex-direction: column;
    }

    .main_cnt8 .cnts_width>div:first-child {
        flex-direction: column;
    }

    .main_cnt8_list dt {
        width: 15%;
    }

    .main_cnt8_list {
        width: 100%;
        border-right: 0px;
        border-bottom: 4px dotted #a5a5a5;
        margin-bottom: 6%;
        padding-bottom: 6%;
    }

    .main_cnt8_list dt {
        width: 15%;
    }

    main_cnt8_list3 .ft {
        font-size: 40px;
    }

    .main_cnt8_list3 .ft > span:nth-child(1) {
        font-size: 84px;
    }

    .main_cnt8_list3 .ft > span:nth-child(2) {
        display: block;
        margin: 4% 0;
    }

    .main_cnt8_list2 img {
        width: 100%;
        margin-top: 4%;
    }

    .main_cnt8_list3 {
        text-align: center;
    }

    .main_cnt8_list3 h3 {
        width: 60%;
        margin: 6% auto 0 auto;
    }

    .main_cnt8_list3::after {
        top: 80%;
        display: block;
        margin: 0 auto;
        content: url(img/1x/main_cnt8_img_sp1.png);
        position: relative;
        transform: scale(0.8);
    }

    .main_cnt8_list4 {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        margin-top: 8%;
        width: 100%;
    }

    .main_cnt8_list4 h3 {
        width: 80%;
        margin: 6% auto 0 auto;
    }

    .main_cnt8_list4 h3 + p {
        text-align: center;
        margin: 6% 0 8% 0;
    }

    .main_cnt8_list4 > img {
        transform: scale(0.8);
    }

    .main_cnt8 .Society_list {
        flex-direction: column;
        justify-content: space-between;
        flex-wrap: nowrap;
        margin-top: 4%;
        flex-direction: column;
        justify-content: space-around;
    }

    .main_cnt8 .Society_list > li {
        width: 91.5%;
        margin-bottom: 8%;
        padding: 6% 4%;
    }

    .main_cnt9 .ft_size_36 {
        margin-top: 6%;
        line-height: 1.8;
        margin-bottom: 6%;
    }

    .main_cnt9_list {
        padding: 7% 4% 11% 4%;
    }

    .main_cnt9_list::after {
        bottom: -8%;
    }

    .main_cnt9 img {
        margin-top: 16%;
    }

    .main_cnt9_list h3 {
        padding: 4% 4%;
    }

    .main_cnt9_list dt {
        display: block;
        width: 40%;
        margin: 6% auto 4% auto;
    }

    .main_cnt9_list dd {
        width: 100%;
        margin-left: 0;
        line-height: 20px;
        text-align: center;
    }

    .main_cnt9_list p {
        margin-top: 10%;
    }

    .main_cnt9 .ft_top {
        line-height: 1.8;
    }

    .main_cnt10 .ft_size_36 {
        margin-top: 6%;
        line-height: 1.8;
        margin-bottom: 6%;
    }

    .main_cnt10 .main_cnt10_list {
        justify-content: space-around;
        flex-wrap: nowrap;
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .main_cnt10 .main_cnt10_list img {
        transform: scale(0.8);
    }

    .main_cnt11 .ft_size_36 {
        margin-top: 6%;
        line-height: 1.8;
        margin-bottom: 6%;
    }

    .main_cnt11 .ft_size_24 {
        margin: 8% 0;
        line-height: 1.8;
    }

    .main_cnt12_table {
        width: 100%;
        border-collapse: collapse;
        overflow: scroll;
    }

    .main_cnt12 table {
        margin-top: 4%;
        width: 1200px;
        white-space: nowrap;
        overflow-x: scroll;
    }

    .main_cnt12 table .main_cnt12_table_list_item {
        writing-mode: tb;
        text-orientation: upright;
    }

    .main_cnt12_item .ft_size_26 {
        font-size: 20px;
        margin-bottom: 6%;
    }

    .main_cnt12_item .ft_size_16 {
        margin-top: 6%;
        margin-bottom: 6%;
    }

    .main_cnt12 table td img {
        width: 20%!important;
    }

    .main_cnt12 table td.icon_1:first-child:before {
        top: 30%!important;
    }

    .main_cnt12 table td.icon_4::before {
        position: relative;
    }

    .main_cnt12_item {
        display: block;
    }
  
  
    #cnt12_animation {
      width: 100%;
      height: auto;
      max-width: 421px;
      aspect-ratio: 421 / 354;
      
    }
    #cnt12_animation [id^="num"] {
      font-size: 3vw;
    }
  
  
    .main_cnt13 .cnts_width {
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
    }

    .main_cnt13 h2 img {
        width: 100%;
    }

    .main_cnt13 > .cnts_width > img {
        transform: scale(0.6);
    }

    .main_cnt13 .main_cnt13_list li:nth-child(2) {
        display: inline-block;
        width: 96%;
    }

    .main_cnt14 h2::before, .main_cnt14 h2::after {
        width: unset;
    }

    .main_cnt13 .main_cnt13_list p {
        font-size: 16px;
    }

    .main_cnt13 .main_cnt13_list p span::after {
        width: 32%;
    }

    .main_cnt13 .main_cnt13_list p span::before {
        content: "";
        position: absolute;
        bottom: 39px;
        left: 0;
        right: 0;
        border-bottom: 18px solid #eee021;
        z-index: -1;
        width: 100%;
    }

    .main_cnt14 .ft_size_26 {
        line-height: 1.4;
        margin-top: 4%;
    }

    .main_cnt15 h2::before,
    .main_cnt15 h2::after {
        width: unset;
    }

    .main_cnt15 img {
        width: 100%;
        margin-top: 6%;
        margin-bottom: 6%;
    }

    .main_cnt16 .cnts_width > div > h3 {
        padding-left: 4%;
        margin-bottom: 3%;
    }

    .main_cnt16 span {
        width: 100%;
    }

    .main_cnt16 h2::before, .main_cnt16 h2::after {
        width: unset;
    }

    .main_cnt16 .cnts_width > div {
        width: 100%;
        margin-top: 10%;
    }

    .main_cnt16 .cnts_width div dd {
        padding: 1% 4% 1% 0;
        display: flex;
        line-height: 1.6;
    }

    .main_cnt16 .cnts_width div dt {
        padding: 1% 4% 1% 0;
        display: flex;
        line-height: 1.6;
    }

    .main_cnt16 .cnts_width div dd span {
        width: 90%;
    }

    .main_cnt17 .Society_list > li {
        width: 91.5%;
        margin-bottom: 8%;
        padding: 6% 4%;
    }

    .main_cnt17 h2::before, .main_cnt17 h2::after {
        width: unset;
    }

    .main_cnt17 .cnts_width > div h3 {
        margin-bottom: 6%;
    }

    .main_cnt17 .cnts_width > .main_cnt17_flex {
        flex-direction: column;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex div {
        width: 100%;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex div >img {
        display: inline-block;
        width: 96%;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex > div> p {
        display: inline-block;
        width: 96%;
        padding: 2% 1%;
        vertical-align: top;
    }

    .main_cnt17 .cnts_width .main_cnt17_box >img {
        width: 100%;
    }

    .main_cnt17 .Society_list > li {
        margin-bottom: 8%;
    }

    .main_cnt18 .cnts_width > div h3 {
        display: flex;
    }

    .main_cnt18 .cnts_width > ul li {
        width: 90%;
    }

    .main_cnt18 .cnts_width > div h3 {
        display: flex;
    }

    .main_cnt18 .cnts_width > ul li {
        width: 90%;
    }

    .main_cnt18 .cnts_width > div h3 {
        display: flex;
    }

    .main_cnt18_flex ul {
        display: flex;
        flex-direction: column;
        margin-bottom: 12%;
    }

    .main_cnt18_flex li {
        width: 94%;
        margin-top: 4%;
        padding: 6% 2% 6% 4%;
        margin-bottom: 10%;
    }

    .main_cnt18 .cnts_width > ul li {
        width: 90%;
        padding: 8% 6%;
        margin-bottom: 10%;
    }

    .main_cnt18 .cnts_width > ul {
        margin-top: 12%;
    }

    .main_cnt18_flex li:nth-child(2) {
        padding: 6% 2% 13% 4%;
    }

    .main_cnt18 .cnts_width > ul li a {
        display: block;
        text-align: center;
        width: 90%;
        margin: 10% auto 4% auto;
        padding: 4%;
    }

    .main_cnt18_flex li a {
        display: block;
        text-align: center;
        width: 70%;
        margin: 0 auto;
    }

    .main_cnt18 .cnts_width .ft_size_24 {
        margin-bottom: 4%;
    }

    .main_cnt18_flex .main_cnt18_flex_list1 img {
        width: 56%;
        margin-top: 4%;
        padding: 4%;
    }

    .main_cnt18_flex_list2 img {
        width: 20%;
    }

    .main_cnt18_flex .main_cnt18_flex_list1::after {
        display: inline-block;
        margin-top: -78%;
    /* padding: 0; */
        transform: scale(0.5);
        text-align: center;
        margin-left: 44%;
    }

    .main_cnt18_flex li:nth-child(1) a {
        margin-top: 13%;
    }

    .main_cnt18_flex .main_cnt18_flex_list2::after {
        display: block;
        text-align: center;
        z-index: 0;
        margin-left: 43%;
        margin-top: -76%;
        transform: scale(0.4);
    }

    .main_cnt18_flex li:nth-child(2) a {
        margin-top: 15%;
    }

    .main_cnt18 .main_cnt18_flex_list3::after,
    .main_cnt18 .main_cnt18_flex_list4::after,
    .main_cnt18 .main_cnt18_flex_list5::after {
        display: none;
    }

    footer img {
        width: 10%;
    }
}

/* 小型デバイス（モバイル） */
@media (min-width: 577px) and (max-width: 768px) {
    .cnts_width {
        width: 92%;
        min-width: 500px;
        margin: 0 auto;
    }

    img {
        width: inherit;
    }
  
    #cnt11_animation > :nth-child(5) {
      width: 54%;
    }
    .sp_only {
        display: block!important;
    }

    .pc_only {
        display: none!important;
    }

    .cnt_ctch {
        display: block;
    }

    .fixed-button {
        width: 100%;
        height: 68px;
        border-radius: 0;
        text-align: center;
        cursor: pointer;
        font-size: 14px;
        padding: 0.8%;
    }

    .fixed-button > .sp_only {
        height: 100%;
        display: flex!important;
        justify-content: center;
        align-items: center;
    }
  
  
    .ft_size_48 {
        font-size: 38px;
    }

    .ft_size_16 {
        font-size: 12px;
    }

    .ft_size_18 {
        font-size: 12px;
    }

    .ft_size_20 {
        font-size: 14px;
    }

    .ft_size_24 {
        font-size: 18px;
        margin-top: 4%;
    }

    .ft_size_30 {
        font-size: 20px;
    }

    .ft_size_32 {
        font-size: 24px;
    }

    .ft_size_36 {
        font-size: 26px;
    }

    .ft_size_40 {
        font-size: 30px;
    }


    .main_cnt1 ul {
        flex-direction: column;
        width: 100%;
    }

    .main_cnt1 ul li {
        width: 88%;
        margin-bottom: 20%;
    }

    .main_cnt1 ul li:nth-child(1):after {
        content: url(img/1x/main_cnt1_li_img_after.png);
        display: inline-block;
        position: absolute;
        right: 0%;
        bottom: -11%;
        width: 100%;
    }

    .main_cnt1 ul li>p {
        font-size: 14px;
    }

    .decorated-text::before, .decorated-text::after {
        display: none;
    }

    .main_cnt2_ul {
        flex-direction: column;
    }

    .main_cnt2_ul>li {
        width: 88%;
        border-radius: 20px;
        padding: 6%;
    }

    .main_cnt2_ul>li>p {
        margin-bottom: 6%;
    }

    .main_cnt2>.cnts_width>p {
        font-size: 18px;
        margin: 8% 0;
    }

    .main_cnt2_ul>li>p::after {
        width: 280px;
        height: 40px;
    }

    .main_cnt2>.cnts_width>h3 {
        margin-top: 14%;
        margin-bottom: 14%;
    }

    iframe {
        width: 94% !important;
    }

    .main_cnt3 h2 {
        line-height: 1.6;
        margin-top: 8%;
    }

    .main_cnt3 h2 span::before {
        content: "";
        position: absolute;
        top: 18px;
        left: 0;
        right: 0;
        border-bottom: 18px solid #eee021;
        z-index: -1;
    }

    .main_cnt3 h2 span::after {
        width: 50%;
        text-align: center;
        margin: 0 auto;
    }

    .main_cnt3 img {
        margin-top: 10%;
        width: 50%;
    }

    .main_cnt4 {
        padding: 0!important;
    }

    .main_cnt4 .cnts_width {
        width: 100%!important;
        padding: 4% 0 0 0;
    }

    .main_cnt4 img {
        width: 100%;
    }

    .main_cnt5 h2 img {
        width: 90%;
    }

    .main_cnt5 .main_cnt5_good img {
        padding: 2% 0;
        width: 40%;
        margin-bottom: 6%;
    }

    .main_cnt5 .main_cnt5_good {
        flex-direction: column;
        width: 100%;
    }

    .main_cnt5 .main_cnt5_good img {
        padding: 2% 0;
    }

    .main_cnt5 .main_cnt5_good ul {
        width: 94%;
    }

    .main_cnt5 .main_cnt5_good li {
        margin-bottom: 10%;
    }

    .main_cnt5 .main_cnt5_good .main_cnt5_good_point {
        padding: 5%;
    }

    .main_cnt5 .main_cnt5_way h4 {
        margin-top: 4%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list dd {
        letter-spacing: .1em;
        line-height: 1.3;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list {
        width: 98%;
        margin-top: 4%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list img {
        margin: 0 2%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list:nth-child(3) img {
        z-index: -1;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list dl {
        width: 80%;
    }

    .main_cnt6_title {
        width: 100%;
    }

    .main_cnt6_title_img {
        display: block;
        width: 60%;
        margin: 0 auto;
    }

    .main_cnt6_title img {
        width: auto;
    }

    .main_cnt6_title_img img {
        width: 100%;
        margin-top: 4%;
    }

    .main_cnt7 .main_cnt7_haigh {
        flex-direction: column;
        margin-bottom: 4%;
    }

    .main_cnt7 .main_cnt7_haigh_title,
    .main_cnt7 ul {
        width: 92%;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .main_cnt7 ul {
        width: 100%;
        flex-direction: column;
        justify-content: space-evenly;
        align-items: center;
    }

    .main_cnt7 ul li {
        width: 80%;
        margin-top: 4%;
    }

    .main_cnt7_haigh p {
        width: 100%;
    }

    .main_cnt7_haigh .main_cnt7_haigh_title::after {
        right: 7%;
    }

    .main_cnt7 .cnts_width > img {
        transform: scale(0.9);
    }

    .main_cnt8 .cnts_width .main_cnt8_cnts {
        flex-direction: column;
    }

    .main_cnt8 .cnts_width>div:first-child {
        flex-direction: column;
    }

    .main_cnt8_list {
        width: 100%;
        border-right: 0px;
        border-bottom: 4px dotted #a5a5a5;
    }

    .main_cnt8_list2 img {
        width: 100%;
        margin-top: 4%;
    }

    .main_cnt8_list3 {
        text-align: center;
        padding-bottom: 10%;
    }

    .main_cnt8_list3 img {
        width: 68%;
        text-align: center;
        margin: 0 auto;
    }

    .main_cnt8_list3::after {
        content: url(img/1x/main_cnt8_img_sp1.png);
        display: block;
        position: unset;
        transform: scale(1);
        top: unset;
        right: unset;
        margin-top: 2%;
    }

    .main_cnt8_list4 {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
    }

    .main_cnt8_list4 h3 {
        width: 90%;
        margin: 0% auto 0 auto;
        text-align: center;
        display: block;
    }

    .main_cnt8_list4 h3 img {
        margin: 0 auto;
    }

    .main_cnt8_list4 h3 + p {
        text-align: center;
    }

    .main_cnt8_list4 > img {
        transform: scale(0.8);
    }

    .main_cnt8 .Society_list {
        flex-direction: column;
        justify-content: space-between;
        flex-wrap: nowrap;
        margin-top: 4%;
        flex-direction: column;
        justify-content: space-around;
    }

    .main_cnt8 .Society_list > li {
        width: 91.5%;
        margin-bottom: 8%;
        padding: 6% 4%;
    }

    .main_cnt9 .ft_size_36 {
        margin-top: 6%;
        line-height: 1.8;
        margin-bottom: 6%;
    }

    .main_cnt9_list::after {
        bottom: -8%;
    }

    .main_cnt9 img {
        margin-top: 16%;
        width: 100%;
    }

    .main_cnt9_list h3 {
        padding: 4% 4%;
    }

    .main_cnt9_list dt {
        display: block;
        width: 40%;
        margin: 6% auto 4% auto;
    }

    .main_cnt9_list dd {
        width: 100%;
        margin-left: 0;
        line-height: 20px;
        text-align: center;
    }

    .main_cnt9_list p {
        margin-top: 6%;
    }

    .main_cnt9 .ft_top {
        line-height: 1.8;
    }
    #cnt9_animation {
        margin-top: 16%;
    }

    .main_cnt10 .ft_size_36 {
        margin-top: 6%;
        line-height: 1.8;
        margin-bottom: 6%;
    }

    .main_cnt10 .main_cnt10_list {
        justify-content: space-around;
        flex-wrap: nowrap;
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .main_cnt10 .main_cnt10_list img {
        transform: scale(0.8);
    }

    .main_cnt12_table {
        width: 100%;
        border-collapse: collapse;
        overflow: scroll;
    }

    .main_cnt12 table {
        margin-top: 4%;
        width: 1200px;
        white-space: nowrap;
        overflow-x: scroll;
    }

    .main_cnt12 table .main_cnt12_table_list_item {
        writing-mode: tb;
        text-orientation: upright;
    }

    .main_cnt12_item .ft_size_26 {
        font-size: 20px;
        margin-bottom: 6%;
    }

    .main_cnt12_item .ft_size_16 {
        margin-top: 6%;
        margin-bottom: 6%;
    }

    .main_cnt12 table td img {
        width: 20%!important;
    }

    .main_cnt12 table td.icon_1:first-child:before {
        top: 30%!important;
    }

    .main_cnt12 table td.icon_4::before {
        position: relative;
    }

    .main_cnt12_item {
        flex-direction: column;
    }

    .main_cnt13 .cnts_width {
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
    }

    .main_cnt13 > .cnts_width > img {
        transform: scale(0.6);
        width: 100%;
    }

    .main_cnt13 .main_cnt13_list p span {
        display: block;
    }

    .main_cnt13 .main_cnt13_list p span::before {
        content: "";
        position: absolute;
        bottom: 39px;
        left: 0;
        right: 0;
        border-bottom: 18px solid #eee021;
        z-index: -1;
        width: 65%;
    }

    .main_cnt13 .main_cnt13_list p span::after {
        width: 22%;
    }

    .main_cnt14 h2::before, .main_cnt14 h2::after {
        width: unset;
    }

    .main_cnt15 h2::before,
    .main_cnt15 h2::after {
        width: unset;
    }

    .main_cnt15 img {
        width: 100%;
        margin-top: 6%;
        margin-bottom: 6%;
    }

    .main_cnt16 .cnts_width > div > h3 {
        padding-left: 4%;
        margin-bottom: 3%;
    }

    .main_cnt16 span {
        width: 100%;
    }

    .main_cnt16 h2::before, .main_cnt16 h2::after {
        width: unset;
    }

    .main_cnt16 .cnts_width > div {
        width: 100%;
        margin-top: 10%;
    }

    .main_cnt16 .cnts_width div dd {
        padding: 1% 4% 1% 0;
        display: flex;
        line-height: 1.6;
    }

    .main_cnt16 .cnts_width div dt {
        padding: 1% 4% 1% 0;
        display: flex;
        line-height: 1.6;
    }

    .main_cnt16 .cnts_width div dd span {
        width: 90%;
    }

    .main_cnt17 .Society_list > li {
        width: 91.5%;
        margin-bottom: 8%;
        padding: 6% 4%;
    }

    .main_cnt17 h2::before, .main_cnt17 h2::after {
        width: unset;
    }

    .main_cnt17 .cnts_width > div h3 {
        margin-bottom: 6%;
    }

    .main_cnt17 .cnts_width > .main_cnt17_flex {
        flex-direction: column;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex div {
        width: 100%;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex div >img {
        display: inline-block;
        width: 96%;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex > div> p {
        display: inline-block;
        width: 96%;
        padding: 2% 1%;
        vertical-align: top;
    }

    .main_cnt17 .cnts_width .main_cnt17_box >img {
        width: 100%;
    }

    .main_cnt17 .Society_list > li {
        margin-bottom: 8%;
    }

    .main_cnt18 .cnts_width > div h3 {
        display: flex;
    }

    .main_cnt18 .cnts_width > ul li {
        width: 90%;
    }

    .main_cnt18 .cnts_width > div h3 {
        display: flex;
    }

    .main_cnt18 .cnts_width > ul li {
        width: 90%;
    }

    .main_cnt18 .cnts_width > div h3 {
        display: flex;
    }

    .main_cnt18_flex ul {
        display: flex;
        flex-direction: column;
        margin-bottom: 12%;
    }

    .main_cnt18_flex li {
        width: 94%;
        margin-top: 4%;
        padding: 6% 2% 6% 4%;
        margin-bottom: 10%;
    }

    .main_cnt18 .cnts_width > ul li {
        width: 90%;
        padding: 8% 6%;
        margin-bottom: 10%;
    }

    .main_cnt18 .cnts_width > ul {
        margin-top: 12%;
    }

    .main_cnt18 .cnts_width > ul li a {
        display: block;
        text-align: center;
        width: 90%;
        margin: 10% auto 4% auto;
        padding: 4%;
    }

    .main_cnt18_flex li a {
        display: block;
        text-align: center;
        width: 70%;
        margin: 0 auto;
    }

    .main_cnt18 .cnts_width .ft_size_24 {
        margin-bottom: 4%;
    }

    .main_cnt18_flex .main_cnt18_flex_list1 img {
        width: 56%;
        margin-top: 4%;
        padding: 4%;
    }

    .main_cnt18_flex_list2 img {
        width: 20%;
    }

    .main_cnt18_flex .main_cnt18_flex_list1::after {
        display: inline-block;
        margin-top: -78%;
        /* padding: 0; */
        transform: scale(0.5);
        text-align: center;
        margin-left: 44%;
    }

    .main_cnt18_flex li:nth-child(1) a {
        margin-top: 13%;
    }

    .main_cnt18_flex .main_cnt18_flex_list2::after {
        display: block;
        text-align: center;
        z-index: 0;
        margin-left: 43%;
        margin-top: -76%;
        transform: scale(0.4);
    }

    .main_cnt18_flex li:nth-child(2) a {
        margin-top: 15%;
    }

    .main_cnt18 .main_cnt18_flex_list3::after,
    .main_cnt18 .main_cnt18_flex_list4::after,
    .main_cnt18 .main_cnt18_flex_list5::after {
        display: none;
    }

    footer img {
        width: 10%;
    }
}

/* 中型デバイス（タブレット） */
@media (min-width: 769px) and (max-width: 992px) {
    .cnts_width {
        width: 92%;
        min-width: 700px;
        margin: 0 auto;
    }

    img {
        width: inherit;
    }
    #cnt11_animation > :nth-child(5) {
      width: 54%;
    }

    .sp_only {
        display: block!important;
    }

    .pc_only {
        display: none!important;
    }

    .cnt_ctch {
        padding: 0rem 0rem;
    }

    .sp_only {
        display: none;
    }

    .ft_size_48 {
        font-size: 38px;
    }

    .ft_size_16 {
        font-size: 12px;
    }

    .ft_size_18 {
        font-size: 12px;
    }

    .ft_size_20 {
        font-size: 14px;
    }

    .ft_size_24 {
        font-size: 18px;
        margin-top: 4%;
    }

    .ft_size_30 {
        font-size: 20px;
    }

    .ft_size_32 {
        font-size: 24px;
    }

    .ft_size_36 {
        font-size: 26px;
    }

    .ft_size_40 {
        font-size: 30px;
    }



    .main_cnt1 ul {
        flex-direction: column;
        width: 100%;
    }

    .main_cnt1 ul li {
        width: 88%;
        margin-bottom: 20%;
    }

    .main_cnt1 ul li:nth-child(1):after {
        content: url(img/1x/main_cnt1_li_img_after.png);
        display: inline-block;
        position: absolute;
        right: 0%;
        bottom: -11%;
        width: 100%;
    }

    .decorated-text::before, .decorated-text::after {
        display: none;
    }

    .main_cnt2_ul>li {
        width: 40%;
        padding: 4%;
    }

    .main_cnt2_ul>li>p {
        margin-bottom: 6%;
    }

    .main_cnt2_ul>li>p::after {
        transform: scale(0.6);
        width: 130px;
        height: 10px;
    }

    .main_cnt2>.cnts_width>p {
        font-size: 18px;
    }

    .main_cnt2>.cnts_width>h3 {
        margin-top: 14%;
        margin-bottom: 14%;
    }

    .main_cnt3 h2 {
        line-height: 1.6;
        margin-top: 8%;
    }

    .main_cnt3 h2 span::before {
        content: "";
        position: absolute;
        top: 24px;
        left: 0;
        right: 0;
        border-bottom: 18px solid #eee021;
        z-index: -1;
    }

    .main_cnt3 img {
        margin-top: 10%;
        width: 50%;
    }

    .main_cnt4 {
        padding: 0 !important;
    }

    .main_cnt4 .cnts_width {
        width: unset!important;
    }

    .main_cnt4 p {
        padding-top: 8%;
    }

    .main_cnt4 h2 {
        margin-top: 0%;
    }

    .main_cnt4 img {
        width: 100%;
    }

    .main_cnt5 h2 img {
        width: 90%;
    }

    .main_cnt5 .main_cnt5_good {
        flex-direction: column;
        width: 100%;
    }

    .main_cnt5 .main_cnt5_good img {
        padding: 2% 0;
        width: 40%;
        margin-bottom: 6%;
    }

    .main_cnt5 .main_cnt5_good ul {
        width: 94%;
    }

    .main_cnt5 .main_cnt5_good li {
        margin-bottom: 10%;
    }

    .main_cnt5 .main_cnt5_good .main_cnt5_good_point {
        padding: 5%;
    }

    .main_cnt5 .main_cnt5_way h4 {
        margin-top: 4%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list dd {
        letter-spacing: .1em;
        line-height: 1.3;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list {
        width: 98%;
        margin-top: 4%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list img {
        margin: 0 2%;
        width: 48%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list:nth-child(3) img {
        z-index: -1;
    }

    .main_cnt6_title {
        width: 100%;
    }

    .main_cnt6_title img {
        width: auto;
    }

    .main_cnt6_title_img img {
        width: 100%;
        margin-top: 4%;
    }

    .main_cnt7 .main_cnt7_haigh {
        flex-direction: column;
        margin-bottom: 4%;
    }

    .main_cnt7 .main_cnt7_haigh_title,
    .main_cnt7 ul {
        width: 92%;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .main_cnt7 ul {
        width: 100%;
        flex-direction: row;
        justify-content: space-evenly;
        align-items: center;
    }

    .main_cnt7_haigh p {
        width: 90%;
    }

    .main_cnt7_haigh .main_cnt7_haigh_title::after {
        right: 7%;
    }

    .main_cnt7 .cnts_width > img {
        transform: scale(0.9);
    }

    .main_cnt8 .cnts_width .main_cnt8_cnts {
        flex-direction: column;
    }

    .main_cnt8 .cnts_width>div:first-child {
        flex-direction: column;
    }

    .main_cnt8_list {
        width: 100%;
        border-right: 0px;
        border-bottom: 4px dotted #a5a5a5;
    }

    .main_cnt8_list dl {
        padding-bottom: 4%;
    }

    .main_cnt8_list2 {
        padding-left: 0!important;
        padding: 6%!important;
    }

    .main_cnt8_list2 img {
        width: 100%;
        margin-top: 4%;
    }

    .main_cnt8_list3 {
        text-align: center;
        padding-bottom: 10%;
    }

    .main_cnt8_list3 h3 {
        width: 100%;
        text-align: center;
        display: block;
    }

    .main_cnt8_list3 h3 img {
        width: 70%;
        margin: 0% auto 0 auto;
    }

    .main_cnt8_list3::after {
        content: url(img/1x/main_cnt8_img_sp1.png);
        display: block;
        position: unset;
        transform: scale(1);
        top: unset;
        right: unset;
        margin-top: 6%;
    }

    .main_cnt8_list4 {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
    }

    .main_cnt8_list4 h3 {
        width: 100%;
        text-align: center;
        display: block;
    }

    .main_cnt8_list4 h3 img {
        width: 70%;
        margin: 0% auto 0 auto;
    }

    .main_cnt8_list4 h3 + p {
        text-align: center;
    }

    .main_cnt8_list4 > img {
        transform: scale(0.8);
    }

    .main_cnt8 .Society_list {
        flex-direction: column;
        justify-content: space-between;
        flex-wrap: nowrap;
        margin-top: 4%;
        flex-direction: column;
    }

    .main_cnt8 .Society_list > li {
        width: 91.5%;
        margin-bottom: 8%;
        padding: 6% 4%;
    }

    .main_cnt9_list {
        padding: 3% 0 6% 0;
    }

    .main_cnt9 .ft_size_36 {
        margin-top: 6%;
        line-height: 1.8;
        margin-bottom: 6%;
    }

    .main_cnt9_list::after {
        bottom: -6%;
    }

    .main_cnt9 img {
        margin-top: 16%;
        width: 100%;
    }
    #cnt9_animation {
        margin-top: 16%;
    }

    .main_cnt9_list dt {
        display: block;
        width: 40%;
        margin: 6% auto 2% auto;
    }

    .main_cnt9_list dd {
        width: 100%;
        margin-left: 0;
        line-height: 20px;
        text-align: center;
    }

    .main_cnt9_list p {
        margin-top: 6%;
    }

    .main_cnt10 .ft_size_36 {
        margin-top: 6%;
        line-height: 1.8;
        margin-bottom: 6%;
    }

    .main_cnt10 .main_cnt10_list {
        justify-content: space-around;
        flex-wrap: nowrap;
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .main_cnt10 .main_cnt10_list img {
        transform: scale(0.8);
    }

    .main_cnt12_table {
        width: 100%;
        border-collapse: collapse;
        overflow: scroll;
    }

    .main_cnt12 table {
        margin-top: 4%;
        width: 1200px;
        white-space: nowrap;
        overflow-x: scroll;
    }

    .main_cnt12_item .ft_size_26 {
        margin-bottom: 6%;
    }

    .main_cnt12_item .ft_size_16 {
        margin-top: 6%;
        margin-bottom: 6%;
    }

    .main_cnt12 table td img {
        width: 20%!important;
    }

    .main_cnt12 table td.icon_1:first-child:before {
        top: 30%!important;
    }

    .main_cnt12 table td.icon_4::before {
        position: relative;
    }

    .main_cnt12_item {
        flex-direction: column;
    }

    .main_cnt13 .cnts_width {
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
    }

    .main_cnt13 .main_cnt13_list p span {
        display: block;
    }

    .main_cnt13 .main_cnt13_list p span::before {
        content: "";
        position: absolute;
        bottom: 39px;
        left: 0;
        right: 0;
        border-bottom: 18px solid #eee021;
        z-index: -1;
        width: 60%;
    }

    .main_cnt13 > .cnts_width > img {
        transform: scale(0.6);
        width: 100%;
    }

    .main_cnt13 .main_cnt13_list p span::after {
        width: 22%;
    }

    .main_cnt14 h2::before, .main_cnt14 h2::after {
        width: unset;
    }

    .main_cnt15 h2::before,
    .main_cnt15 h2::after {
        width: unset;
    }

    .main_cnt15 img {
        width: 100%;
        margin-top: 6%;
        margin-bottom: 6%;
    }

    .main_cnt16 h2::before, .main_cnt16 h2::after {
        width: unset;
    }

    .main_cnt16 .cnts_width > div > h3 {
        padding-left: 4%;
        margin-bottom: 3%;
    }

    .main_cnt16 .sp_only {
        display: none!important;
    }

    .main_cnt16 span {
        width: 100%;
    }

    .main_cnt16 .cnts_width > div {
        width: 100%;
        margin-top: 10%;
    }

    .main_cnt16 .cnts_width div dd {
        padding: 1% 4% 1% 0;
        display: flex;
        line-height: 1.6;
    }

    .main_cnt16 .cnts_width div dt {
        padding: 1% 4% 1% 0;
        display: flex;
        line-height: 1.6;
    }

    .main_cnt16 .cnts_width div dd span {
        width: 90%;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex > div> p .sp_only {
        display: none!important;
    }

    .main_cnt17 .Society_list > li {
        width: 91.5%;
        margin-bottom: 8%;
        padding: 6% 4%;
    }

    .main_cnt17 h2::before, .main_cnt17 h2::after {
        width: unset;
    }

    .main_cnt17 .cnts_width > div h3 {
        margin-bottom: 6%;
    }

    .main_cnt17 .cnts_width > .main_cnt17_flex {
        flex-direction: column;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex div {
        width: 100%;
        margin-top: 6%;
    }

    .main_cnt17 .Society_list > li {
        margin-bottom: 8%;
    }

    .main_cnt17 .cnts_width .main_cnt17_box >img {
        width: 100%;
    }

    .main_cnt17 .cnts_width .main_cnt17_flex > div> p {
        display: inline-block;
        width: 100%;
        padding: 2% 1%;
        vertical-align: top;
    }

    .main_cnt18 .cnts_width > div h3 {
        display: flex;
    }

    .main_cnt18_flex ul {
        display: flex;
        flex-direction: column;
    }

    .main_cnt18_flex li {
        width: 94%;
        margin-top: 4%;
        padding: 6% 2% 6% 4%;
        margin-bottom: 10%;
    }

    .main_cnt18_flex li:nth-child(1) a {
        margin-top: 1%;
    }

    .main_cnt18 .cnts_width > ul li {
        width: 88%;
        padding: 6%;
        margin-bottom: 10%;
    }

    .main_cnt18 .cnts_width > ul li a {
        display: block;
        text-align: center;
        width: 80%;
        margin: 4% auto;
    }

    .main_cnt18_flex li a {
        display: inline-block;
        text-align: center;
        width: 38%;
    }

    .main_cnt18_flex .main_cnt18_flex_list1 img {
        width: 48%;
        margin-top: 0;
        padding: 4%;
    }

    .main_cnt18 .cnts_width .ft_size_24 {
        font-size: 22px!important;
    }

    .main_cnt18_flex_list2 img {
        width: 20%;
    }

    .main_cnt18_flex .main_cnt18_flex_list1::after {
        display: inline-block;
        margin-top: -32%;
        padding: 0;
        margin-left: 12%;
    }

    .main_cnt18_flex .main_cnt18_flex_list2::after {
        z-index: 0;
        margin-left: 63%;
        margin-top: -37%;
        transform: scale(0.8);
    }

    .main_cnt18 .main_cnt18_flex_list3::after,
    .main_cnt18 .main_cnt18_flex_list4::after,
    .main_cnt18 .main_cnt18_flex_list5::after {
        display: none;
    }
}

/* 大型デバイス（デスクトップ） */
@media (min-width: 993px) and (max-width: 1200px) {
    .cnts_width {
        width: 900px;
        min-width: 737px;
        margin: 0 auto;
    }

    img {
        width: inherit;
    }
    #cnt11_animation > :nth-child(5) {
      width: 54%;
    }

    .sp_only {
        display: none;
    }

    .fixed-button>.sp_only {
        display: none;
    }

    .ft_size_48 {
        font-size: 40px;
    }

    .ft_size_16 {
        font-size: 12px;
    }

    .ft_size_18 {
        font-size: 14px;
    }

    .ft_size_20 {
        font-size: 16px;
    }

    .ft_size_24 {
        font-size: 20px;
        margin-top: 4%;
    }

    .ft_size_30 {
        font-size: 24px;
    }

    .ft_size_32 {
        font-size: 28px;
    }

    .ft_size_36 {
        font-size: 30px;
    }

    .ft_size_40 {
        font-size: 36px;
    }


    .main_cnt1 ul li:nth-child(1):after {
        right: -9%;
    }

    .main_cnt2_ul>li>p::after {
        transform: scale(0.6);
        width: 130px;
        height: 10px;
    }
  
    #cnt2_animation {
      width: 900px;
      height: 354px;
    }
    #cnt4_animation {
      width: 900px;
      height: 720px;
    }
    #cnt4_animation img {
      width: 100%;
    }

    .main_cnt5 .main_cnt5_way .main_cnt5_way_list dd {
        letter-spacing: .1em;
        line-height: 1.3;
    }

    .main_cnt6_title img {
        width: auto;
    }

    .main_cnt6_title {
        width: 66%;
    }

    .main_cnt6_title_img img {
        width: 74%;
        padding-top: 0%;
        line-height: 0;
        vertical-align: sub;
    }

    .main_cnt8_list3::after {
        top: -10%;
        left: -80px;
    }

    .main_cnt8_list4 {
        display: flex;
        align-items: stretch;
        justify-content: space-evenly;
        align-content: stretch;
        flex-wrap: nowrap;
        flex-direction: row;
        margin-top: 10%;
    }

    .main_cnt8_list4 > img {
        transform: scale(0.6);
    }

    .main_cnt9_list::after {
        bottom: -14%;
    }
  
    #cnt9_animation {
      width: 900px;
      height: 640px;
    }

    .main_cnt10 .main_cnt10_list {
        justify-content: space-around;
        flex-wrap: nowrap;
        align-items: stretch;
    }

    .main_cnt10 .main_cnt10_list img {
        transform: scale(0.8);
    }
  
    #cnt11_animation {
      width: 900px;
      height: 414px;
    }

    .main_cnt12 table {
        margin-top: 4%;
        width: 100%;
        border-collapse: collapse;
        overflow-x: scroll;
    }

    .main_cnt12 table thead tr th {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .main_cnt12 table td.icon_1:first-child:before {
        top: 30%!important;
    }

    .main_cnt12 table td.icon_4::before {
        position: relative;
    }

    .main_cnt12_item {
        margin-top: 6%;
        padding: 8% 4%;
        border-radius: 20px;
        flex-wrap: nowrap;
        justify-content: space-around;
    }

    .main_cnt13 .main_cnt13_list img {
        width: 0%!important;
        transform: scale(0.6)!important;
    }

    .main_cnt14 h2::before, .main_cnt14 h2::after {
        width: 260px;
    }

    .main_cnt14 h2::before {
        left: calc(-100px - 200px);
    }

    .main_cnt14 h2::after {
        right: calc(-100px - 200px);
    }

    .main_cnt17 h2::before, .main_cnt17 h2::after {
        width: 180px;
    }

    .main_cnt17 h2::before {
        left: calc(-100px - 110px);
    }

    .main_cnt17 h2::after {
        right: calc(-100px - 110px);
    }

    .main_cnt18_flex li a {
        display: block;
        text-align: center;
    }

    .main_cnt18_flex .main_cnt18_flex_list1 img {
        width: 80%;
    }

    .main_cnt18 .cnts_width .ft_size_24 {
        font-size: 22px!important;
    }

    .main_cnt18_flex_list2 img {
        width: 28%;
    }

    .main_cnt18_flex .main_cnt18_flex_list1::after {
        display: block;
        z-index: 0;
        margin-left: 15%;
        margin-top: 13%;
        transform: scale(1);
    }

    .main_cnt18_flex .main_cnt18_flex_list2::after {
        display: block;
        z-index: 0;
        margin-left: 15%;
        margin-top: 10%;
        transform: scale(0.8);
    }

    .main_cnt18 .main_cnt18_flex_list3::after {
        margin-top: -13%;
        transform: scale(0.6);
        margin-left: -4%;
    }

    .main_cnt18 .main_cnt18_flex_list4::after {
        margin-top: -13.3%;
        transform: scale(0.6);
        margin-left: -4%;
    }

    .main_cnt18 .main_cnt18_flex_list5::after {
        margin-top: -12.3%;
        transform: scale(0.6);
        margin-left: -8%;
    }
}

/*#catch-image { position: relative; }
#catch-image .top-bg {
  position: relative;
  width: 100%;
  min-height: 60vh;            
  overflow: hidden;
}*/
#catch-image .top-bg picture, 
#catch-image .top-bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;           /* 旧 background-size: cover と同等 */
}

/* もともとの見た目を維持するためのベース */
#catch-image { position: relative; overflow: hidden; }
#catch-image .top-bg {
  position: absolute; inset: 0;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  /* 白化対策：念のため透過ではなく背景色を薄いグレーへ（元デザインに近い） */
  background-color: #eef1f3;
}

/* PC 背景（ImageKit 配信・自動WebP/圧縮） */
@media (min-width: 769px) {
  #catch-image .top-bg {
    background-image: image-set(
      url("https://ik.imagekit.io/d1a8r1r1a/macerator_LP/img/1x/bg_top.png?tr=f-auto,q=60,format=webp") 1x
    );
  }
}

/* SP 背景（ImageKit 配信） */
@media (max-width: 768px) {
  #catch-image .top-bg {
    background-image: image-set(
      url("https://ik.imagekit.io/d1a8r1r1a/macerator_LP/img/1x/bg_top_sp.png?tr=f-auto,q=60,format=webp") 1x
    );
  }
}

/* トップのロゴ類：元の大きさを維持 */
img.top-ttl-01, img.top-ttl-02, img.top-ttl-multipl {
  width: auto; height: auto; max-width: none;
}

/* 右側の容器集合画像（main_cnt5_img2） */
.main_cnt5_good > img {
  /* PC で元の存在感に戻す */
  width: 690px; height: auto;
  max-width: 33vw;  /* 画面が狭い場合ははみ出さない */
}

/* 冒頭の本体＆ディスポ画像の“存在感”を戻す（必要なら） */
.top-img-quattro img { max-width: 420px; height: auto; }
.top-img-disposer img { max-width: 440px; height: auto; }
@media (max-width: 768px) {
  .top-img-quattro img { max-width: 48vw; }
  .top-img-disposer img { max-width: 50vw; }
}

/* --- Lite YouTube --- */
.yt-lite{position:relative;display:block;background:#000;cursor:pointer;max-width:100%;}
.yt-lite::before{content:"";display:block;/* 16:9 */ padding-top:56.25%;}
.yt-lite > iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.yt-lite > .lty-playbtn{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:68px;height:48px;border:0;border-radius:14px;background:rgba(0,0,0,.6);cursor:pointer;
}
.yt-lite > .lty-playbtn::before{
  content:"";display:block;margin:10px auto 0;border-style:solid;border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent #fff;width:0;height:0;
}
.yt-lite[data-thumb]{background-size:cover;background-position:center;}

/* --- Lite YouTube（サイズ抑制） --- */
.yt-lite{
  position:relative;display:block;background:#000;cursor:pointer;
  /* ここを追加 */
  width: min(600px, 94vw);   /* 画面に応じて 900px を上限に */
  margin: 40px auto;         /* 中央寄せ＋上下マージン */
  border-radius: 12px;       /* お好み。不要なら消してOK */
  overflow: hidden;          /* 角丸のため */
}
.yt-lite::before{content:"";display:block;padding-top:56.25%;} /* 16:9比率はそのまま */
.yt-lite > iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.yt-lite > .lty-playbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;border:0;border-radius:14px;background:rgba(0,0,0,.6);cursor:pointer;}
.yt-lite > .lty-playbtn::before{content:"";display:block;margin:10px auto 0;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #fff;width:0;height:0;}
.yt-lite[data-thumb]{background-size:cover;background-position:center;}

/* style.css のどこかに追記 */
#cnt2_animation { position: relative; min-height: 380px; }
#cnt2_animation img { display: block; }


main > section:not(#catch-image) {
  content-visibility: auto;
  contain-intrinsic-size: 1000px; /* 仮サイズ(崩れ防止) */
}

:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.fixed-button a:focus-visible{ outline:3px solid #0b63c7; }

.visually-hidden{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 1px 1px); white-space:nowrap; border:0;
}

/* --- A11y ベースライン: スクリーンリーダー専用テキスト --- */
.visually-hidden{
  position:absolute !important;
  width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 1px 1px); white-space:nowrap; border:0;
}

/* --- フォーカス可視化（キーボード操作の見失い防止） --- */
:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}
.fixed-button a:focus-visible{
  outline:3px solid #0b63c7;
  outline-offset:3px;
}

/* --- コントラスト調整（本文色/リンク色） --- */
.text_color_666{ color:#444; } /* #666 -> #444 で 4.5:1 を確保しやすく */
a{ color:#0b63c7; }
a:hover{ text-decoration:underline; }

/* 固定ボタン（白文字なら背景濃色でコントラスト確保） */
.fixed-button a{
  background:#1555b0; color:#fff;
}



/* --- 上部へ戻るボタンのクリック領域とアクセシビリティ --- */
#back-to-top{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; /* タップターゲット最低サイズ */
}

/* ---- Fix distorted images in main_cnt1 (respect intrinsic aspect ratio) ---- */
/* メインコンテンツ内の画像は高さ固定を禁止し、比率維持 */
main img { height: auto !important; }

/* セクション単位でより確実に（詳細度を上げる） */
section.main_cnt1 img { height: auto !important; max-width: 100%; }

/* 個別: 横基準にして比率維持（疑似的に「width 指定 / height:auto」） */
img.main_cnt1_img_3 { width: min(100%, 866px); height: auto !important; }

/* リストの縦物画像は、レイアウトの都合で幅をパーセント指定し比率維持 */
.main_cnt1 ul li > img { width: clamp(180px, 22vw, 320px); height: auto !important; }

/* --- Lazy画像のプレースホルダー安定化 --- */
img[data-src]{
  content-visibility: auto;             /* レンダリング遅延でSIに効く */
  contain-intrinsic-size: 640px 360px;  /* 仮サイズ（16:9）。個別に違う比率はwidth/heightをHTMLに追加推奨 */
  aspect-ratio: 16 / 9;
}

/* アニメーションは合成レイヤーで（非合成=レイアウト/ペイント回避） */
.iv-fade, .iv-fadedown, .iv-fadeleft, .iv-faderight, .iv-fadeup {
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* ヒーローのスペースを先取り */
/*#catch-image .top-bg { 
  aspect-ratio: 16 / 9;          
  position: relative;
}*/

#catch-image .top-bg picture,
#catch-image .top-bg img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;               /* 画像比が多少違ってもはみ出しOK */
}

/* 幅・高さ属性があるimgは元データから比率を復元 */
img[width][height] { aspect-ratio: attr(width number) / attr(height number); }

/* data-src など遅延画像で寸法が付けられない場合はクラスで決め打ち（例） */
.main_cnt8_list4 img[data-src] { aspect-ratio: 640 / 360; }

/* --- 表のアイコンを中央揃え＆重なり防止 --- */
.main_cnt12 table td[class^="icon_"]{
  position: relative;         /* ← absolute を使わない */
  text-align: center;         /* テキストも中央に */
  padding: 18px 10px 16px;    /* アイコン下に少し余白 */
  vertical-align: top;
}
/* 既存の「position:absolute; top:25%; padding-left:6%」を無効化 */
.main_cnt12 table td.icon_1::before,
.main_cnt12 table td.icon_2::before,
.main_cnt12 table td.icon_3::before,
.main_cnt12 table td.icon_4::before{
  position: static;           /* ← absolute をやめる */
  display: block;             /* ブロックにして */
  margin: 0 auto 6px;         /* 中央寄せ＋下に余白 */
  padding-left: 0;            /* 既存の左パディングを無効化 */
  transform: none;            /* 変形は不要 */
}

/* （SP個別対応をしていた場合の上書きも統一）
   例：.main_cnt12 table td.icon_4::before { position: relative; } などは削除 */

/* === main_cnt12 のアイコン：最終上書き（全ブレークポイント共通） === */
.main_cnt12 table td[class^="icon_"]{
  text-align: center !important;
  vertical-align: top !important;
  padding: 18px 10px 16px !important; /* アイコンの下に少し余白 */
}
.main_cnt12 table td[class^="icon_"]::before{
  /* 既存の absolute / top / left / padding-left を無効化 */
  position: static !important;
  top: auto !important;
  left: auto !important;
  padding-left: 0 !important;
  transform: none !important;

  display: block !important;
  margin: 0 auto 6px !important;  /* 中央寄せ＋下マージン */
}

/* （任意）アイコンが少し大きい／小さい時の微調整 */
.main_cnt12 table td[class^="icon_"]::before{
  /* content:url(...) の大きさが大きすぎる場合だけ有効化
     transform: scale(.9);  */
}

/* 横センターだけでも多くのケースは解決 */
.main_cnt12 table td{ vertical-align: middle; }
.main_cnt12 table td img{ display:block; margin:0 auto; }

/* 常にスクロールバーの溝を確保して横ズレ防止（Chrome/Edge/Firefox対応） */
html {
  scrollbar-gutter: stable both-edges;
}

.fixed-button { position: fixed; inset: auto 16px 16px auto; z-index: 1000;
  /* 初期は透明にしておき、JSで .is-visible を付けるだけ */
  opacity: 0; transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease;
  /* レイアウトに影響させない */
  pointer-events: none;
}
.fixed-button.is-visible { opacity: 1; transform: none; pointer-events: auto; }

/* 見出しコンテナの初期ブロックサイズを予約 */
.cnts_width h2,
.cnts_width .ft_size_48 { 
  min-height: 3.2em; /* 実見た目に合わせて調整（2〜3行分） */
}

/* CSS側でアスペクト比を保証（HTMLでwidth/heightが付けられない場合の保険） */
img.top-ttl-01 { aspect-ratio: 560 / 308; height: auto; }


