/* CSS Document */
* {
  box-sizing: border-box;
}
*::before, *::after {
  box-sizing: border-box;
}

body {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}

/* all */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, address, strong, em, table, dl, ul, ol, img,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* font */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, a, address, strong, em, form, input, textarea, select, submit,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* リセット */
a {
  border: none;
  color: inherit;
  word-wrap: break-word;
  text-decoration: underline;
  position: relative;
}
a:hover {
  opacity: 1;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

address, em {
  font-style: normal;
}

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

img {
  display: block;
  border: none;
}

html {
  scroll-behavior: smooth;
}

body {
    color: #000;
    font-family: "Zen Maru Gothic", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: justify;
    position: relative;
    background-attachment: fixed;
    z-index: 1;
    transition: .7s;
    background-color: #fae1e8;
    background-image: radial-gradient(circle, #fff0f4 8px, transparent 8px), radial-gradient(circle, #fae1e8 8px, transparent 8px);
    background-position: 0 0, 15px 30px;
    background-size: 40px 60px;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

svg{
 overflow:visible;
}

:root{
  --blue: #37bdef;
  --red: #eb6161;

}

.js-title,
.js-fadeUp,
.js-fadeLeft,
.js-fadeRight,
.js-fadewrapper,
.js-fadeUp-normal {
  will-change: transform, opacity;
}

/**********************
********ヘッダー********
***********************/

#header {
    position: relative;
    z-index: 9999;
}

.to-top {
    position: fixed;
    width: 5rem;
    height: 5rem;
    bottom: 1rem;
    right: 1rem;
}

.to-top a {
    font-size: 1.25rem;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eb6161;
    border-radius: 50%;
    color: #fff;
}

/******ナビ******/

.nav_wrapper {
    position: fixed;
    z-index: 0;
    width: 100%;
    top: 40%;
    transform: translateY(-50%);
}

.nav_wrapper .nav_list {
    /*width: var(--width);
    --width: 350px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: calc(30vw - var(--width) + 0px);
    z-index: 5;
    border: solid 3px #fa8072;
    border-left: none;
    background: #fff;
    border-radius: 0 20px 20px 0;
    padding: 3rem 2rem;
    letter-spacing: normal;*/
}

.nav_wrapper .nav_list {
    width: var(--width);
    --width: 365px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: calc(30vw - var(--width) + -20px);
    z-index: 5;
    border: solid 3px #fa8072;
    /* border-left: none; */
    background: #fff;
    border-radius: 20px;
    padding: 3rem 1.2rem;
    letter-spacing: normal;
    letter-spacing: 0;
}




.nav_wrapper .nav_list li {
    margin: 10px 0;
    display: block;
    font-weight: 700;
    color: #ea6162;
    font-size: 1.25rem;
    box-sizing: border-box;
}

.nav_wrapper .nav_list li a {
    padding: 5px 0px;
    display: block;
}

.nav_wrapper .event-nav li a::before{
    content: "●";
    font-size: 1.25rem;
}

.nav_wrapper .info-nav li a::before{
    content: "・";
    font-size: 1.25rem;
}

.nav_wrapper .nav_list li ul {
    /*padding: 0 0 0 1.25rem;*/
}

@media screen and (max-width: 1080px) {
    .nav_wrapper {
        display: none;
    }
}
.current {
    background-color: #fa8072 !important;
}
.current a {
    color: #fff !important;
}

/* ハンバーガー */

.hamburger_wrapper {
    position: fixed;
    right: 4vw;
    top: 4vw;
    z-index: 999;
    background: #fff;
    padding: 3vw;
    border-radius: 8px;
    border: solid 2px #0076bd;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.hamburger_wrapper.is-show {
    opacity: 1;
    visibility: visible;
}

@media screen and (min-width: 1081px) {

.hamburger_wrapper {
    display: none;
}

}

.menu {
    width: 2rem;
    height: 2rem;
    cursor: pointer;
    position: relative;
    z-index: 100;
}

.menu div {
    width: 100%;
    height: 2px;
    background-color: #0076bd;
    position: absolute;
    transition: all 0.3s ease;
}

.bar {
    top: calc(50% - 10px);
}

.bar2 {
    top: 50%;
}

.bar3 {
    top: calc(50% + 10px);
}


/* ボタンクリック時 */
.menu.is-active .bar {
  transform: translateY(10px) rotate(45deg);
    background-color: #ea6162;
}
.menu.is-active .bar2 {
  opacity: 0;
}
.menu.is-active .bar3 {
  transform: translateY(-10px) rotate(-45deg);
    background-color: #ea6162;
}

/* ナビゲーションメニュースタイル */
nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 500px;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.95);
    background-color: #fae1e8;
    background-image: radial-gradient(circle, #fff0f4 8px, transparent 8px), radial-gradient(circle, #fae1e8 8px, transparent 8px);
    background-position: 0 0, 15px 30px;
    background-size: 40px 60px;
    transition: all 0.3s ease;
    z-index: 99;
}

/* --- メニューが開いた時（画面内に入り込む） --- */
nav.is-active {
  right: 0;
}

nav ul {
    margin: auto;
    /* width: 80%;
    height: 60%; */
    padding: 5% 0;
}

nav .shop-list{
    margin: auto;
    width: 80%;
    /* height: 60%; */
    padding: 0% 0;
}

nav ul li {
    padding: 0.5rem 0;
    display: block;
    font-weight: 700;
    color: #ea6162;
    margin: 0 auto;
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

nav ul li a {
    background: #fff;
    border-radius: 10px;
    display: block;
    padding: 15px 10px;
    text-align: center;
    max-width: 20rem;
    margin: 0 auto;
}

nav .event-nav li a::before{
    content: "●";
    font-size: 1.25rem;
}

nav .info-nav li a::before{
    content: "・";
    font-size: 1.25rem;
}

nav.is-active .illust {
    display: block;
    width: 90%;
    margin: 0 5% 0 0;
    position: relative;
}

nav .illust{
    display:none;
}

nav .illust .iyashimane{
    
}

nav .illust .shijimi01{
    
}

nav .illust .shijimi02{
    
}

nav .illust .shijimi03{
    
}

nav .illust .nodoguu{
    
}

/******アコーディオン******/

.accordion-content {
  height: 0;
  overflow: hidden;
}

/******アニメーション******/

	@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
    margin: 0 0 6rem;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
    animation: infinity-scroll-left 20s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 6);
}
.scroll-infinity__item>img {
  width: 100%;
}

	@keyframes infinity-scroll-right {
from {
  transform: translateX(-100%);
}
  to {
  transform: translateX(0%);
}
}
.scroll-infinity__list--right{
  animation :infinity-scroll-right 20s infinite linear 0.5s both;
}

/******コンテンツ******/

/******SPビュー設定******/

.shadow {
    max-width: 450px;
    right: 30vw;
    box-shadow: 0px 0px 7px 1px #3e91b0;
    position: fixed;
    width: 100%;
    height: 100vh;
}

.sp-view {
    max-width: 450px;
    margin: 0 30vw 0 auto;
    left: 0%;
    position: relative;
    background-color: var(--blue);
}

@media screen and (max-width: 1080px) {
   .sp-view {
    max-width: none;
    width: 100%;
    overflow-x: clip;
   }
}
/********終わり********/

.section{
  position: relative;
}

.section:not(.fv,.about) {
    width: 90%;
    margin: 3rem auto 0;
    border-radius: 20px;
    box-sizing: border-box;
    padding: 0 1.5rem 1.5rem 1.5rem;
    max-width: 500px;
}

#shichouson-consultation,#work-life,#marche,#kurashi,#stage,#kids,#ijuu-consultation,#mankitsu{
    scroll-margin-top: 50px; 
}

.text {
    display: block;
    color: #0075be;
    font-weight: bold;
    line-height: 130%;
}

.title-h2{
    max-height: 75px;
}

.title-h2 img {
    max-height: 75px;
    display: block;
    margin: 0 auto -40px;
    transform: translate(0px, -50%);
}


/*********ファーストビュー（スマホ）*********/

.cloud-loop {
    position: absolute;
    height: 20rem;
    top: 20%;
    width: 100%;
}

.cloud-item {
    background: url(../img/deco_cloud.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    width: 17rem;
    height: 5rem;
}

.scroll-infinity__list .cloud-item:nth-child(2) {
    background-size: 30%;
}

.scroll-infinity__list--right.bottom {
    animation: infinity-scroll-right 30s infinite linear 0.5s both;
}

.cloud-bg {
    position: fixed;
    height: 100%;
}

.cloud-bg.left {
    width: calc(100% - 450px - 30vw);
}

.cloud-bg.right {
    width: 30vw;
    margin: 0 0 0 auto;
    right: 0;
}

@keyframes cloud {
  0% { transform: translateY(0px); animation-timing-function: ease; }
  50% { transform: translateY(10px); animation-timing-function: ease; }
  100% { transform: translateY(0px); }
}

.cloud-bg .cloud-item{
  animation: cloud 3.6s ease 0s infinite;
  position: absolute;
}

.cloud-bg .cloud-item:nth-child(1) {
    animation-duration: 4.6s;
    width: 30%;
    height: 8rem;
    top: 25%;
    left: 0%;
}

.cloud-bg .cloud-item:nth-child(2) {
    animation-duration: 3s;
    width: 20%;
    height: 6rem;
    top: 34%;
    right: 10%;
}

.cloud-bg .cloud-item:nth-child(3) {
    width: 20%;
    height: 6rem;
    position: relative;
    top: 60%;
    left: 16%;
}

.cloud-bg .cloud-item:nth-child(4) {
    animation-duration: 4.6s;
    width: 35%;
    height: 8rem;
    top: 76%;
    right: 0%;
}

.cloud-bg.right .cloud-item:nth-child(2) {
    background-size: 80%;
}

.fv {
    padding: 1rem 0 0;
}

.logo_sousei {
    width: 13rem;
    margin: 0rem auto;
}

.FV_copy {
    width: 24rem;
    margin: 1rem auto;
}

.logo_marche {
    width: 95%;
    margin: 0 auto;
    max-width: 500px;
}

.FV_free {
    width: 80%;
    display: block;
    margin: 1rem auto -1rem;
    max-width: 500px;
}

.FV_scale {
    position: absolute;
    width: 6rem;
    right: 0;
    top: 55%;
    display: none;
}

.FV_bg {
    /* background: url(../img/FV_bg.svg); */
    /* background-size: contain; */
    /* background-repeat: no-repeat; */
    /* background-position: bottom; */
    /* width: 100%; */
    /* height: 15rem; */
}

/*********ファーストビュー（PC）*********/

.pc-view {
    position: fixed;
    width: calc(100% - 450px - 30vw);
    width: 100vw;
    height: 100vh;
    background-color: var(--blue);
}

@media screen and (max-width: 768px) {
    .pc-view{
        display: none;
    }
}

.pc-view .fv {
    padding: 0rem 0 0;
    position: relative;
    height: 100vh;
}

.pc-view .fv::before {
    content: "";
    position: absolute;
    background: url(../img/deco_about2.svg);
    background-size: contain;
    background-position: -5px -5px;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
    width: 12%;
    height: 20%;
}

.pc-view .fv::after {
    content: "";
    position: absolute;
    background: url(../img/deco_about2.svg);
    background-size: contain;
    background-position: -5px -5px;
    background-repeat: no-repeat;
    transform: scale(-1, 1) translate(100%, 0px);
    top: 0;
    left: calc(100% - 465px - 30vw);
    width: 12%;
    height: 20%;
}

.pc-view .cloud-item {
    width: 27rem;
    height: 6rem;
}

.pc-view .logo_sousei {
    width: 10rem;
    top: 1rem;
    position: absolute;
    left: 1rem;
}

.pc-view .FV_copy {
    width: 90%;
    margin: 1rem auto;
    position: absolute;
    left: 50%;
    top: 9%;
    transform: translate(-50%, -50%);
}

.pc-view .logo_marche {
    width: calc(100% - 465px - 30vw);
    margin: 0;
    z-index: 22;
    top:6%;
    position: absolute;
    max-width: unset;
}

.pc-view .logo_marche img{
    width: 70%;
    margin: 0 auto;
    max-width: 400px;
}

.pc-view .left_date {
    width: calc(100% - 465px - 30vw);
    margin: 0;
    z-index: 22;
    top: 40%;
    position: absolute;
    max-width: unset;
}

.pc-view .left_date img{
    width: 75%;
    margin: 0 auto;
    max-width: 400px;
}



.pc-view .FV_free {
    display: none;
}

.pc-view .FV_scale {
    position: absolute;
    width: 6rem;
    right: 0;
    top: 55%;
    display: none;
}

.FV_bg {
    bottom: 0;
    position: absolute;
    width: 100%;
}

.pc-view .jizen {
    position: fixed;
    left: 0;
    bottom: 18%;
    z-index: 10;
    width: calc(100% - 450px - 30vw);
}

.pc-view .jizen a {
    width: 12rem;
    height: 12rem;
    margin: 0 auto;
    display: block;
    text-align: center;
    font-size: 1.5rem;
    background: #fbe943;
    line-height: 1.5;
    border-radius: 10px;
    border: solid 3px #ffffff;
    outline: solid 6px #fbe943;
    font-weight: bold;
    border-radius: 50%;
    padding: 60px 0;
}

.pc-view .jizen a::before {
    content: "";
    background: url(../img/icon_yubi.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 3.5rem;
    height: 5rem;
    right: 1rem;
    bottom: -3rem;
}

.pc-view .jizen a span {
    background: #eb6161;
    color: #fff;
    padding: 0 0.5rem;
    border-radius: 5px;
}

/*********ファーストビュー(PCイラスト)*********/

.FV_bg {
    position: relative;
    height: 100%;
    bottom: 0;
}

.FV_bg .illust-item {
    position: absolute;
}

.FV_bg .layer01 {
}

.FV_bg .layer02{
    
}

.FV_bg .-oshiro {
    width: clamp(3.125rem, -8.954rem + 17.88vw, 10.5rem);
    left: -0.5vw;
    bottom: clamp(6.125rem, -8.934rem + 22.29vw, 17.813rem);
}

.FV_bg .-orochi {
    width: clamp(4.375rem, -6.094rem + 15.49vw, 12.5rem);
    height: 17%;
    left: 20%;
    bottom: clamp(-0.625rem, -23.173rem + 33.37vw, 16.875rem);
    z-index: 90;
}

@keyframes orochi-fire {
0% {
    transform: translateX(0px);
    opacity: 0;
    animation-timing-function: ease;
}

60% {
    opacity: 1;
    animation-timing-function: ease;
}
70% {
    transform: translateX(5px) scale(1.4);
    animation-timing-function: ease;
}
100% {
    opacity: 0;
}
}

.orochi-fire{
    transform-origin: left;
    transform-box: fill-box;
    opacity: 0;
}

.orochi-fire.is-active {
    animation: orochi-fire 5s ease 0s infinite;
}

@keyframes orochi-body {
  0% { transform: rotate(-5deg); animation-timing-function: ease; }
  60% {  animation-timing-function: ease; }
  70% { transform: rotate(3deg); animation-timing-function: ease; }
  100% { transform: rotate(-5deg); }
}

.orochi-body{
    transform: rotate(-5deg);
    transform-origin: center;
}

.orochi-body.is-active {
    animation: orochi-body 5s ease 0s infinite;
}

@keyframes orochi-tail {
  0% { transform: rotate(0deg); animation-timing-function: ease; }
  60% {  animation-timing-function: ease; }
  70% { transform: rotate(-10deg); animation-timing-function: ease; }
  100% { transform: rotate(0deg); }
}

.orochi-tail.is-active {
    animation: orochi-tail 5s ease 0s infinite;
    transform-origin: bottom;
    transform-box: fill-box;
}

#orochi .cls-1 {
    fill: #f6bdb3;
  }

#orochi .cls-2 {
    fill: #ea6061;
}

#orochi .cls-3 {
    fill: #ef8c83;
}

#orochi .cls-4 {
    fill: #fbe2c5;
}

#orochi .cls-5 {
    fill: #767575;
}

#orochi .cls-6 {
    fill: #f19d94;
}

.FV_bg .-rousoku {
    width: clamp(1.875rem, -3.359rem + 7.75vw, 5.938rem);
    height: 17%;
    right: 36%;
    bottom: clamp(-0.313rem, -23.665rem + 34.56vw, 17.813rem);
    z-index: 61;
}

@keyframes rousoku-sun {
  0% { transform: translateY(50px);
opacity: 0; animation-timing-function: ease; }
  20% {  animation-timing-function: ease; }
  40% { transform: translateY(0px);
opacity: 1; animation-timing-function: ease; }
  50% { transform: translateY(0px);
opacity: 1; animation-timing-function: ease; }
  60% { transform: translateY(0px);
opacity: 1; animation-timing-function: ease; }
  70% { opacity: 0; animation-timing-function: ease; }
  100% { transform: translateY(50px);
opacity: 0; }
}

.rousoku-sun{
    transform: translateY(50px);
    opacity: 0;
}

.rousoku-sun.is-active {
  animation: rousoku-sun 10s ease 0s infinite;
}

#rousoku .cls-1 {
  fill: #ea6061;
}

#rousoku .cls-2 {
  fill: #b47c4f;
}

#rousoku .cls-3 {
    fill: #9f6a3d;
 }

.FV_bg .-mountain {
    width: clamp(6.25rem, -11.063rem + 25.63vw, 19.688rem);
    left: 29%;
    bottom: clamp(5.625rem, -9.675rem + 22.65vw, 17.5rem);
    z-index: 60;
}

@keyframes hune {
  0% {  animation-timing-function: ease; }
  50% { transform:rotate(4deg); animation-timing-function: ease; }
  100% {  }
}

.FV_bg .-hune {
    width: 30%;
    bottom: clamp(6.563rem, -8.738rem + 22.65vw, 18.438rem);
    right: 0;
    z-index: 61;
    transform-origin: bottom;
}

.FV_bg .-hune.is-active{
    animation: hune 10s ease 0s infinite;
}

.FV_bg .-waiwai01 {
    width: 47%;
    bottom: 0;
    z-index: 100;
}

.FV_bg .-waiwai02 {
    width: 72%;
    bottom: 0;
    right: 0;
    z-index: 100;
}

.FV_bg .-waiwai01-bg {
    width: 100%;
    bottom: 0;
    z-index: 90;
}

.FV_bg .-waiwai02-bg01 {
    width: clamp(13.438rem, -20.787rem + 50.66vw, 40rem);
    bottom: 5px;
    right: 0;
    z-index: 50;
}

.FV_bg .-waiwai02-bg02 {
    width: 44%;
    bottom: clamp(5rem, -6.274rem + 16.69vw, 13.75rem);
    right: 0;
    z-index: 61;
}

/*********ファーストビュー(SPイラスト)*********/

@media screen and (max-width: 1080px) {
    .sp-view .FV_bg.pc-only{
        display: none;
    }
    .sp-view .FV_bg.sp-only{
        display: block;
    }
}

@media screen and (min-width: 1081px) {
    .sp-view .FV_bg.pc-only{
        display: block;
    }
    .sp-view .FV_bg.sp-only{
        display: none;
    }
}

.sp-view .FV_bg.sp-only {
    height: clamp(14.375rem, 5.19rem + 37.68vw, 30.625rem);
    margin: 7vw auto 0;
}

.sp-view .FV_bg .illust-item {
    position: absolute;
}

.sp-view .FV_bg .layer01 {
}

.sp-view .FV_bg .layer02{
    
}

.sp-view .FV_bg .-oshiro {
    width: clamp(4.063rem, 0.353rem + 15.22vw, 10.625rem);
    left: -0.5vw;
    bottom: clamp(7.813rem, -0.313rem + 33.33vw, 22.188rem);
}

.sp-view .FV_bg .-orochi {
    width: clamp(5.313rem, 0.897rem + 18.12vw, 13.125rem);
    height: 17%;
    left: 20%;
    bottom: clamp(8.938rem, -0.495rem + 38.7vw, 25.625rem);
}

.sp-view .FV_bg .-rousoku {
    width: clamp(2.813rem, 0.163rem + 10.87vw, 7.5rem);
    height: 17%;
    right: 36%;
    bottom: clamp(10.313rem, -0.285rem + 43.48vw, 29.063rem);
}

.sp-view .FV_bg .-mountain {
    width: clamp(9.375rem, 1.25rem + 33.33vw, 23.75rem);
    left: 23%;
    bottom: clamp(7.5rem, 0.082rem + 30.43vw, 20.625rem);
}

.sp-view .FV_bg .-hune {
    width: 30%;
    bottom: clamp(8.438rem, 0.313rem + 33.33vw, 22.813rem);
}

.sp-view .FV_bg .-waiwai01 {
    width: 47%;
}

.sp-view .FV_bg .-waiwai02 {
    width: 72%;
}

.sp-view .FV_bg .-waiwai01-bg {
    width: 100%;
}

.sp-view .FV_bg .-waiwai02-bg01 {
    width: clamp(17.688rem, 0.307rem + 71.3vw, 48.438rem);
    bottom: 8px;
}

.sp-view .FV_bg .-waiwai02-bg02 {
    width: 44%;
    bottom: clamp(6.563rem, 0.557rem + 24.64vw, 17.188rem);
}

/*********イラスト*********/

.illust {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 30vw;
    height: 20rem;
}

.illust div {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
}

@keyframes iyashimane {
  0% { transform: rotate(-3deg); animation-timing-function: ease; }
  50% { transform: rotate(5deg); animation-timing-function: ease; }
  100% { transform: rotate(-3deg); }
}

.illust .iyashimane {
    background-image: url(../img/iyashimane.webp);
    background-position: bottom;
    width: 35%;
    height: 80%;
    bottom: 2rem;
    right: 2rem;
    animation: iyashimane 3.5s ease 0s infinite;
    transform-origin: bottom;
}

@keyframes shijimi01 {
  0% { transform: rotate(-3deg); animation-timing-function: ease; }
  50% { transform: rotate(5deg); animation-timing-function: ease; }
  100% { transform: rotate(-3deg); }
}

.illust .shijimi01 {
    background-image: url(../img/shijimi01.webp);
    width: 20%;
    height: 7rem;
    bottom: 12rem;
    left: 30%;
  animation: shijimi01 2.8s ease 0s infinite;
}

@keyframes shijimi02 {
  0% { transform: rotate(-3deg); animation-timing-function: ease; }
  50% { transform: rotate(5deg); animation-timing-function: ease; }
  100% { transform: rotate(-3deg); }
}


.illust .shijimi02 {
    background-image: url(../img/shijimi02.webp);
    width: 18%;
    height: 5rem;
    bottom: 17rem;
    left: 7%;
    animation: shijimi02 4s ease 0s infinite;
    transform-origin: center;
}

@keyframes shijimi03 {
  0% { transform: rotate(-3deg); animation-timing-function: ease; }
  50% { transform: rotate(5deg); animation-timing-function: ease; }
  100% { transform: rotate(-3deg); }
}

.illust .shijimi03 {
    background-image: url(../img/shijimi03.webp);
    width: 20%;
    height: 5rem;
    bottom: 3rem;
    left: 30%;
    animation: shijimi03 4s ease 0s infinite;
    transform-origin: center;
}

@keyframes nodoguu {
  0% { transform: rotate(-3deg); animation-timing-function: ease; }
  50% { transform: rotate(5deg); animation-timing-function: ease; }
  100% { transform: rotate(-3deg); }
}

.illust .nodoguu {
    background-image: url(../img/nodoguu.webp);
    width: 20%;
    height: 7rem;
    bottom: 7rem;
    left: 10%;
    animation: nodoguu 2.5s ease-in 0s infinite;
    transform-origin: bottom;
}

.about_date {
    padding: 1rem 0.5rem;
    background: var(--red);
}

.about_date img {
    background: var(--red);
    display: block;
    width: 100%;
    margin: 0rem auto;
    padding: 1rem;
    border-radius: 10px;
    max-width: 600px;
}

.about {
    padding: 5rem 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15%;
}

.about::before, .about::after {
    content: "";
    position: absolute;
    top: 0;
    height: 50%;
    background-size: 151%;
    background-repeat: no-repeat;
    background-position: top;
}

.about::before {
    background-image: url(../img/deco_about1.svg);
    width: 65%;
    right: 0;
    background-position: -1rem -3rem;
}

.about::after {
    background-image: url(../img/deco_about2.svg);
    width: 35%;
    background-position: 100% -10%;
    left: 0;
}

.iyashimane1 {
    width: 38%;
    max-width: 310px;
}

.iyashimane1 img {
    width: 75%;
    display: block;
    margin: 0px auto 5px;
}

.iyashimane1 figcaption {
    text-align: center;
    letter-spacing: -1px;
    font-size: 13px;
    color: #fff;
}

.about .text {
    width: 57%;
    color: #fff;
    letter-spacing: 0px;
    line-height: 140%;
    font-size: 17px;
    max-width: 360px;
}

.about_text {
    width: 100%;
    margin: 0 auto;
    padding: 0.5rem;
    position: relative;
    z-index: 2;
}
.about_text img{
    max-width: 500px;
    margin: 0 auto;
}
.present {
    background: #fff352;
    padding: 0.5rem 1.5rem 1.5rem 1.5rem !important;
}

.present article {
    margin: 2rem auto;
}

.present h2 {
    position: absolute;
    width: 60%;
    top: 0;
    left: 0;
    transform: translate(-5%, -60%);
}

.present>span.text {
    margin: 3rem auto 1rem;
    text-align: center;
    font-size: 22px;
}

.present .flex-layout {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    align-items: center;
    max-width: 80%;
    margin: auto;
}

.present .present_1000 {
    width: 100%;
    margin: -2rem auto 0;
    position: relative;
    z-index: 2;
}

.present .present_img1 {
    width: 65%;
}

.present .special_present{
  
}

.present .flex-layout .hosoku{
    text-align: justify;
    font-size: 80%;
    display: block;
    padding: 3% 3% 1%;
}

.present .special_present .line {
    display: block;
    text-align: center;
    letter-spacing: normal;
    width: 100%;
    font-size: 1.5rem;
    color: #fff;
    background: var(--red);
    padding: 1rem 0.5rem;
    border-radius: 5px;
    margin: 1rem auto 0.5rem;
    color: yellow;
}

.present .special_present p.text {
    display: flex;
    font-size: 22px;
    justify-content: center;
}

.present .special_present .arrow {
    width: 1.25rem;
    height: auto;
    display: inline-block;
    background: url(../img/icon_arrow.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.present .special_present .text {
    font-size: 16px;
    text-align: center;
}
.present .special_present .text .big{
    font-size: 120%;
    display: block;
    text-align: center;
}

.present .normal_present .present_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.present .normal_present .present_icon1 {
    width: 20%;
}

.present .normal_present .text {
    letter-spacing: normal;
    width: 73%;
    font-size: 20px;
}

.present .normal_present .text .big{
    font-size:120%;
    display: block;

}

.present .normal_present .present_img2 {
    margin: 1rem auto;
    width: 80%;
    border-radius: 20px;
    overflow: clip;
}

.present .normal_present .present_icon2{
    width: 20%;
}

.present_box.__first{

}

.present_box.__second .text {
    padding: 10px 0;
}

.present_box.__third{
    width: 90%;
    margin: auto;
}
.present_box.__third .blue{
 background: #0075be;
    color: #fff;
    padding: 0 15px;
    border-radius: 50px;
    display: block;
    width: fit-content;
    margin: 10px auto;   
}
.present_box.__third .text {
    padding: 10px 0;
    width: 100%;
    font-size: 95%;
}


.present article.present_another{

}

.present span.present_another {
    width: 25%;
    display: block;
}

.present .present_another.text{

}

.marche {
    background: #fbe2e9;
}

.marche .title-h2{
  
}

.marche .flex-layout {
    display: flex;
    flex-direction: column-reverse;
}

.marche .text {
    font-size: 18px;
}

.marche .marche_image {
    width: 90%;
    margin: 2rem auto 1rem;
}

.marche .inshoku{
  
}

.marche article {
    margin: 2rem auto;
}

.marche .title-h3 {
    background: #e9589a;
    color: #fff;
    text-align: center;
    padding: 0.5rem;
    font-size: 1.5rem;
    vertical-align: bottom;
    border-radius: 20px;
}

.marche .title-h3 span{
    font-size: 80%;
}

.marche .hanbai-list , .marche .inshoku-list {
    display: flex;
    flex-wrap: wrap;
}

.marche .hanbai-list li , .marche .inshoku-list li {
    margin: 1rem auto;
    width: 50%;
    min-width: 280px;
}

.marche ul li img{
    transform: translate(5px, 0px);
}


.ribbon {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    padding: 5px 0;
    margin: 0 0 0 -20px;
    width: calc(40% + 20px);
    color: white;
    background: #e9589a;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
    z-index: 2;
    padding: 0rem 0rem;
    transform: translate(6%, 60%);
}

.ribbon span {
    margin: 0;
    padding: 0 26px;
    border-top: dashed 1px #FFF;
    border-bottom: dashed 1px #FFF;
    font-size: 15px;
    line-height: 35px;
    text-align: center;
}

.ribbon:after {
    position: absolute;
    content: '';
    z-index: 1;
    top: 0;
    right: -2px;
    width: 0px;
    height: 0px;
    /* border-width: 30px 15px 30px 0px; */
    border-color: transparent #fbe2e9 transparent transparent;
    border-style: solid;
}

.ribbon:before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 9px transparent;
    border-right: solid 17px #a96283;
}

.ribbon.red{

}

.ribbon.blue {
    background: #0075bd;
}

.ribbon.blue span{
    padding: 0 34px;
}

.ribbon.blue:before{
    border-right: solid 17px #3f5766;
}

.marche .another_product {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.marche .another_product .text {
    margin: 1rem auto 1.5rem;
}

.marche .another_product .title-h3 {
    writing-mode: vertical-rl;
    color: #fff;
    background: #e9589a;
    font-size: 1.15rem;
    padding: 2rem .25rem;
    box-sizing: border-box;
    text-align: center;
    border-radius: 20px;
}

.marche .another_product .another_product-list {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    gap: .25rem 1rem;
}

.marche .another_product-list li {
    color: #0075be;
}

.marche .another_product-list li::before{
  content: "●";
  font-size: 105%;;
}

.stage {
    background: #fff791;
}

.stage .title-h2{
  
}

.stage .text {
    text-align: center;
    margin: 1rem auto;
    font-size: 18px;
}

.stage .text span {
    display: block;
    /* text-align: center; */
    font-size: 90%;
}

.stage .program {
    background: #ffffffcf;
    padding: 0 1.25rem 2.25rem 1.25rem;
    border-radius: 10px;
    margin: 3rem auto 0;
}

.stage .title-h3 {
    background: #f8b500;
    color: #fff;
    padding: .5rem 1rem;
    display: inline-block;
    border-radius: 40px;
    transform: translate(0px, -50%);
    font-size: 1.25rem;
}

.stage .program-list{
  
}

.stage .program-item {
    color: #0075be;
    font-weight: bolder;
    position: relative;
    padding: 1.5rem 0;
    border-top: dashed 2px;
}

.stage .tz {
    display: block;
    background: #92c750;
    color: #fff;
    padding: 0.25rem .5rem;
    border-radius: 6px;
    margin: 0 0 .5rem;
}

.stage .program-item figure {
    z-index: 2;
}

.stage .flex-layout figcaption {
    letter-spacing: normal;
    font-size: 14px;
}

.stage_iwami {
    position: absolute;
    width: 35%;
    top: -2.5rem;
    right: 1rem;
}

.stage_quiz {
    position: absolute;
    width: 50%;
    right: 0%;
    top: 0;
}

.stage_shimanekko {
    width: 50%;
    position: absolute;
    top: 15%;
    right: -10%;
}

.stage_iyashimane{

}

.stage .flex-layout {
    display: flex;
    gap: 0.5rem;
    text-align: center;
    margin: 1rem auto 0;
}

.stage .flex-layout img {
    border-radius: 10px;
}

.stage .iyashi-text {
    position: absolute;
    width: 38%;
    top: 0.3rem;
    right: -2.5rem;
    transform: rotate(1deg);
}

.stage .stage_iyashimane {
    width: 60%;
    margin: 1rem auto 0;
    display: none;
}

.stage .program>.flex-layout{
  
}

.stage .program>.flex-layout .text {
    text-align: left;
    width: 60%;
    font-size: 18px;
}

.stage .program>.flex-layout .stage_deco {
    background: url(../img/stage_deco.svg);
    background-size: contain;
    width: 40%;
    background-position: center;
    background-repeat: no-repeat;
}

.program-item .small {
    font-size: 80%;
}

.program-item.talk {
    text-align: center;
    font-size: 1.05rem;
}

.mankitsu {
    background: #bedc98;
    text-align: center;
}

.mankitsu .title-h2{
    
}

.mankitsu .text{
    margin: 1rem auto;
    font-size: 18px;
}

.mankitsu .mankitsu_image {
    margin: 1rem auto 0 0;
    width: 100%;
}

.mankitsu .mankitsu_deco {
    background-image: url(../img/mankitsu_deco.svg);
    background-position: bottom;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 4rem;
    height: 6rem;
}

.kurashi {
    background: #c6e6ea;
}

.kurashi .title-h2{
    
}

.kurashi .text {
    text-align: center;
    margin: 1rem auto;
    font-size: 18px;
}

.kurashi .kurashi-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1rem auto 0;
}

.kurashi .kurashi-list li {
    width: 47%;
}

.kurashi .kurashi-list li img {
    transform: translate(0px, 15%);
}

.kurashi .kurashi-list li .title-h3 {
    text-align: center;
    background: #0075be;
    color: #fff;
    letter-spacing: normal;
    padding: .5rem;
    border-radius: 50px;
    font-size: 13px;
    /* transform: translate(0px, -70%); */
    position: relative;
}

.kids {
    background: #e4eec3;
}

.kids .title-h2{
    
}

.kids .text{
    text-align: center;
    margin: 1rem auto;
    font-size: 18px;
}

.kids .kids_image{
    
}

.ijuu-consultation {
    background: #f5b6b8;
}

.ijuu-consultation .title-h2{
    
}

.ijuu-consultation .flex-layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.ijuu-consultation .text {
    text-align: center;
    margin: 1rem auto;
    font-size: 18px;
}

.ijuu-consultation .ijuu-consultation_image {
    width: 90%;
    position: relative;
}

.ijuu-consultation .ijuu-consultation_image img{
    width: 80%;
    display: block;
    margin: 0 0 0 auto;
}

.ijuu-consultation .ijuu-consultation_image::before {
    content: "";
    background-image: url(../img/ijuu-consultation_deco.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0rem;
    width: 8rem;
    height: 8rem;
}

.info {
    background: #fbcb71;
}

.info .title-h2{
    
}

.info .flex-layout {
    display: flex;
    /* flex-direction: column; */
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5%;
}

.info .text{
    text-align: center;
    margin: 1rem auto;
    font-size: 18px;
}

.info .info_image {
width: fit-content;
    text-align: center;
    padding: 0% 8%;
    display: block;
}

.info .info_hukidashi {
    width: 35%;
}

.section.attention{
    padding: 1rem !important;
    background: #fff791;
}

.section.attention .text {
    text-align: left;
    width: 100%;
    font-size: 18px;
}

.section.attention .stage_deco {
    background: url(../img/stage_deco.svg);
    background-size: contain;
    width: 40%;
    height: 6rem;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto 1rem;
}
.shichouson-consultation {
    background: #d2d3ea;
}

.shichouson-consultation .title-h2{
    
}

.shichouson-consultation .text {
    text-align: center;
    margin: 1rem auto;
    font-size: 18px;
}

.shichouson-consultation .flex-layout {
    display: flex;
    /* flex-direction: column; */
    align-items: center;
    justify-content: center;
}

.shichouson-consultation .shichouson-consultation_map {
    width: 90%;
    margin: 1rem auto;
}

.shichouson-consultation .shichouson-consultation_image {
    position: relative;
    width: 95%;
}

.shichouson-consultation .shichouson-consultation_image::after {
    content: "";
    background-image: url(../img/shichouson-consultation_deco.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    display: block;
    bottom: -3rem;
    right: -2.5rem;
    width: 8rem;
    height: 8rem;
}

.work-life {
    background: #ffffff;
}

.work-life .title-h2{
    
}

.work-life .text{
    text-align: center;
    margin: 1rem auto;
    font-size: 18px;
}

.work-life .title-h3 {
    background: #008fd9;
    color: #fff;
    display: inline-block;
    padding: .25rem 2rem;
    border-radius: 60px;
    margin: 1rem 0 .25rem;
}

.work-life ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    flex-direction: column;
}

.work-life li {
    color: #006ea6;
    padding: 1rem 0;
    border-bottom: solid 2px;
}

.work-life .accordion-btn {
    background: #008fd9;
    border: none;
    outline: none;
    font-size: 1.25rem;
    color: #fff;
    line-height: inherit;
    font-family: inherit;
    margin: 0 auto;
    display: block;
    width: 70%;
    padding: 0.5rem;
    border-radius: 20px;
    transition: all .5s;
    box-shadow: 0px 3px #000000;
}

.work-life .accordion-btn::before, .work-life .accordion-btn::after {
    content: "▼";
    font-size: 70%;
    margin: 0 1%;
    position: relative;
    top: -2px;
}

.work-life .accordion-btn:hover{
    box-shadow: 0px 0px #000000;
    transform: translate(0 , 3px);
}

.work-life li::before{
    content: "#";
}

.work-life ul li .text {
    text-align: left;
    font-size: 1rem;
    color: #000;
    margin: 0.25rem auto 0;
    /* text-decoration: underline; */
}

.work-life .mini-title{

}

.work-life .text{

}

.work-life .text a::after {
    content: "";
    width: 1rem;
    height: 1rem;
    background: url(../img/icon-link-blue.svg) center / cover no-repeat;
    position: relative;
    display: inline-block;
    margin: 0 0 0 0.5rem;
}

.model{
    padding: 0 !important;
}

.model .title-h2 {
    color: #fff;
    text-align: center;
    font-size: 1.25rem;
    position: relative;
}

.model .title-h2::before {
    content: "";
    background: url(../img/deco_shijimi.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    width: 5rem;
    height: 4rem;
    left: -20px;
    bottom: -20%;
}
.model .title-h2::after{
    content :"";
    background: url(../img/deco_iyashimane2.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    width: 6rem;
    height: 5rem;
    right: -20px;
    bottom: -20%;
}

.model .title-h2 span {
    display: block;
    font-size: 85%;
}

.model article{
    position: relative;
}

.model .step01, .model .step02 {
    margin: 1.5rem auto 4rem;
}

.model .step01::after, .model .step02::after {
    content: "";
    background-image: url(../img/icon-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    width: 3rem;
    height: 2rem;
    left: 50%;
    bottom: -3rem;
    transform: translate(-50%, 0%);
}

.model .step01 {
    background: #fff;
    text-align: center;
    padding: 1rem;
    border-radius: 10px;
}

.model .step01 .text{
    
}

.model .step02 {
    background: #fff;
    text-align: center;
    padding: 1rem 1rem 3rem;
    border-radius: 10px;
}

.model .course{
    position: relative;
}

.model .course .title-h3 {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .5rem 1rem;
    border-radius: 50px;
    color: #fff;
    transform: translate(0px, 50%);
    position: relative;
    z-index: 1;
}

.model .course .title-h3 img {
    display: block;
    width: 2.5rem;
}

.model .course .model-list {
    box-sizing: border-box;
    padding: 3rem 1rem 2rem;
    border-radius: 0 0 20px 20px;
}

.model .course .model-item {
    text-align: justify;
    padding: 0.5rem 0;
}

.model .course h4 {
    display: flex;
    align-items: center;
    gap: 0rem;
    justify-content: space-between;
    margin: 0 0 .5rem;
    position: relative;
}

.model .course .numb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    vertical-align: middle;
    border-radius: 50%;
    color: #fff;
}

.model .course h4 span {
    font-size: 1.25rem;
    width: calc(100% - 3rem);
    vertical-align: text-top;
}

.model .course .model-item .text{

}

.model .course h4 a {
    background: #fbe943;
    width: 2rem;
    height: 2rem;
    display: inline-block;
    align-items: center;
    border-radius: 50%;
    margin: 0 0 0 .25rem;
}
.model .course a .arrow {
    position: relative;
    display: inline-block;
    width: 12.5px;
    height: 21px;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);
}

.model .course a .arrow::before, .model .course a .arrow::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 10px;
    height: 1px;
    border-radius: 9999px;
    background-color: #000000;
    transform-origin: calc(100% - 1px) 50%;
}

.model .course a .arrow::before {
  transform: rotate(45deg);
}

.model .course a .arrow::after {
  transform: rotate(-45deg);
}


.course::before {
    content: "";
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 10%;
    right: 5%;
    width: 5rem;
    height: 5rem;
    z-index: 2;
}

.model .course.--01::before{
    background-image: url(../img/model_course01-deco.svg);
}

.model .course.--01 .title-h3{
    background: #eb6161;
}

.model .course.--01 .model-list {
    border: solid #eb6161;
}

.model .course.--01 .model-item {
    border-bottom: dashed #eb6161;
}

.model .course.--01 .numb {
    background: #eb6161;
}

.model .course.--01 h4 {
    color: #eb6161;
}

.model .course.--02::before{
    background-image: url(../img/model_course02-deco.svg);
}

.model .course.--02 .title-h3{
    background: #20b6ee;
}

.model .course.--02 .model-list {
    border: solid #20b6ee;
}

.model .course.--02 .model-item {
    border-bottom: dashed #20b6ee;
}

.model .course.--02 .numb {
    background: #20b6ee;
}

.model .course.--02 h4 {
    color: #20b6ee;
}

.model .course.--03::before{
    background-image: url(../img/model_course03-deco.svg);
}

.model .course.--03 .title-h3{
    background: #6fba2c;
}

.model .course.--03 .model-list {
    border: solid #6fba2c;
}

.model .course.--03 .model-item {
    border-bottom: dashed #6fba2c;
}

.model .course.--03 .numb {
    background: #6fba2c;
}

.model .course.--03 h4 {
    color: #6fba2c;
}

.model .course .model-item:last-child{
    border-bottom: none;
}

.model .step03{
    background: #fff;
    text-align: center;
    padding: 1rem;
    margin: 1.5rem auto;
    border-radius: 10px;
}

.venue {
    background: #fff;
    padding: 1.5rem !important;
}

.venue article {
    margin: 1.5rem auto;
}

.venue .title-h2 {
    background: #0075be;
    color: #fff;
    border-radius: 5px;
    width: 100%;
    text-align: center;
    padding: .5rem;
    box-sizing: border-box;
    font-size: 1.25rem;
}

.venue .title-h2 span{
    display: block;
    font-size: 80%;
    font-weight: normal;
}

.venue .forum-map{
    
}

.venue .map {
    margin: 2rem auto;
}

.forum-map .g-map {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 15rem;
    overflow: hidden;
}

.forum-map iframe{
    
}

.venue .forum-accsess{
    
}

.venue .title-h3 {
    background: #0075be;
    color: #fff;
    display: inline-block;
    padding: .25rem 1rem;
    border-radius: 50px;
}

.venue .forum-accsess ul {
    margin: .5rem 0 1rem;
}

.venue .forum-accsess li {
    color: #0075be;
}

.venue .forum-accsess li::before{
    content :"●";
    font-size: 105%;
}

.venue .forum-accsess li:last-child:before{
    content :none;
}

.venue .remarks {
    font-size: 90%;
    letter-spacing: normal;
}

.forum {
    background: #fce8f0;
    padding: 1.5rem !important;
}

.forum .title-h2 {
    background: var(--red);
    color: #fff;
    text-align: center;
    padding: .5rem;
    border-radius: 7px;
    font-size: 1.25rem;
}

.forum .forum01 {
    margin: 1rem auto;
    width: 95%;
}

.forum .forum01 img {
    max-width: none;
}

.forum .forum02 {
    margin: 1rem auto 0;
    width: 95%;
}

.pre_registration {
    padding: 1.5rem !important;
    background: #FBE943;
}

.pre_registration .title-h2 {
    background: #0075be;
    color: #fff;
    border-radius: 5px;
    width: 100%;
    text-align: center;
    padding: .5rem;
    box-sizing: border-box;
    font-size: 1.25rem;
}

.pre_registration .uketsuske {
    font-size: 130%;
    color: #ea6162;
}

.pre_registration .jizentouroku {
    font-size: 130%;
    color: #0075be;
}

.pre_registration .text {
    font-size: 1.25rem;
    margin: 2rem auto 1rem;
    color: #000;
    text-align: center;
}

.pre_registration .line{
line-height: 130%;
    width: 80%;
    box-sizing: border-box;
    margin: auto;
}

.pre_registration .line2{
line-height: 130%;
    width: 88%;
    box-sizing: border-box;
    margin: auto;
}


.pre_registration .line3{
    line-height: 130%;
    width: 80%;
    box-sizing: border-box;
    margin: auto;
    background: #eee;
    font-weight: 400;
    font-size: 85%;
    box-sizing: border-box;
    padding: 3%;
    border-radius: 4px;
    margin: 20px auto;
}


.pre_registration .registration-list {
    margin: 3rem auto;
    width: 80%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pre_registration .registration-parts{

}

.pre_registration .cm_link {
    margin: 3.5rem auto 0;
    z-index: 0;
    display: block;
    width: 17rem;
    height: 4rem;
    border-radius: 2rem;
    background: #EB6161;
    box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.25);
    position: relative;
}

.pre_registration .cm_link span {
    color: #FFF;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.02em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.pre_registration .cm_link::after {
    content: "";
    width: 0.8125rem;
    height: 0.8125rem;
    background: url(../img/icon-link.svg) center / cover no-repeat;;
    position: absolute;
    right: 1.5rem;
    top: 52%;
    transform: translateY(-50%);
}

.town {
    padding: 1.5rem !important;
    background: #fff;
}

.town .title-h2 {
    background: #5b5da8;
    color: #fff;
    text-align: center;
    padding: .5rem;
    border-radius: 7px;
    font-size: 1.25rem;
}

.town .tonw_wrap {
    margin: 3rem auto;
}

.town .tonw_wrap ul{
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.town .tonw_wrap li {
    margin: 0rem auto;
}

.town .title-h3 {
    background-color: #0075BE;
    border-radius: 1.5rem;
    font-size: 1.25rem;
    margin: 0rem auto 1rem;
    position: relative;
    color: #fff;
    text-align: center;
    display: block;
    padding: .5rem 0rem;
    width: 9rem;
}

.town li a.red_bg {
    display: block;
    width: 100%;
    height: 2.25rem;
    background-color: #EB6161;
    border-radius: 999px;
    position: relative;
    margin: 0.5rem 0 0;
}

.town li a.red_bg span {
    color: #FFF;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.02em;
    position: absolute;
    left: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
}

.town li a.red_bg::after {
    content: "";
    width: 0.8125rem;
    height: 0.8125rem;
    background: url(../img/icon-link.svg) center / cover no-repeat;
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
}

/**********************
********フッター********
***********************/

.footer{
    padding: 1.5rem 0 0 0;
}

.footer .foooter-container {
    width: 90%;
    margin: 0rem auto 1rem;
    border-radius: 20px;
    box-sizing: border-box;
    padding: 1.5rem;
    background: #fff;
    color: #0075be;
    max-width: 500px;
}
.footer .contact{
    
}

.footer .title-h2 {
    background: #0075be;
    color: #fff;
    border-radius: 5px;
    text-align: center;
    padding: .5rem;
    box-sizing: border-box;
    font-size: 1.25rem;
    margin: 2rem auto 0;
    width: 100%;
}

.footer .text {
    letter-spacing: normal;
    font-size: 18px;
    margin: 1rem 0 1rem;
    text-align: center;
}

.footer .tel {
    background: var(--blue);
    text-align: center;
    letter-spacing: normal;
    font-size: 16px;
    color: #fff;
    padding: 0.5rem 0;
    border-radius: 5px;
    width: 100%;
    margin: 0 auto .25rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer .tel::before{
    content: "";
    background-image: url(../img/icon_tel.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 2rem;
    height: 1rem;
}

.footer .mail {
    background: var(--red);
    text-align: center;
    letter-spacing: normal;
    font-size: 16px;
    color: #fff;
    padding: 0.5rem 0;
    border-radius: 5px;
    width: 100%;
    margin: 0 auto 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer .mail::before {
    content: "";
    background-image: url(../img/icon_mail.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 2rem;
    height: 1rem;
}

.footer .sponsor{
    
}

.footer .address {
    display: block;
    text-align: center;
    font-size: 16px;
    margin: 1rem 0 1rem;
}

/***********レスポンシブ***********/















