﻿@charset "utf-8";
/* CSS Document */

/*--------------------------------------
    common
--------------------------------------*/

.introArea .titleArea{
    width:calc(100% - 200px);
    height:200px;
    margin: auto;
    padding-left: 50px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.introArea .breadcrumbs{
    display: flex;
    gap:40px;
}
.introArea .breadcrumbs li{
    position:relative;
    font-weight: bold;
}
.introArea .breadcrumbs li:not(:last-child)::after{
    content: "/";
    position:absolute;
    top:0;
    right:-20px;
    transform: translate(50%,0);
    font-weight: bold;
}
.introArea .breadcrumbs li a{
    font-weight: normal;
}
.introArea .visualArea{ 
    width:100%;
    height:400px;
    position: relative;
    box-sizing: border-box;
}
.visualArea::before{
    content: "";
    background:url("../common/images/bg_001.png") no-repeat center center / cover;
	width:100%;
    height:320px;
    position: absolute;
    left:0;
    bottom:0;
    display: block;
}
.visualArea img{
	width:calc(100% - 150px);
    height:100%;
    position: absolute;
    top:0;
    right:0;
    object-fit: cover;
    border-radius: 30px 0 0 30px;
}
h3.style001{
    font-size:50px;
    font-weight: bold;
    color:#CA455A;
    text-align: center;
    letter-spacing: 3px;
}
h4.style001{
    height:80px;
    font-size:30px;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding-left: 55px;
    position: relative;
    background: #FFF6F8;
    border-radius: 10px;
    margin-bottom: 40px;
    letter-spacing: 3px;
    box-sizing: border-box;
}
h4.style001::before{
    content: "";
    width:10px;
    height:40px;
    display: block;
    border-radius: 5px;
    position: absolute;
    top:0;
    left:25px;
    right:auto;
    bottom:0;
    margin: auto;
    background: #CA455A;
}
.text{
    font-size:18px;
    line-height: 1.8;
}
.anchorArea{
    display: flex;
    justify-content: center;
    margin: 70px auto 0 auto;
}
.anchorArea .anchor{
    display: flex;
    justify-content: center;
    gap:20px;
    margin-bottom: 50px;
}
.anchorArea .anchor:has(> :nth-child(5)){
    width:940px;
    flex-wrap: wrap;
    justify-content:flex-start;
    gap:20px;
}
.anchorArea .anchor li{
    width:300px;
    height:70px;
}
.anchorArea .anchor li a{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
    font-size:18px;
    gap:15px;
    box-sizing: border-box;
    border:1px solid #CA455A;
    border-radius: 10px;
    letter-spacing: 2px;
}
.anchorArea .anchor li a::after{
    content: "";
    width:12px;
    height:12px;
    transform: translate(0,-4px) rotate(45deg);
    box-sizing: border-box;
    border:2px solid;
    border-color:transparent #CA455A #CA455A transparent;
}
table.table001{
    width:100%;
}
table.table001 th{
    width:25%;
    min-height: 110px;
    font-size:18px;
    font-weight: bold;
    line-height: 2;
    padding:44px 0 44px 0;
    color:#FFFFFF;
    text-align: center;
    vertical-align: top;
    background: #CA455A;
    border:1px solid rgba(0,0,0,0.2);
}
table.table001 td{
    width:75%;
    min-height: 110px;
    font-size:18px;
    line-height: 2;
    padding:44px 0 44px 36px;
    border-top:1px solid rgba(0,0,0,0.2);
    border-left:1px solid rgba(0,0,0,0.2);
    border-bottom:1px solid rgba(0,0,0,0.2);
}
.btn001{
    width:350px;
    height:88px;
    margin: 0 auto;
}
.btn001 a{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
    background: #CA455A;
    border:2px solid #CA455A;
    box-sizing: border-box;
    border-radius: 44px;
}
.btn001 a span{
    font-size:18px;
    color:#FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:25px;
}
.btn001 a span::after{
    content: "";
    background: url("../common/images/icon_arrow.png") no-repeat center center/contain;
    width:23px;
    height:6px;
    display: block;
}
.slider .bx-wrapper{
    position: relative;
    margin: 0 auto !important;
}
.slider .bx-wrapper .bx-viewport{
    overflow:visible !important;
}
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}
.md-overlay{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .7;
    z-index: 9999;
}
.md-contents{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right:0;
    bottom:0;
    margin: auto;
    width: 90%;
    height:auto;
    aspect-ratio:11 / 8;
    max-width: 880px;
    max-height:640px;
    text-align: center;
    overflow-y: scroll;
    z-index: 10000;
    /*スクロールバー非表示（IE・Edge）*/
    -ms-overflow-style: none;
    /*スクロールバー非表示（Firefox）*/
    scrollbar-width: none;
}
.md-contents::-webkit-scrollbar{
    display:none;
}
.md-contents img{
    display: block;
}
.md-inner{
    width:100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:50px;
}
.md-inner:has(> :nth-child(2):last-child){
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap:40px;
}
.md-inner:has(> :nth-child(2):last-child) img{
    width:100%;
    height:40vh;
    aspect-ratio:11 / 8;
    object-fit: cover;
}
.md-inner:has(> :nth-child(3):last-child){
    flex-wrap: wrap;
    flex-direction: row;
    margin: 0 auto;
    width:80%;
    gap:40px;
}
.md-inner:has(> :nth-child(3):last-child) img:nth-child(1){
    width:100%;
    height:45vh;
    object-fit: cover;
}
.md-inner:has(> :nth-child(3):last-child) img:nth-child(2),
.md-inner:has(> :nth-child(3):last-child) img:nth-child(3){
    width:calc(50% - 20px);
    height:35vh;
    object-fit: cover;
}
.md-xmark{
    position: fixed;
    top: 50px;
    right: 50px;
    width: 60px;
    height: 60px;
    z-index: 9999;
    cursor: pointer;
    background: #CA455A;
    border-radius: 50%;
}
.md-xmark span {
    position: absolute;
    left: 0;
    right:0;
    margin: auto;
    width: 30px;
    height: 2px;
    background-color: #FFFFFF;
}
.md-xmark span:nth-of-type(1) {
    top: 50%;
    transform: translateY(-1px) rotate(-45deg);
}
.md-xmark span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-1px) rotate(45deg);
}
.modaal-overlay {
    z-index: 9990 !important;
}
.modaal-container {
    width: auto !important;
}
.modaal-content-container {
    padding: 0 !important;
}
@media (max-width: 768px) {
    .introArea .titleArea{
        width:calc(100% - 40px);
        height:auto;
        padding-left: 0px;
        display: block;
        margin: 30px auto;
    }
    .introArea .breadcrumbs{
        gap:30px;
        margin-top: 20px;
    }
    .introArea .breadcrumbs li{
        font-size:12px;
    }
    .introArea .breadcrumbs li:not(:last-child)::after{
        right:-15px;
    }
    .introArea .visualArea{ 
        height:150px;
    }
    .visualArea::before{
        height:90px;
    }
    .visualArea img{
        width:calc(100% - 60px);
        border-radius: 20px 0 0 20px;
    }
    h3.style001{
        font-size:24px;
    }
    h4.style001{
        height:auto;
        font-size:18px;
        line-height: 40px;
        padding-left: 20px;
        margin-bottom: 20px;
        letter-spacing: 0;
    }
    h4.style001::before{
        width:4px;
        height:20px;
        left:8px;
    }
    .tableBox{
        overflow-x: scroll;
        margin-bottom: 30px;
    }
    .text{
        font-size:14px;
    }
    .anchorArea{
        width:calc(100% - 40px);
        margin: 40px auto 0 auto;
    }
    .anchorArea .anchor{
        flex-wrap: wrap;
        justify-content:flex-start;
        gap:20px;
        margin-bottom: 40px;
    }
    .anchorArea .anchor:has(> :nth-child(5)){
        width:100%;
    }
    .anchorArea .anchor li{
        width:calc(50% - 10px);
        height:50px;
    }
    .anchorArea .anchor li a{
        font-size:13px;
        box-sizing: border-box;
        padding: 0 28px 0 10px;
        position: relative;
    }
    .anchorArea .anchor li a::after{
        position: absolute;
        top:0;
        right:10px;
        bottom:0;
        margin: auto;
    }
    table.table001,
    table.table001 tbody,
    table.table001 tbody tr,
    table.table001 tbody tr th,
    table.table001 tbody tr td{
        display: block;
        box-sizing: border-box;
    }
    table.table001 th{
        width:100%;
        min-height: auto;
        font-size:14px;
        padding:15px 10px;
    }
    table.table001 td{
        width:100%;
        min-height: auto;
        font-size:14px;
        padding:15px 10px;
        border:1px solid rgba(0,0,0,0.2);
    }
    .btn001{
        width:240px;
        height:60px;
        margin: 0 auto;
    }
    .btn001 a{
        border-radius: 25px;
    }
    .btn001 a span{
        font-size:14px;
        gap:15px;
    }
    .md-contents{
        width:66%;
        height:auto;
        aspect-ratio:auto;
        max-height:auto;
    }
    .md-inner{
        flex-direction: column;
        gap:30px;
    }
    .md-inner:has(> :nth-child(2):last-child){
        gap:30px;
        flex-direction: column;
    }
    .md-inner:has(> :nth-child(2):last-child) img{
        height:auto;
    }
    .md-inner:has(> :nth-child(3):last-child){
        width:100%;
        gap:30px;
    }
    .md-inner:has(> :nth-child(3):last-child) img:nth-child(1){
        height:auto;        
        aspect-ratio:11 / 8;
    }
    .md-inner:has(> :nth-child(3):last-child) img:nth-child(2),
    .md-inner:has(> :nth-child(3):last-child) img:nth-child(3){
        width:100%;
        height:auto;
    }
    .md-xmark{
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
    }
    .md-xmark span {
        width: 18px;
    }
}

/*--------------------------------------
    introduction
--------------------------------------*/

.introduction{
    font-size:18px;
}
.introduction .text{
    line-height: 1.8;
}
.introduction .greeting{
    margin-top:120px;
    margin-bottom: 95px;
}
.introduction .purpose,
.introduction .history,
.introduction .overview{
    margin-bottom:115px;
}
.introduction .greeting h3.style001,
.introduction .purpose h3.style001{
    margin-bottom:50px;
}
.introduction .overview h3.style001,
.introduction .history h3.style001{
    margin-bottom:60px;
}
.introduction .greeting .flexBox{
    display: flex;
    justify-content: space-between;
}
.introduction .greeting .flexBox .textArea{
    width:600px;
}
.introduction .greeting .flexBox .picArea{
    width:550px;
}
.introduction .greeting .flexBox .picArea .pic{
    width:550px;
    height:600px;
    margin-bottom: 15px;
}
.introduction .greeting .flexBox .picArea .pic img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.introduction .greeting .flexBox .picArea h4{
    font-weight: bold;
    text-align: center;
}
.introduction .purpose h4.style001{
    margin-bottom:50px;
}
.introduction .purpose h5{
    font-size:26px;
    font-weight: bold;
    color:#5C6F24;
    display: flex;
    gap:12px;
    height:40px;
    align-items: center;
    margin-bottom:30px;
}
.introduction .purpose h5::before{
    content: "";
    background: url("../images/introduction/icon_purpose.png") no-repeat center center / contain;
    width:36px;
    height:40px;
}
.introduction .purpose .contentBox{
    margin-bottom: 70px;
}
.introduction .purpose strong{
    font-weight: bold;
}
.introduction .purpose ul{
    display: grid;
    gap:12px;
    margin-bottom:50px;
}
.introduction .purpose ul li{
    font-size:18px;
    font-weight: bold;
}
.introduction .purpose ul li::before{
    content: "・";
}
@media (max-width: 768px) {
    .introduction{
        font-size:14px;
    }
    .introduction .greeting{
        margin-top: 50px;
        margin-bottom: 50px;
    }
    .introduction .purpose,
    .introduction .history,
    .introduction .overview{
        margin-bottom: 50px;
    }
    .introduction .greeting h3.style001,
    .introduction .purpose h3.style001{
        margin-bottom:30px;
    }
    .introduction .overview h3.style001,
    .introduction .history h3.style001{
        margin-bottom:30px;
    }
    .introduction .greeting .flexBox{
        display: block;
    }
    .introduction .greeting .flexBox .textArea{
        width:100%;
        margin-bottom: 30px;
    }
    .introduction .greeting .flexBox .picArea{
        width:100%;
    }
    .introduction .greeting .flexBox .picArea .pic{
        width:100%;
        height:auto;
        aspect-ratio:11 / 12;
    }
    .introduction .purpose h4.style001{
        margin-bottom:20px;
    }
    .introduction .purpose h5{
        font-size:18px;
        height:30px;
        margin-bottom:20px;
    }
    .introduction .purpose h5::before{
        width:27px;
        height:30px;
    }
    .introduction .purpose .contentBox{
        margin-bottom: 40px;
    }
    .introduction .purpose ul{
        margin-bottom:40px;
    }
    .introduction .purpose ul li{
        font-size:14px;
    }
}

/*--------------------------------------
    yuyusou
--------------------------------------*/

.yuyusou{
    font-size:18px;
}
.yuyusou h3.style001{
    margin-bottom:50px;
}
.yuyusou .contentWidth{
    margin: 100px auto 100px auto;
}
.yuyusou .aboutArea .flexBox{
    display: flex;
    justify-content: space-between;
}
.yuyusou .aboutArea .flexBox .textArea{
    width:600px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:60px;
}
.yuyusou .aboutArea .flexBox .textArea h4{
    font-size:34px;
    font-weight: bold;
    position: relative;
}
.yuyusou .aboutArea .flexBox .textArea h4::before{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "“";
    position: absolute;
    top:-20px;
    right:calc(100% + 20px);
    font-size:140px;
    line-height: 1;
    color:#FCEFF2;
}
.yuyusou .aboutArea .flexBox .textArea h4::after{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "”";
    position: absolute;
    top:100%;
    left:calc(100% + 20px);
    font-size:140px;
    line-height: 60px;
    color:#FCEFF2;
}
.yuyusou .aboutArea .flexBox .picArea{
    width:550px;
}
.yuyusou .aboutArea .flexBox .slider .pic{
    width:550px;
    height:400px;
    border-radius: 15px; 
    margin-bottom: 15px;
	position: relative;
	z-index: 80;
    overflow: hidden;
}
.yuyusou .aboutArea .flexBox .slider .pic img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.yuyusou .aboutArea .flexBox .pager{
	width:100%;
    display: flex;
}
.yuyusou .aboutArea .flexBox .pager .pic{
	width:130px;
    height:auto;
    aspect-ratio:13 / 10;
    padding: 0 10px 0 0;
}
.yuyusou .aboutArea .flexBox .pager .pic img{
	width:100%;
    height:100%;
    object-fit: cover;
    border-radius: 8px;
}
.yuyusou .floorArea{
    text-align: center;
}
.yuyusou .floorArea .map{
    width:767px;
    height:600px;
    margin: 0 auto;
    position: relative;
}
.yuyusou .floorArea .map .linkArea{
    width:100%;
    height:100%;
    position: absolute;
    top:0;
    left:0;
    z-index: 100;
}
.yuyusou .floorArea .map .linkArea a{
    width:50px;
    height:50px;
    display: block;
    position: absolute;
    transform: translate(-50%,-50%);
    z-index: 100;
}
.yuyusou .floorArea .map .linkArea a.btn001{
    top: 15%;
    left: 25.3%;
}
.yuyusou .floorArea .map .linkArea a.btn002{
    top: 22%;
    left: 42%;
}
.yuyusou .floorArea .map .linkArea a.btn003{
    top: 21%;
    left: 49%;
}
.yuyusou .floorArea .map .linkArea a.btn004{
    top: 78.5%;
    left: 72.8%;
}
.yuyusou .floorArea .map .linkArea a.btn005{
    top: 80%;
    left: 90.8%;
}
.yuyusou .floorArea .map .linkArea a.btn006{
    top: 92%;
    left: 95.2%;
}
.yuyusou .floorArea .map .linkArea a.btn007{
    top: 68%;
    left: 56%;
}
.yuyusou .floorArea .map .linkArea a.btn008{
    top: 90%;
    left: 60%;
}
.yuyusou .floorArea .map .linkArea a.btn009{
    top: 86%;
    left: 35%;
}
.yuyusou .floorArea .map .linkArea a::before,
.yuyusou .floorArea .map .linkArea a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 4px solid #00CC00;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 1s linear infinite;
    transform: scale(0);
}
.yuyusou .floorArea .map .linkArea a::after {
  animation-delay: 0.5s;
}

@keyframes pulsate {
    0% {
        transform: scale(0);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.5;
    }
}

.yuyusou .serviceArea .boxArea{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:65px 40px;
}
.yuyusou .serviceArea .boxArea .box{
    width:580px;
    display: grid;
    gap:20px;
}
.yuyusou .serviceArea .boxArea .box .pic{
    width:100%;
    height:auto;
    aspect-ratio:29 / 18;
}
.yuyusou .serviceArea .boxArea .box .pic img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.yuyusou .serviceArea .boxArea .box h3{
    font-size:40px;
    line-height: 54px;
    display: flex;
    align-items: center;
    gap:10px;
    font-weight: bold;
}
.yuyusou .serviceArea .boxArea .box h3::after{
    content: "→";
    font-size:22px;
    width:30px;
    height:30px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color:#FFFFFF;
    background: #BEC276;
}
.yuyusou .accessArea .map{
    width:100%;
    aspect-ratio:2 / 1;
}
.yuyusou .accessArea .map iframe{
    width:100%;
    height:100%;
}
.yuyusou .accessArea .boxArea{
    display: grid;
    gap:50px;
    margin-top: 50px;
}
@media (max-width: 768px) {
    .yuyusou{
        font-size:14px;
    }
    .yuyusou h3.style001{
        margin-bottom:30px;
    }
    .yuyusou .contentWidth{
        margin: 50px auto 50px auto;
    }
    .yuyusou .aboutArea .flexBox{
        display: block;
    }
    .yuyusou .aboutArea .flexBox .textArea{
        width:100%;
        gap:30px;
        margin-bottom: 30px;
    }
    .yuyusou .aboutArea .flexBox .textArea h4{
        width:calc(100% - 80px);
        font-size:18px;
    }
    .yuyusou .aboutArea .flexBox .textArea h4::before{
        right:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .yuyusou .aboutArea .flexBox .textArea h4::after{
        left:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .yuyusou .aboutArea .flexBox .picArea{
        width:100%;
    }
    .yuyusou .aboutArea .flexBox .slider .pic{
        width:90vw;
        height:auto;
        border-radius: 10px; 
    }
    .yuyusou .aboutArea .flexBox .pager{
        overflow: hidden;
    }
    .yuyusou .aboutArea .flexBox .pager .pic{
        width:80px;
    }
    .yuyusou .floorArea .map{
        width:100%;
        height:auto;
        aspect-ratio:767 / 600;
    }
    .yuyusou .floorArea .map .linkArea a{
        width:30px;
        height:30px;
    }
    .yuyusou .floorArea .map .linkArea a::before,
    .yuyusou .floorArea .map .linkArea a::after {
        border: 3px solid #00CC00;
    }
    .yuyusou .serviceArea .boxArea{
        grid-template-columns: 1fr;
        gap:30px;
    }
    .yuyusou .serviceArea .boxArea .box{
        width:100%;
    }
    .yuyusou .serviceArea .boxArea .box h3{
        font-size:20px;
        line-height: 24px;
    }
    .yuyusou .serviceArea .boxArea .box h3::after{
        font-size:14px;
        width:20px;
        height:20px;
    }
    .yuyusou .accessArea .boxArea{
        gap:30px;
        margin-top: 40px;
    }
}

/*--------------------------------------
    mashima
--------------------------------------*/

.mashima{
    font-size:18px;
}
.mashima h3.style001{
    color:#CB9336;
    margin-bottom:50px;
}
.mashima h4.style001{
    background: #FFF9EF;
}
.mashima h4.style001::before{
    background: #CB9336;
}
.mashima table.table001 th{
    background: #CB9336;
}
.mashima .btn001 a{
    background: #CB9336;
    border:2px solid #CB9336;
}
.mashima .anchorArea .anchor li a{
    border:1px solid #CB9336;
}
.mashima .anchorArea .anchor li a::after{
    border-color:transparent #CB9336 #CB9336 transparent;
}
.mashima .contentWidth{
    margin: 100px auto 100px auto;
}
.mashima .aboutArea .flexBox{
    display: flex;
    justify-content: space-between;
}
.mashima .aboutArea .flexBox .textArea{
    width:600px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:60px;
}
.mashima .aboutArea .flexBox .textArea h4{
    font-size:34px;
    font-weight: bold;
    position: relative;
}
.mashima .aboutArea .flexBox .textArea h4::before{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "“";
    position: absolute;
    top:-20px;
    right:calc(100% + 20px);
    font-size:140px;
    line-height: 1;
    color:#FFF9EF;
}
.mashima .aboutArea .flexBox .textArea h4::after{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "”";
    position: absolute;
    top:100%;
    left:calc(100% + 20px);
    font-size:140px;
    line-height: 60px;
    color:#FFF9EF;
}
.mashima .aboutArea .flexBox .picArea{
    width:550px;
}
.mashima .aboutArea .flexBox .slider .pic{
    width:550px;
    height:400px;
    border-radius: 15px; 
    margin-bottom: 15px;
	position: relative;
	z-index: 80;
    overflow: hidden;
}
.mashima .aboutArea .flexBox .slider .pic img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.mashima .aboutArea .flexBox .pager{
	width:100%;
    display: flex;
}
.mashima .aboutArea .flexBox .pager .pic{
	width:130px;
    height:auto;
    aspect-ratio:13 / 10;
    padding: 0 10px 0 0;
}
.mashima .aboutArea .flexBox .pager .pic img{
	width:100%;
    height:100%;
    object-fit: cover;
    border-radius: 8px;
}
.mashima .serviceArea .flexBox{
    display: flex;
    gap:60px;
}
.mashima .serviceArea .flexBox .picArea{
    display: flex;
    gap:60px;
}
.mashima .serviceArea .flexBox .picArea .pic{
    width:580px;
    height:auto;
    aspect-ratio:29 / 18;
}
.mashima .serviceArea .flexBox .picArea .pic img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.mashima .serviceArea .flexBox .textArea{
    display: grid;
	gap:15px;
}
.mashima .serviceArea .flexBox .textArea li:before{
    content: "・";
}
.mashima .floorArea{
    text-align: center;
}
.mashima .floorArea .map{
    width:564px;
    height:962px;
    margin: 0 auto;
    position: relative;
}
.mashima .floorArea .map .linkArea{
    width:100%;
    height:100%;
    position: absolute;
    top:0;
    left:0;
    z-index: 100;
}
.mashima .floorArea .map .linkArea a{
    width:50px;
    height:50px;
    display: block;
    position: absolute;
    transform: translate(-50%,-50%);
    z-index: 100;
}
.mashima .floorArea .map .linkArea a.btn001{
    top: 50.5%;
    left: 78%;
}
.mashima .floorArea .map .linkArea a.btn002{
    top: 4%;
    left: 32%;
}
.mashima .floorArea .map .linkArea a.btn003{
    top: 70%;
    left: 24%;
}
.mashima .floorArea .map .linkArea a.btn004{
    top: 42%;
    left: 5%;
}
.mashima .floorArea .map .linkArea a.btn005{
    top: 77%;
    left: 8%;
}
.mashima .floorArea .map .linkArea a.btn006{
    top: 45%;
    left: 95.2%;
}
.mashima .floorArea .map .linkArea a::before,
.mashima .floorArea .map .linkArea a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 4px solid #00CC00;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 1s linear infinite;
    transform: scale(0);
}
.mashima .floorArea .map .linkArea a::after {
  animation-delay: 0.5s;
}

@keyframes pulsate {
    0% {
        transform: scale(0);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.5;
    }
}
.mashima .priceArea{
    text-align: center;
}
.mashima .priceArea .text{
    margin-bottom: 30px;
}
.mashima .flowArea .flowBox{
    display: flex;
    justify-content: space-between;
    position: relative;
}
.mashima .flowArea .flowBox .line{
    width:820px;
    height:1px;
    position: absolute;
    top:72px;
    left:0;
    right:0;
    margin: auto;
    background: #CB9336;
}
.mashima .flowArea .flowBox .line li{
    width:26px;
    height:26px;
    border-radius: 50%;
    position: absolute;
    top:0;
    margin: auto;
    background: #CB9336;
    transform: translate(-50%,-50%);
}
.mashima .flowArea .flowBox .line li:nth-child(1){
    left:0;
}
.mashima .flowArea .flowBox .line li:nth-child(2){
    left:50%;
}
.mashima .flowArea .flowBox .line li:nth-child(3){
    left:100%;
}
.mashima .flowArea .flowBox .stepBox{
    width:380px;
    height:535px;
    position: relative;
    border:1px solid #707070;
    box-sizing: border-box;
}
.mashima .flowArea .flowBox .stepBox .number{
    font-size:20px;
    font-weight: bold;
    color:#CB9336;
    width:104px;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    transform: translate(0,-50%);
    margin: auto;
    text-align: center;
    background: #FFFFFF;
}
.mashima .flowArea .flowBox .stepBox .number span{
    font-size:50px;
    font-weight: bold;
    display: block;
    line-height: 1.1;
}
.mashima .flowArea .flowBox .stepBox .icon{
    width:150px;
    height:110px;
    position: absolute;
    top:120px;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mashima .flowArea .flowBox .stepBox h4{
    font-size:36px;
    font-weight: bold;
    line-height: 1.3;
    color:#CB9336;
    position: absolute;
    top:48%;
    left:0;
    right:0;
    text-align: center;
}
.mashima .flowArea .flowBox .stepBox .text{
    font-size:18px;
    width:320px;
    position: absolute;
    top:380px;
    left:0;
    right:0;
    margin: auto;
}
.mashima .emptyArea .table002{
    width:100%;
    margin-bottom: 60px;
}
.mashima .emptyArea .table002 tr th{
    width:172px;
    height:130px;
    font-size:24px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background: #CB9336;
    border:1px solid #707070;
    color:#FFFFFF;
}
.mashima .emptyArea .table002 tr td{
    font-size:24px;
    font-weight: bold;
    vertical-align: middle;
    line-height: 2;
    border:1px solid #707070;
}
.mashima .emptyArea .table002 tr td:first-of-type{
    text-align: center;
    width:320px;
}
.mashima .emptyArea .table002 tr td:last-of-type{
    width:708px;
    padding-left: 35px;
}
.mashima .accessArea .map{
    width:100%;
    aspect-ratio:2 / 1;
}
.mashima .accessArea .map iframe{
    width:100%;
    height:100%;
}
.mashima .accessArea .boxArea{
    display: grid;
    gap:50px;
    margin-top: 50px;
}
@media (max-width: 768px) {
    .mashima{
        font-size:14px;
    }
    .mashima h3.style001{
        margin-bottom:30px;
    }
    .mashima .contentWidth{
        margin: 50px auto 50px auto;
    }
    .mashima .aboutArea .flexBox{
        display: block;
    }
    .mashima .aboutArea .flexBox .textArea{
        width:100%;
        gap:30px;
    }
    .mashima .aboutArea .flexBox .textArea h4{
        width:calc(100% - 80px);
        font-size:18px;
    }
    .mashima .aboutArea .flexBox .textArea h4::before{
        right:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .mashima .aboutArea .flexBox .textArea h4::after{
        left:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .mashima .aboutArea .flexBox .picArea{
        width:100%;
    }
    .mashima .aboutArea .flexBox .slider .pic{
        width:90vw;
        height:auto;
        border-radius: 10px; 
    }
    .mashima .aboutArea .flexBox .pager{
        overflow: hidden;
    }
    .mashima .aboutArea .flexBox .pager .pic{
        width:80px;
    }
    .mashima .serviceArea .flexBox{
        display: block;
    }
    .mashima .serviceArea .flexBox .picArea{
        margin-bottom: 30px;
    }
    .mashima .serviceArea .flexBox .picArea .pic{
        width:100%;
    }
    .mashima .floorArea .map .linkArea a{
        width:30px;
        height:30px;
    }
    .mashima .floorArea .map .linkArea a::before,
    .mashima .floorArea .map .linkArea a::after {
        border: 3px solid #00CC00;
    }
    .mashima .flowArea .flowBox{
        display: block;
        margin-top: 80px;
    }
    .mashima .flowArea .flowBox .line{
        display: none;
    }
    .mashima .flowArea .flowBox .stepBox{
        width:100%;
        height:330px;
        margin-bottom: 80px;
    }
    .mashima .flowArea .flowBox .stepBox .icon{
        width:100px;
        height:75px;
        position: absolute;
        top:60px;
    }
    .mashima .flowArea .flowBox .stepBox .icon img{
        width:100%;
        height:100%;
        object-fit: contain;
    }
    .mashima .flowArea .flowBox .stepBox h4{
        font-size:24px;
        top:48%;
    }
    .mashima .flowArea .flowBox .stepBox .text{
        font-size:14px;
        width:calc(100% - 40px);
        top:230px;
    }
    .mashima .emptyArea .table002{
        width:1200px;
        margin-bottom: 0px;
    }
    .mashima .accessArea .boxArea{
        gap:30px;
        margin-top: 30px;
    }
}

/*--------------------------------------
    admission
--------------------------------------*/

.admission{
    font-size:18px;
}
.admission h3.style001{
    margin-bottom:50px;
}
.admission .contentWidth{
    margin: 100px auto 100px auto;
}
.admission .serviceArea .boxArea{
    display: grid;
    gap:60px;
}
.admission .serviceArea .flexBox{
    display: flex;
    gap:50px;
}
.admission .serviceArea .flexBox .picArea{
    width:450px;
    height:300px;
    border-radius: 15px;
    overflow: hidden;
}
.admission .serviceArea .flexBox .picArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.admission .serviceArea .flexBox .textArea{
    width:700px;
}
.admission .onedayArea .flexBox{
    display: flex;
    gap:60px;
}
.admission .onedayArea .flexBox .textArea{
    width:440px;
    display: grid;
    gap:40px;
    position: relative;
}
.admission .onedayArea .flexBox .textArea .text{
    display: flex;
    align-items: center;
    gap:110px;
    height:30px;
    line-height: 30px;
}
.admission .onedayArea .flexBox .textArea .text time{
    padding-left: 25px;
}
.admission .onedayArea .flexBox .textArea .line{
    width:30px;
    height:100%;
    position: absolute;
    top:0;
    left:165px;
    right:auto;
    bottom:0;
    margin: auto;
    display: grid;
    gap:40px;
}
.admission .onedayArea .flexBox .textArea .line::before{
    content: "";
    width:4px;
    height:calc(100% - 30px);
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
    background: #CA455A;
}
.admission .onedayArea .flexBox .textArea .line li{
    width:30px;
    height:30px;
    border-radius: 50%;
    background: #CA455A;
}
.admission .onedayArea .flexBox .picArea{
    width:700px;
    height:700px;
    border-radius: 15px;
    overflow: hidden;
}
.admission .onedayArea .flexBox .picArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.admission .priceArea{
    text-align: center;
}
.admission .priceArea .btn001{
    width:550px;
    margin-top: 30px;
}
.admission .flowArea .flowBox{
    display: flex;
    justify-content: space-between;
    position: relative;
}
.admission .flowArea .flowBox .line{
    width:916px;
    height:1px;
    position: absolute;
    top:72px;
    left:0;
    right:0;
    margin: auto;
    background: #CA455A;
}
.admission .flowArea .flowBox .line li{
    width:26px;
    height:26px;
    border-radius: 50%;
    position: absolute;
    top:0;
    margin: auto;
    background: #CA455A;
    transform: translate(-50%,-50%);
}
.admission .flowArea .flowBox .line li:nth-child(1){
    left:0;
}
.admission .flowArea .flowBox .line li:nth-child(2){
    left:33.3333%;
}
.admission .flowArea .flowBox .line li:nth-child(3){
    left:66.6666%;
}
.admission .flowArea .flowBox .line li:nth-child(4){
    left:100%;
}
.admission .flowArea .flowBox .stepBox{
    width:288px;
    height:558px;
    position: relative;
    border:1px solid #707070;
    box-sizing: border-box;
}
.admission .flowArea .flowBox .stepBox .number{
    font-size:20px;
    font-weight: bold;
    color:#CA455A;
    width:104px;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    transform: translate(0,-50%);
    margin: auto;
    text-align: center;
    background: #FFFFFF;
}
.admission .flowArea .flowBox .stepBox .number span{
    font-size:50px;
    font-weight: bold;
    display: block;
    line-height: 1.1;
}
.admission .flowArea .flowBox .stepBox .icon{
    width:154px;
    height:110px;
    position: absolute;
    top:115px;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.admission .flowArea .flowBox .stepBox h4{
    font-size:30px;
    font-weight: bold;
    line-height: 1.3;
    color:#CA455A;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top:48%;
    left:0;
    right:0;
    text-align: center;
}
.admission .flowArea .flowBox .stepBox .text{
    font-size:18px;
    width:218px;
    position: absolute;
    top:370px;
    left:0;
    right:0;
    margin: auto;
}
.admission .emptyArea .table002{
    width:100%;
    margin-bottom: 60px;
}
.admission .emptyArea .table002 tr th{
    width:25%;
    height:130px;
    font-size:24px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background: #CA455A;
    border:1px solid #707070;
    color:#FFFFFF;
}
.admission .emptyArea .table002 tr td{
    font-size:24px;
    font-weight: bold;
    vertical-align: middle;
    line-height: 2;
    border:1px solid #707070;
    text-align: center;
}
.admission .emptyArea .telArea{
    text-align: center;
    margin-bottom: 40px;
}
.admission .emptyArea .telArea .tel,
.admission .emptyArea .telArea .tel a{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:90px;
    font-family: 'impact',sans-serif;
    letter-spacing: 3px;
}
.admission .emptyArea .telArea .tel::before{
    content: "";
    background: url("../images/admission/icon_tel.png") no-repeat center center / contain;
    width:54px;
    height:70px;
    margin-right: 20px;
}
@media (max-width: 768px) {
    .admission{
        font-size:14px;
    }
    .admission h3.style001{
        margin-bottom:30px;
    }
    .admission .contentWidth{
        margin: 50px auto 50px auto;
    }
    .admission .serviceArea .boxArea{
        gap:40px;
    }
    .admission .serviceArea .flexBox{
        display: block;
    }
    .admission .serviceArea .flexBox .picArea{
        width:100%;
        height:auto;
        aspect-ratio:3 / 2;
        overflow: hidden;
        margin-bottom: 20px;
    }
    .admission .serviceArea .flexBox .textArea{
        width:100%;
    }
    .admission .onedayArea .flexBox{
        display: block;
    }
    .admission .onedayArea .flexBox .textArea{
        width:100%;
        gap:20px;
    }
    .admission .onedayArea .flexBox .textArea .text time{
        padding-left: 0;
    }
    .admission .onedayArea .flexBox .textArea .line{
        left:110px;
        gap:20px;
    }
    .admission .onedayArea .flexBox .picArea{
        width:100%;
        height:100%;
        margin-top: 30px;
    }
    .admission .priceArea .btn001{
        width:100%;
        margin-top: 20px;
    }
    .admission .flowArea .flowBox{
        display: block;
        margin-top: 80px;
    }
    .admission .flowArea .flowBox .line{
        display: none;
    }
    .admission .flowArea .flowBox .stepBox{
        width:100%;
        height:330px;
        margin-bottom: 80px;
    }
    .admission .flowArea .flowBox .stepBox .icon{
        width:100px;
        height:75px;
        position: absolute;
        top:60px;
    }
    .admission .flowArea .flowBox .stepBox .icon img{
        width:100%;
        height:100%;
        object-fit: contain;
    }
    .admission .flowArea .flowBox .stepBox h4{
        font-size:24px;
        top:48%;
    }
    .admission .flowArea .flowBox .stepBox .text{
        font-size:14px;
        width:calc(100% - 40px);
        top:230px;
    }
    .admission .emptyArea .table002{
        width:1200px;
        margin-bottom: 0;
    }
    .admission .emptyArea .telArea .tel,
    .admission .emptyArea .telArea .tel a{
        font-size:32px;
    }
    .admission .emptyArea .telArea .tel::before {
        width: 27px;
        height: 35px;
    }
}

/*--------------------------------------
    daycare
--------------------------------------*/

.daycare{
    font-size:18px;
}
.daycare h3.style001{
    margin-bottom:50px;
}
.daycare .contentWidth{
    margin: 100px auto 100px auto;
}
.daycare .aboutArea .flexBox{
    display: flex;
    justify-content: space-between;
}
.daycare .aboutArea .flexBox .textArea{
    width:600px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:60px;
}
.daycare .aboutArea .flexBox .textArea h4{
    font-size:34px;
    font-weight: bold;
    position: relative;
}
.daycare .aboutArea .flexBox .textArea h4::before{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "“";
    position: absolute;
    top:-20px;
    right:calc(100% + 20px);
    font-size:140px;
    line-height: 1;
    color:#FCEFF2;
}
.daycare .aboutArea .flexBox .textArea h4::after{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "”";
    position: absolute;
    top:100%;
    left:calc(100% + 20px);
    font-size:140px;
    line-height: 60px;
    color:#FCEFF2;
}
.daycare .aboutArea .flexBox .picArea{
    width:550px;
}
.daycare .aboutArea .flexBox .slider .pic{
    width:550px;
    height:400px;
    border-radius: 15px; 
    margin-bottom: 15px;
	position: relative;
	z-index: 80;
    overflow: hidden;
}
.daycare .aboutArea .flexBox .slider .pic img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.daycare .aboutArea .flexBox .pager{
	width:100%;
    display: flex;
}
.daycare .aboutArea .flexBox .pager .pic{
	width:130px;
    height:auto;
    aspect-ratio:13 / 10;
    padding: 0 10px 0 0;
}
.daycare .aboutArea .flexBox .pager .pic img{
	width:100%;
    height:100%;
    object-fit: cover;
    border-radius: 8px;
}
.daycare .onedayArea .flexBox{
    display: flex;
    justify-content: space-between;
    gap:60px;
}
.daycare .onedayArea .flexBox .textArea{
    display: grid;
    gap:40px;
    position: relative;
}
.daycare .onedayArea .flexBox .textArea .text{
    display: flex;
    align-items: center;
    gap:110px;
    height:30px;
    line-height: 30px;
}
.daycare .onedayArea .flexBox .textArea .text time{
    padding-left: 25px;
}
.daycare .onedayArea .flexBox .textArea .line{
    width:30px;
    height:100%;
    position: absolute;
    top:0;
    left:165px;
    right:auto;
    bottom:0;
    margin: auto;
    display: grid;
    gap:40px;
}
.daycare .onedayArea .flexBox .textArea .line::before{
    content: "";
    width:4px;
    height:calc(100% - 30px);
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
    background: #CA455A;
}
.daycare .onedayArea .flexBox .textArea .line li{
    width:30px;
    height:30px;
    border-radius: 50%;
    background: #CA455A;
}
.daycare .onedayArea .flexBox .picArea{
    width:550px;
    height:auto;
    aspect-ratio:55 / 59;
    border-radius: 15px;
    overflow: hidden;
}
.daycare .onedayArea .flexBox .picArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.daycare .priceArea{
    text-align: center;
}
.daycare .priceArea .boxArea .box{
    text-align: left;
    margin-top: 90px;
}
.daycare .priceArea .boxArea .box .color{
    display: flex;
    gap:150px;
    margin-top: 50px;
}
.daycare .priceArea .boxArea .box .color li{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap:20px;
    font-size:16px;
}
.daycare .priceArea .boxArea .box .color li::before{
    content: "";
    width:40px;
    height:40px;
    border-radius: 6px;
}
.daycare .priceArea .boxArea .box .color li:nth-of-type(1)::before{
    background: #FF9EAD;
}
.daycare .priceArea .boxArea .box .color li:nth-of-type(2)::before{
    background: #97E3C5;
}
.daycare .priceArea .calBox{
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
}
.daycare .priceArea .calBox .cal:nth-of-type(1){
    width:350px;
}
.daycare .priceArea .calBox .cal:nth-of-type(2){
    width:220px;
}
.daycare .priceArea .calBox .cal:nth-of-type(3){
    width:260px;
}
.daycare .priceArea .calBox .cal:nth-of-type(4){
    width:180px;
}
.daycare .priceArea .calBox .cal .inner{
    height:300px;
    position: relative;
    box-sizing: border-box;
    padding: 19px;
    border-radius: 20px;
    border:1px solid #707070;
    display: grid;
    gap:20px;
}
.daycare .priceArea .calBox .cal .inner::after{
    content: "+";
    font-size:60px;
    font-weight: bold;
    width:60px;
    height:60px;
    line-height: 60px;
    display: block;
    position: absolute;
    top:0;
    left:100%;
    bottom:0;
    margin: auto;
}
.daycare .priceArea .calBox .cal:nth-of-type(3) .inner::after{
    content: "＝";
}
.daycare .priceArea .calBox .cal:nth-of-type(4) .inner::after{
    display: none;
}
.daycare .priceArea .calBox .cal .inner h5{
    font-size:24px;
    line-height: 35px;
    font-weight: bold;
    color:#CA455A;
    text-align: center;
}
.daycare .priceArea .calBox .cal .inner .icon{
    width:100%;
    height:50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.daycare .priceArea .calBox .cal .inner .icon{
    width:100%;
    height:100%;
    object-fit: contain;
}
.daycare .priceArea .calBox .cal .inner .textArea{
    width:100%;
    height:120px;
    display: flex;
    gap:10px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border-radius: 14px;
}
.daycare .priceArea .calBox .cal:nth-of-type(1) .inner .textArea{
    background: #FF9EAD;
}
.daycare .priceArea .calBox .cal:nth-of-type(2) .inner .textArea{
    background: #FF9EAD;
}
.daycare .priceArea .calBox .cal:nth-of-type(3) .inner .textArea{
    background: #97E3C5;
}
.daycare .priceArea .calBox .cal:nth-of-type(4) .inner .textArea{
    background: #F8A5FF;
}
.daycare .priceArea .calBox .cal .inner .textArea h6{
    text-align: center;
    color:#FFFFFF;
}
.daycare .priceArea .calBox .cal .inner .textArea p{
    width:calc(100% - 30px);
    font-size:14px;
    line-height: 18px;
    background: #FFFFFF;
    padding: 5px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 8px;
    margin: 0 auto;
}
.daycare .priceArea .calBox .cal .text{
    font-size:16px;
    margin-top: 30px;
}
.daycare .priceArea .btn001{
    width:550px;
    margin-top: 30px;
}
.daycare .priceArea .table003{
    width:100%;
    margin-top: 20px;
}
.daycare .priceArea .table003 thead th{
    width:18%;
    border:1px solid #707070;
    background: #FF94AB;
    text-align: left;
    vertical-align: middle;
    font-size:24px;
    font-weight: bold;
    height:110px;
    padding: 15px;
    color:#FFFFFF;
    box-sizing: border-box;
}
.daycare .priceArea .table003 thead td{
    border:1px solid #707070;
    background: #FF94AB;
    text-align: center;
    vertical-align: middle;
    font-size:24px;
    font-weight: bold;
    height:110px;
    color:#FFFFFF;
}
.daycare .priceArea .inner:nth-of-type(1) .table003 thead td:nth-of-type(1){
    width:17.5%;
}
.daycare .priceArea .inner:nth-of-type(1) .table003 thead td:nth-of-type(2){
    width:21.5%;
}
.daycare .priceArea .inner:nth-of-type(1) .table003 thead td:nth-of-type(3){
    width:26.5%;
}
.daycare .priceArea .inner:nth-of-type(1) .table003 thead td:nth-of-type(4){
    width:16.5%;
}
.daycare .priceArea .inner:nth-of-type(2) .table003 thead td:nth-of-type(1){
    width:39%;
}
.daycare .priceArea .inner:nth-of-type(2) .table003 thead td:nth-of-type(2){
    width:43%;
}
.daycare .priceArea .table003 tbody th{
    border:1px solid #707070;
    background: #FFD6DF;
    text-align: left;
    vertical-align: middle;
    font-size:24px;
    font-weight: bold;
    height:80px;
    padding: 15px;
    box-sizing: border-box;
}
.daycare .priceArea .table003 tbody td{
    border:1px solid #707070;
    font-size:24px;
    text-align: center;
    vertical-align: middle;
    height:80px;
}
.daycare .emptyArea .table004{
    width:100%;
    margin-bottom: 30px;
}
.daycare .emptyArea .table004 thead th{
    width:21.25%;
    border:1px solid #707070;
    background: #FFD6DF;
    height:80px;
}
.daycare .emptyArea .table004 thead td{
    width:11.25%;
    border:1px solid #707070;
    background: #FFD6DF;
    text-align: center;
    vertical-align: middle;
    font-size:24px;
    font-weight: bold;
}
.daycare .emptyArea .table004 tbody tr th{
    font-size:24px;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
    background:#FFD6DF;
    border:1px solid #707070;
    padding: 15px;
    box-sizing: border-box;
}
.daycare .emptyArea .table004 tbody tr td{
    font-size:24px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    border:1px solid #707070;
}
.daycare .emptyArea .telArea{
    text-align: center;
    margin-bottom: 40px;
}
.daycare .emptyArea .telArea .tel,
.daycare .emptyArea .telArea .tel a{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:90px;
    font-family: 'impact',sans-serif;
    letter-spacing: 3px;
}
.daycare .emptyArea .telArea .tel::before{
    content: "";
    background: url("../images/daycare/icon_tel.png") no-repeat center center / contain;
    width:54px;
    height:70px;
    margin-right: 20px;
}
@media (max-width: 768px) {
    .daycare{
        font-size:14px;
    }
    .daycare h3.style001{
        margin-bottom:30px;
    }
    .daycare .contentWidth{
        margin: 50px auto 50px auto;
    }
    .daycare .aboutArea .flexBox{
        display: block;
    }
    .daycare .aboutArea .flexBox .textArea{
        width:100%;
        gap:30px;
        margin-bottom: 30px;
    }
    .daycare .aboutArea .flexBox .textArea h4{
        width:calc(100% - 80px);
        font-size:18px;
    }
    .daycare .aboutArea .flexBox .textArea h4::before{
        right:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .daycare .aboutArea .flexBox .textArea h4::after{
        left:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .daycare .aboutArea .flexBox .picArea{
        width:100%;
    }
    .daycare .aboutArea .flexBox .slider .pic{
        width:90vw;
        height:auto;
        border-radius: 10px; 
    }
    .daycare .aboutArea .flexBox .pager{
        overflow: hidden;
    }
    .daycare .aboutArea .flexBox .pager .pic{
        width:80px;
    }
    .daycare .onedayArea .flexBox{
        display: block;
    }
    .daycare .onedayArea .flexBox .textArea{
        width:100%;
        gap:20px;
    }
    .daycare .onedayArea .flexBox .textArea .text time{
        padding-left: 0;
    }
    .daycare .onedayArea .flexBox .textArea .line{
        left:110px;
        gap:20px;
    }
    .daycare .onedayArea .flexBox .picArea{
        width:100%;
        margin-top: 30px;
    }
    .daycare .priceArea .boxArea .box{
        margin-top: 40px;
    }
    .daycare .priceArea .boxArea .box .color{
        gap:20px;
        margin-top: 40px;
    }
    .daycare .priceArea .boxArea .box .color li{
        gap:10px;
        font-size:14px;
    }
    .daycare .priceArea .calBox{
        width:1200px;
    }
    .daycare .priceArea .btn001{
        width:100%;
    }
    .daycare .priceArea .table003{
        width:1200px;
    }
    .daycare .emptyArea .table004{
        width:1200px;
        margin-bottom: 0;
    }
    .daycare .emptyArea .telArea .tel,
    .daycare .emptyArea .telArea .tel a{
        font-size:32px;
    }
    .daycare .emptyArea .telArea .tel::before {
        width: 27px;
        height: 35px;
    }
}

/*--------------------------------------
    rehabilitation
--------------------------------------*/

.rehabilitation{
    font-size:18px;
}
.rehabilitation h3.style001{
    margin-bottom:50px;
}
.rehabilitation .contentWidth{
    margin: 100px auto 100px auto;
}
.rehabilitation .aboutArea .textArea{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.rehabilitation .aboutArea .textArea h3{
    margin-bottom: 70px;
}
.rehabilitation .aboutArea .textArea h4{
    font-size:34px;
    font-weight: bold;
    position: relative;
    margin-bottom: 55px;
}
.rehabilitation .aboutArea .textArea h4::before{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "“";
    position: absolute;
    top:-20px;
    right:calc(100% + 20px);
    font-size:140px;
    line-height: 1;
    color:#FCEFF2;
}
.rehabilitation .aboutArea .textArea h4::after{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "”";
    position: absolute;
    top:100%;
    left:calc(100% + 20px);
    font-size:140px;
    line-height: 60px;
    color:#FCEFF2;
}
.rehabilitation .aboutArea .textArea .text{
    width:100%;
    margin-top: 40px;
}
.rehabilitation .onedayArea .flexBox{
    justify-content: space-between;
    margin-top: 55px;
}
.rehabilitation .onedayArea .flexBox:nth-of-type(2){
    flex-direction: row-reverse;
}
.rehabilitation .onedayArea .flexBox .picArea{
    width:880px;
    height:430px;
}
.rehabilitation .onedayArea .flexBox:nth-of-type(2) .picArea{
    width:870px;
    height:530px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap:30px;
}
.rehabilitation .onedayArea .flexBox .picArea img{
    width:100%;
    height:100%;
    object-fit: cover;
    border-radius: 15px;
}
.rehabilitation .onedayArea .flexBox .textArea{
    width:270px;
}
.rehabilitation .onedayArea .flexBox:nth-of-type(2) .textArea{
    width:270px;
}
.rehabilitation .serviceArea .boxArea{
    display: grid;
    gap:60px;
}
.rehabilitation .serviceArea .flexBox{
    display: flex;
    gap:50px;
}
.rehabilitation .serviceArea .flexBox .picArea{
    width:680px;
    height:400px;
    border-radius: 15px;
    overflow: hidden;
}
.rehabilitation .serviceArea .flexBox .picArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.rehabilitation .serviceArea .flexBox .textArea{
    width:470px;
}
@media (max-width: 768px) {
    .rehabilitation{
        font-size:14px;
    }
    .rehabilitation h3.style001{
        margin-bottom:30px;
    }
    .rehabilitation .contentWidth{
        margin: 50px auto 50px auto;
    }
    .rehabilitation .aboutArea .textArea h3{
        margin-bottom: 30px;
    }
    .rehabilitation .aboutArea .textArea h4{
        width:calc(100% - 80px);
        font-size:18px;
        margin-bottom: 30px;
    }
    .rehabilitation .aboutArea .textArea h4::before{
        right:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .rehabilitation .aboutArea .textArea h4::after{
        left:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .rehabilitation .aboutArea .textArea .text{
        margin-top: 30px;
    }
    .rehabilitation .onedayArea .flexBox{
        display: block;
        margin-top: 30px;
    }
    .rehabilitation .onedayArea .flexBox .picArea{
        width:100%;
        height:auto;
        aspect-ratio:88 / 43;
    }
    .rehabilitation .onedayArea .flexBox:nth-of-type(2) .picArea{
        width:100%;
        height:auto;
        aspect-ratio:87 / 53;
        gap:10px;
    }
    .rehabilitation .onedayArea .flexBox .textArea{
        width:100%;
    }
    .rehabilitation .onedayArea .flexBox:nth-of-type(2) .textArea{
        width:100%;
    }
    .rehabilitation .serviceArea .boxArea{
        display: grid;
        gap:40px;
    }
    .rehabilitation .serviceArea .flexBox{
        display: block;
    }
    .rehabilitation .serviceArea .flexBox .picArea{
        width:100%;
        height:auto;
        aspect-ratio:17 / 10;
    }
    .rehabilitation .serviceArea .flexBox .textArea{
        width:100%;
        margin-top: 30px;
    }
}

/*--------------------------------------
    nutrition
--------------------------------------*/

.nutrition{
    font-size:18px;
}
.nutrition h3.style001{
    margin-bottom:50px;
}
.nutrition .contentWidth{
    margin: 100px auto 100px auto;
}
.nutrition .aboutArea .textArea{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.nutrition .aboutArea .textArea h3{
    margin-bottom: 70px;
}
.nutrition .aboutArea .textArea h4{
    font-size:34px;
    font-weight: bold;
    position: relative;
    margin-bottom: 55px;
}
.nutrition .aboutArea .textArea h4::before{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "“";
    position: absolute;
    top:-20px;
    right:calc(100% + 20px);
    font-size:140px;
    line-height: 1;
    color:#FCEFF2;
}
.nutrition .aboutArea .textArea h4::after{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    content: "”";
    position: absolute;
    top:100%;
    left:calc(100% + 20px);
    font-size:140px;
    line-height: 60px;
    color:#FCEFF2;
}
.nutrition .aboutArea .textArea .text{
    width:100%;
    margin-top: 40px;
}
.nutrition .varArea .flexBox{
    margin-top: 50px;
    justify-content: space-between;
}
.nutrition .varArea .flexBox figure{
    width:380px;
}
.nutrition .varArea .flexBox figure img{
    width:380px;
    height:280px;
    border-radius: 8px;
    object-fit: cover;
}
.nutrition .varArea .flexBox figure figcaption{
    font-weight: bold;
    font-size:30px;
    margin-top: 20px;
    text-align: center;
}
.nutrition .eventArea .flexBox{
    justify-content: space-between;
}
.nutrition .eventArea .picArea{
    width:680px;
    height:500px;
    border-radius: 15px;
    overflow: hidden;
}
.nutrition .eventArea .picArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.nutrition .eventArea .textArea{
    width:470px;
}
@media (max-width: 768px) {
    .nutrition{
        font-size:14px;
    }
    .nutrition h3.style001{
        margin-bottom:30px;
    }
    .nutrition .contentWidth{
        margin: 50px auto 50px auto;
    }
    .nutrition .aboutArea .textArea h3{
        margin-bottom: 30px;
    }
    .nutrition .aboutArea .textArea h4{
        width:calc(100% - 80px);
        font-size:18px;
        margin-bottom: 30px;
    }
    .nutrition .aboutArea .textArea h4::before{
        right:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .nutrition .aboutArea .textArea h4::after{
        left:calc(100% + 10px);
        font-size:24px;
        line-height: 30px;
    }
    .nutrition .aboutArea .textArea .text{
        margin-top: 30px;
    }
    .nutrition .varArea .flexBox{
        margin-top: 30px;
        display: block;
    }
    .nutrition .varArea .flexBox figure{
        width:100%;
    }
    .nutrition .varArea .flexBox figure img{
        width:100%;
        height:auto;
        aspect-ratio:19 / 14;
    }
    .nutrition .varArea .flexBox figure figcaption{
        font-size:20px;
        margin-top: 10px;
    }
    .nutrition .eventArea .flexBox{
        display: block;
    }
    .nutrition .eventArea .picArea{
        width:100%;
        height:auto;
        aspect-ratio:34 / 25;
        margin-bottom: 20px;
    }
    .nutrition .eventArea .textArea{
        width:100%;
    }
}

/*--------------------------------------
    recruit
--------------------------------------*/

.recruit{
    font-size:18px;
}
.recruit .contentWidth{
    margin: 100px auto 100px auto;
}
.recruit .anchorArea .anchor li:nth-child(2){
    width:440px;
}
.recruit h3.style001{
    margin-bottom: 25px;
}
.recruit .fukuri .boxArea{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap:85px 20px;
    counter-reset: number 0;
}
.recruit .fukuri .boxArea .box{
    width:285px;
    height:200px;
    position: relative;
    counter-increment: number 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap:25px;
}
.recruit .fukuri .boxArea .box::after{
    content: counter(number, decimal-leading-zero) "";
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:250px;
    font-weight: bold;
    color:rgba(92,111,36,0.1);
}
.recruit .fukuri .boxArea h5{
    font-size:20px;
    font-weight: bold;
    color:#5C6F24;
    text-align: center;
}
.recruit .data{
    padding: 100px 0 110px 0;
    background: rgba(255,220,228,0.5);
    margin: 100px auto 100px auto;
}
.recruit .data h4.style001{
    background: #FFFFFF;
}
.recruit .data .dataArea{
    width:1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.recruit .data .dataArea .dataBox001{
    width:560px;
    height:370px;
    background: #FFFFFF;
    box-sizing: border-box;
    position: relative;
    padding: 25px 30px;
    display: flex;
    gap:20px;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}
.recruit .data .dataArea .dataBox002{
    width:560px;
    height:370px;
    background: #FFFFFF;
    box-sizing: border-box;
    position: relative;
    padding: 25px 30px;
    display: flex;
    gap:20px;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}
.recruit .data .dataArea .dataContent{
    display: flex;
    gap:45px;
    position: relative;
}
.recruit .data .dataArea .dataBox001 .dataContent::after{
    content: "";
    width:230px;
    height:328px;
    position: absolute;
    top:0;
    right:0;
    background: url("../images/recruit/icon_data_001.png") no-repeat center center / contain;
}
.recruit .data .dataArea .dataBox002 .dataContent::after{
    content: "";
    width:230px;
    height:328px;
    position: absolute;
    top:0;
    right:0;
    background: url("../images/recruit/icon_data_002.png") no-repeat center center / contain;
}
.recruit .data .dataArea .dataContent h5{
    line-height: 42px;
    font-size:42px;
    font-weight: bold;
    color:#CA455A;
    writing-mode: vertical-rl;
    position: relative;
    z-index: 60;
}
.recruit .data .dataArea .dataContent ul{
    width:416px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:5px 25px;
    position: relative;
    z-index: 60;
}
.recruit .data .dataArea .dataBox001 .dataContent ul li{
    font-size:36px;
    font-weight: bold;
}
.recruit .data .dataArea .dataBox001 .dataContent ul li span{
    font-size:100px;
    font-weight: bold;
    line-height: 1;
}
.recruit .data .dataArea .dataBox002 .dataContent ul li{
    font-size:30px;
    font-weight: bold;
}
.recruit .data .dataArea .dataBox002 .dataContent ul li span{
    font-size:60px;
    font-weight: bold;
    line-height: 1;
}
.recruit .data .dataArea .dataContent .comment{
    display: block;
    font-size:16px;
    position: absolute;
    right:0;
    top:100%;
    text-align: right;
    z-index: 60;
}
.recruit .data .dataArea .text{
    position: relative;
    z-index: 60;
}
.recruit .work h5{
    line-height: 24px;
    font-size:24px;
    font-weight: bold;
    color:#CA455A;
    margin-top: 70px;
    margin-bottom: 20px;
}
.recruit .work ul{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 70px;
}
.recruit .work ul li{
    font-size:18px;
    margin: 0 10px 10px 0;
}
.recruit .work ul li::before{
    content: "・";
    margin-right: 5px;
}
.recruit .work table.table001 th{
    min-height: 96px;
    padding:30px 0 30px 0;
}
.recruit .work table.table001 td{
    min-height: 96px;
    padding:30px 0 30px 36px;
}
@media (max-width: 768px) {
    .recruit{
        font-size:14px;
    }
    .recruit .contentWidth{
        margin: 50px auto 50px auto;
    }
    .recruit .data .contentWidth{
        width:100%;
        margin: 10px auto 30px auto;
    }
    .recruit .anchorArea .anchor li:nth-child(2){
        width:calc(50% - 10px);
    }
    .recruit h3.style001{
        margin-bottom: 20px;
    }
    .recruit .fukuri .boxArea{
        grid-template-columns: 1fr 1fr;
        gap:20px;
    }
    .recruit .fukuri .boxArea .box{
        width:auto;
        height:auto;
        gap:15px;
    }
    .recruit .fukuri .boxArea .box::after{
        font-size:25vw;
    }
    .recruit .fukuri .boxArea h5{
        font-size:14px;
    }
    .recruit .data{
        padding: 50px 10px;
        margin: 50px auto 0 auto;
    }
    .recruit .data .dataArea{
        width:100%;
        display: block;
    }
    .recruit .data .dataArea .dataBox001{
        width:100%;
        height:auto;
        padding: 15px 20px;
        margin-bottom: 20px;
    }
    .recruit .data .dataArea .dataBox002{
        width:100%;
        height:auto;
        padding: 15px 20px;
    }
    .recruit .data .dataArea .dataContent{
        width:100%;
        display: block;
    }
    .recruit .data .dataArea .dataBox001 .dataContent::after{
        height:250px;
    }
    .recruit .data .dataArea .dataBox002 .dataContent::after{
        height:250px;
    }
    .recruit .data .dataArea .dataContent h5{
        line-height: 1;
        font-size:20px;
        margin-bottom: 20px;
        writing-mode: lr;
    }
    .recruit .data .dataArea .dataContent ul{
        width:100%;
        gap:5px 10px;
    }
    .recruit .data .dataArea .dataBox001 .dataContent ul li{
        font-size:24px;
    }
    .recruit .data .dataArea .dataBox002 .dataContent ul li{
        font-size:24px;
    }
    .recruit .data .dataArea .dataBox002 .dataContent ul li span{
        font-size:46px;
    }
    .recruit .data .dataArea .dataContent .comment{
        font-size:12px;
    }
    .recruit .work h5{
        font-size:14px;
        margin-top: 30px;
        margin-bottom: 15px;
    }
    .recruit .work ul{
        margin-bottom: 40px;
    }
    .recruit .work ul li{
        font-size:14px;
    }
    .recruit .work table.table001 th{
        min-height: auto;
        padding:15px 10px;
    }
    .recruit .work table.table001 td{
        min-height: auto;
        padding:15px 10px;
    }
}

/*--------------------------------------
    access
--------------------------------------*/

.access{
    font-size:18px;
}
.access .contentWidth{
    margin: 100px auto 100px auto;
}
.access .box{
    margin-top: 60px;
}
.access .flexBox{
    justify-content: space-between;
}
.access .box .picArea{
    width:700px;
    height:400px;
}
.access .box .picArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.access .box .textArea{
    width:450px;
}
.access .box .textArea .link{
    margin-top: 50px;
}
.access .box .textArea .link a{
    width:373px;
    height:55px;
    font-size:22px;
    display: flex;
    font-weight: bold;
    justify-content: space-between;
    box-sizing: border-box;
    border-bottom: 1px solid #000000;
    padding-bottom: 18px;
}
.access .box .textArea .link a:after{
    font-size:34px;
    line-height: 36px;
    content: "→";
    font-weight: bold;
}
@media (max-width: 768px) {
    .access{
        font-size:14px;
    }
    .access .contentWidth{
        margin: 50px auto 50px auto;
    }
    .access .box{
        margin-top: 30px;
    }
    .access .flexBox{
        display: block;
    }
    .access .box .picArea{
        width:100%;
        height:auto;
        aspect-ratio:7 / 4;
        margin-bottom: 20px;
    }
    .access .box .textArea{
        width:100%;
        margin-bottom: 20px;
    }
    .access .box .textArea .link{
        margin-top: 30px;
    }
    .access .box .textArea .link a{
        width:240px;
        height:40px;
        font-size:14px;
        padding-bottom: 12px;
        margin: 30px auto 0;
    }
    .access .box .textArea .link a:after{
        font-size:24px;
        line-height: 24px;
    }
}

/*--------------------------------------
    welfare
--------------------------------------*/

.welfare{
    font-size:18px;
}
.welfare .contentWidth{
    margin: 100px auto 100px auto;
}
.welfare .flexBox{
    justify-content: space-between;
    margin-bottom: 70px;
}
.welfare .flexBox:nth-of-type(2){
    flex-direction: row-reverse;
}
.welfare .flexBox .textArea{
    width:600px;
}
.welfare .flexBox .picArea{
    width:500px;
    height:300px;
}
.welfare .formArea .text{
    line-height: 32px;
}
.welfare .formArea .text_red{
    color:#FF0000;
    line-height: 32px;
}
.welfare .formArea .text_red span{
    width:24px;
    height: 24px;
    display: inline-block;
    line-height: 24px;
    text-align: center;
    background: #CA455A;
    color:#FFFFFF;
    margin-top: 4px;
    margin-right: 4px;
}
.welfare .formArea .inner{
    padding: 80px 70px;
    background: #F3F3F3;
    margin-top: 45px;
}
.welfare .formArea table th {
    width: 226px;
    min-height: 64px;
    line-height: 24px;
    vertical-align: top;
    font-weight: bold;
    color:#CA455A;
    padding-top: 20px;
    padding-right: 20px;
    text-align: left;
}
.welfare .formArea table td {
    width: 832px;
    height:64px;
    padding: 5px 0;
    text-align: left;
}
.welfare .formArea table tr th span.required{
    float: right;
    width:24px;
    height: 24px;
    display: inline-block;
    line-height: 24px;
    text-align: center;
    background: #CA455A;
    color:#FFFFFF;
}
.welfare .formArea table tr td input:focus,
.welfare .formArea table tr td textarea:focus{
	outline:none !important;
}
.welfare .formArea table tr td input[type="text"],
.welfare .formArea table tr td input[type="email"],
.welfare .formArea table tr td input[type="tel"],
.welfare .formArea table tr td input[type="password"]{
	padding:10px;
	box-sizing: border-box;
	font-family: inherit;
	background: #FFFFFF;
	line-height: 1.5;
	width:100%;
    height:50px;
	border-radius: 4px;
    border:none;
}
.welfare .formArea table tr td select{
	width:352px;
    padding:10px;
	box-sizing: border-box;
	font-family: inherit;
	background: #FFFFFF;
	line-height: 1.5;
    height:50px;
	border-radius: 4px;
    border:none;
}
.welfare .formArea table tr td textarea{
	width:100%;
	height:240px;
	padding:10px;
	box-sizing: border-box;
	font-family: inherit;
	background: #FFFFFF;
	line-height: 1.5;
	border-radius: 4px;
    border:none;
}
.welfare .formArea table tr td input::placeholder,
.welfare .formArea table tr td textarea::placeholder{
	color:rgba(69,88,105,0.5);
}
.welfare .formArea .button{
    margin-top: 75px;
}
.welfare .formArea .button .btn001{
    width:350px;
    height:60px;
    margin: 0 auto;
    position: relative;
}
.welfare .formArea .button .btn001 input{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
    background: #CA455A;
    border:2px solid #CA455A;
    box-sizing: border-box;
    border-radius: 30px;
    font-size:18px;
    color:#FFFFFF;
    padding-right: 30px;
    transition: 0.3s;
}
.welfare .formArea .button .btn001::after{
    content: "";
    background: url("../common/images/icon_arrow.png") no-repeat center center/contain;
    width:23px;
    height:6px;
    display: block;
    position: absolute;
    right:60px;
    bottom:50%;
}
.welfare .formArea .button .btn001 input:hover{
    opacity: 0.5;
}
.welfare .telArea{
    margin-top: 100px;
}
.welfare .telArea .inner{
    width:960px;
    margin: 60px auto 0 auto;
}
.welfare .telArea .inner .box{
    display: flex;
    gap:20px;
    align-items: center;
}
.welfare .telArea .inner .box:nth-of-type(1){
    border-bottom: 1px solid #707070;
    padding-bottom: 35px;
    margin-bottom: 35px;
}
.welfare .telArea .inner .box .text{
    width:315px
}
.welfare .telArea .inner .box .tel,
.welfare .telArea .inner .box .tel a{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:90px;
    font-family: 'impact',sans-serif;
    letter-spacing: 3px;
}
.welfare .telArea .inner .box .tel::before{
    content: "";
    background: url("../images/admission/icon_tel.png") no-repeat center center / contain;
    width:54px;
    height:70px;
    margin-right: 20px;
}
@media (max-width: 768px) {
    .welfare{
        font-size:14px;
    }
    .welfare .contentWidth{
        margin: 50px auto 50px auto;
    }
    .welfare .flexBox{
        display: block;
        margin-bottom: 30px;
    }
    .welfare .flexBox .textArea{
        width:100%;
        margin-bottom: 20px;
    }
    .welfare .flexBox .picArea{
        width:100%;
        height:auto;
    }
    .welfare .formArea .text_red{
        font-size:14px;
    }
    .welfare .formArea .inner{
        padding: 20px;
        margin-top: 30px;
    }
    .welfare .formArea table,
    .welfare .formArea table tbody,
    .welfare .formArea table tbody tr,
    .welfare .formArea table tbody tr th,
    .welfare .formArea table tbody tr td{
        display: block;
    }
    .welfare .formArea table th {
        width: 100%;
        min-height: 50px;
    }
    .welfare .formArea table td {
        width: 100%;
        height:auto;
    }
    .welfare .formArea table tr td select{
        width:100%;
    }
    .welfare .formArea .button{
        margin-top: 40px;
    }
    .welfare .formArea .button .btn001{
        width:240px;
        height:50px;
    }
    .welfare .formArea .button .btn001 input{
        font-size:14px;
        padding-right: 20px;
    }
    .welfare .formArea .button .btn001::after{
        right:20px;
    }
    .welfare .telArea{
        margin-top: 40px;
    }
    .welfare .telArea .inner{
        width:100%;
        margin: 30px auto 0 auto;
    }
    .welfare .telArea .inner .box{
        display: block;
    }
    .welfare .telArea .inner .box .tel{
        margin-top: 20px;
    }
    .welfare .telArea .inner .box .tel,
    .welfare .telArea .inner .box .tel a{
        font-size:32px;
    }
    .welfare .telArea .inner .box .tel::before{
        width: 27px;
        height: 35px;
    }
}

/*--------------------------------------
    contact
--------------------------------------*/

.contact{
    font-size:18px;
}
.contact .contentWidth{
    margin: 100px auto 100px auto;
}
.contact .formArea .text{
    line-height: 32px;
}
.contact .formArea .text_red{
    color:#FF0000;
    line-height: 32px;
}
.contact .formArea .text_red span{
    width:24px;
    height: 24px;
    display: inline-block;
    line-height: 24px;
    text-align: center;
    background: #CA455A;
    color:#FFFFFF;
    margin-top: 4px;
    margin-right: 4px;
}
.contact .formArea .inner{
    padding: 80px 70px;
    background: #F3F3F3;
    margin-top: 45px;
}
.contact .formArea table th {
    width: 226px;
    min-height: 64px;
    line-height: 24px;
    vertical-align: top;
    font-weight: bold;
    color:#CA455A;
    padding-top: 20px;
    padding-right: 20px;
    text-align: left;
}
.contact .formArea table td {
    width: 832px;
    height:64px;
    padding: 5px 0;
    text-align: left;
}
.contact .formArea table tr th span.required{
    float: right;
    width:24px;
    height: 24px;
    display: inline-block;
    line-height: 24px;
    text-align: center;
    background: #CA455A;
    color:#FFFFFF;
}
.contact .formArea table tr td input:focus,
.contact .formArea table tr td textarea:focus{
	outline:none !important;
}
.contact .formArea table tr td input[type="text"],
.contact .formArea table tr td input[type="email"],
.contact .formArea table tr td input[type="tel"],
.contact .formArea table tr td input[type="password"]{
	padding:10px;
	box-sizing: border-box;
	font-family: inherit;
	background: #FFFFFF;
	line-height: 1.5;
	width:100%;
    height:50px;
	border-radius: 4px;
    border:none;
}
.contact .formArea table tr td select{
	width:352px;
    padding:10px;
	box-sizing: border-box;
	font-family: inherit;
	background: #FFFFFF;
	line-height: 1.5;
    height:50px;
	border-radius: 4px;
    border:none;
}
.contact .formArea table tr td textarea{
	width:100%;
	height:240px;
	padding:10px;
	box-sizing: border-box;
	font-family: inherit;
	background: #FFFFFF;
	line-height: 1.5;
	border-radius: 4px;
    border:none;
}
.contact .formArea table tr td input::placeholder,
.contact .formArea table tr td textarea::placeholder{
	color:rgba(69,88,105,0.5);
}
.contact .formArea .button{
    margin-top: 75px;
}
.contact .formArea .button .btn001{
    width:350px;
    height:60px;
    margin: 0 auto;
    position: relative;
}
.contact .formArea .button .btn001 input{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
    background: #CA455A;
    border:2px solid #CA455A;
    box-sizing: border-box;
    border-radius: 30px;
    font-size:18px;
    color:#FFFFFF;
    padding-right: 30px;
    transition: 0.3s;
}
.contact .formArea .button .btn001::after{
    content: "";
    background: url("../common/images/icon_arrow.png") no-repeat center center/contain;
    width:23px;
    height:6px;
    display: block;
    position: absolute;
    right:60px;
    bottom:50%;
}
.contact .formArea .button .btn001 input:hover{
    opacity: 0.5;
}
@media (max-width: 768px) {
    .contact{
        font-size:14px;
    }
    .contact .contentWidth{
        margin: 50px auto 50px auto;
    }
    .contact .formArea .text_red{
        font-size:14px;
    }
    .contact .formArea .inner{
        padding: 20px;
        margin-top: 30px;
    }
    .contact .formArea table,
    .contact .formArea table tbody,
    .contact .formArea table tbody tr,
    .contact .formArea table tbody tr th,
    .contact .formArea table tbody tr td{
        display: block;
    }
    .contact .formArea table th {
        width: 100%;
        min-height: 50px;
    }
    .contact .formArea table td {
        width: 100%;
        height:auto;
    }
    .contact .formArea table tr td select{
        width:100%;
    }
    .contact .formArea .button{
        margin-top: 40px;
    }
    .contact .formArea .button .btn001{
        width:240px;
        height:50px;
    }
    .contact .formArea .button .btn001 input{
        font-size:14px;
        padding-right: 20px;
    }
    .contact .formArea .button .btn001::after{
        right:20px;
    }
}

/*--------------------------------------
    privacy
--------------------------------------*/

.privacy{
    font-size:18px;
}
.privacy .contentWidth{
    margin: 100px auto 100px auto;
}
.privacy h5{
    font-size:26px;
    font-weight: bold;
    color:#5C6F24;
    display: flex;
    gap:12px;
    height:40px;
    align-items: center;
    margin-bottom:30px;
}
.privacy h5::before{
    content: "";
    background: url("../images/introduction/icon_purpose.png") no-repeat center center / contain;
    width:36px;
    height:40px;
}
.privacy p{
    line-height: 1.8;
}
.privacy .text{
    font-weight: bold;
}
.privacy time{
    display: block;
    text-align: right;
    margin-top: 20px;
    margin-bottom: 20px;
    line-height: 1.8;
}
.privacy .inner{
    margin-top: 60px;
}
.privacy .inner ul{
    display: grid;
    gap:12px;
    margin-bottom:50px;
}
.privacy .inner ul li{
    font-size:18px;
    font-weight: bold;
}
.privacy .inner ul li::before{
    content: "・";
}
@media (max-width: 768px) {
    .privacy{
        font-size:14px;
    }
    .privacy .contentWidth{
        margin: 50px auto 50px auto;
    }
    .privacy h5{
        font-size:18px;
        height:30px;
        margin-bottom:20px;
    }
    .privacy h5::before{
        width:27px;
        height:30px;
    }
    .privacy .inner{
        margin-top: 30px;
    }
    .privacy .inner ul{
        margin-bottom:30px;
    }
    .privacy .inner ul li{
        font-size:14px;
    }
}

/*--------------------------------------
    notfound
--------------------------------------*/

.notfound{
    font-size:18px;
}
.notfound .contentWidth{
    margin: 100px auto 100px auto;
}
.notfound .btn001{
    height: 60px;
    margin-top: 50px;
}
@media (max-width: 768px) {
    .notfound{
        font-size:14px;
    }
    .notfound .contentWidth{
        margin: 50px auto 50px auto;
    }
    .notfound .btn001{
        margin-top: 30px;
    }
}

