@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@800&family=Noto+Sans+JP&display=swap');

html{
	font-size: 100%;
	overflow-y:scroll;
}
	body {
		color: #000;
		line-height: 1.5;
		font-family: 'Noto Sans JP', sans-serif;
		-webkit-text-size-adjust: 100%;
		letter-spacing: 1px;
		margin: 0;
	}

/*  PC向けのスタイル：1000px～ */
@media only screen and (min-width: 1300px) {
header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0;
height: 160px;
background: #FBF8E9;
}

h1 {
    background: #FBF8E9;
    width: 360px;
    text-align: center;
    height: 160px;
    z-index: 1;
    border-radius: 0 0 60px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hea_r {
    display: flex;
    z-index: 2;
    padding: 0px 10px 0px 25px;
    background: #FBF8E9;
    margin: 0 100px 0 0;
    border-radius: 35px;
    border: 1px solid #008E66;
}
.hea_r nav {
display: flex;
align-items: center;
}
.h_btn ul {
		display: flex;
	}
	.h_btn ul li {
		margin: 0 20px 0 17px;
	}
.h_btn ul li.hov a {
        position: relative;
        display: inline-block;
        outline: none;
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-weight: 400;
        color: #231815;
        text-shadow: none;
        padding: 10px;
        margin: 10px;
    }

.h_btn ul li.hov a::after {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 3px;
    bottom: 0;
    left: 0;
    background-color: #008E66;
    transform-origin: bottom right;
    transition: transform .4s cubic-bezier(.86, 0, .07, 1);
}
.h_btn ul li.hov a:hover::after{
    transform:scaleX(1);
    transform-origin:bottom left;
}
.main_menu_active::after {
    transform:scaleX(1)!important;
    transform-origin:bottom left!important;
    height: 3px!important;
    bottom: 0!important;
    left: 0!important;
    background-color: #008E66!important;
}
.hov {
  position: relative;
}
.menu_second {
        position: absolute;
        top: 100%;
        left: -120px;
        background: #FBF8E9;
        opacity: 0;
        transform: translateY(-10px);
        pointer-events: none;
        transition: 0.3s ease;
        width: 350px;
        display: block !important;
        z-index: 2;
        border-radius: 0 0 20px 20px;
        border: 1px solid #008E66;
    }

.hov:hover .menu_second {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.menu_second li {
        margin: 10px !important;
    }
.menu_second li a {
        padding: 10px 0 10px 45px !important;
        margin: 0 !important;
    }
.menu_second li a::after {
        content: ""!important;
        position: absolute!important;
        right: 3%!important;
        top: 50%!important;
        transform: translateY(-50%)!important;
        width: 41px!important;
        height: 41px!important;
        background: url(../img/button/button_s.png) no-repeat center!important;
    }
.menu_second li a:hover {
  opacity: .5;
}
.hea_r nav div {
padding-left: 10px;
}

.h_btn_contact a {
    width: 155px;
    height: 49px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    border-radius: 30px;
    position: relative;
    z-index: 0;
    border: 1px solid #008E66;
    overflow: hidden;
}


.h_btn_contact a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.h_btn_contact a:hover{color:#fff}
.h_btn_contact a:hover::before{transform:translateX(0)}





.h_btn_instagram a {
width: 50px;
height: 50px;
background: #fff;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
border-radius: 30px;
font-weight: bold;
}
.h_btn_instagram a:hover {
opacity: .7;
}


.isec_01 {
    width: 100%;
    margin: -160px auto 0;
    background: #FBF8E9;
}
.isec_01m {
  padding: 0 35px;
}

.isec_01_container {
    height: 750px;
    overflow: hidden;
    border-radius: 0 0 60px 60px;
    width: 100%;
    position: relative;
}

.isec_01_container_text {
    position: absolute;
    bottom: calc(50% + -160px);
    left: 100px;
    z-index: 1;
}

.isec_01_container_text p {
    background: #008E66;
    font-size: 280%;
    color: #fff;
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 0px 10px;
    line-height: 95px;
}

.isec_01_container img {
    width: 100%;
    height: 750px;
    object-fit: cover;
    object-position: center;
}


.isec_02 {
    background: #FBF8E9;
    padding: 150px 0 150px;
    width: 100%;
}

.isec_02m {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
}

.isec_02l {
    width: 300px;
    position: relative;
}

.isec_02_h3 {
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-size: 200%;
    letter-spacing: 15px;
    font-weight: 500;
}

.isec_02_h3 span {
    display: block;
    letter-spacing: 3px;
    font-size: 50%;
    font-weight: 900;
    color: #008E66;
    padding: 0 0 0 5px;
}

.isec_02l div {
    position: absolute;
    bottom: 0;
}

.isec_02l div a {
    letter-spacing: 2px;
}


.isec_02l div a:hover{
    text-decoration: underline;
}
.isec_02r {
    width: calc(100% - 300px);
    border-top: 1px solid #009900;
}

.isec_02r dl.nedl {
    padding: 30px 0;
    border-bottom: 1px solid #009900;
    width: 100%;
    background: url(../img/index/isec_02/news_yaji.png) no-repeat 99% center;
}

.isec_02r dl.nedl a:hover{
    text-decoration: underline;
}
.isec_02r dl.nedl dt {
    display: flex;
    padding: 0 0 15px 0;
}
.isec_02r dl.nedl dt span.sp1 {
    color: #888;
    padding: 0 10px 0 0;
}

.isec_02r dl.nedl dt li.osirase {
    background: #ffe100;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 85%;
    padding: 3px 15px;
}

.isec_02r dl.nedl dt li.kunren {
    background: #b2e5e1;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 85%;
    padding: 3px 15px;
}

.isec_02r dl.nedl dt li.seminar{
    background: #ffc7af;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 85%;
    padding: 3px 15px;
}
.isec_03 {
    background: #FBF8E9;
    padding: 0px 0 150px;
    width: 100%;
}

.isec_03m {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    border-radius: 50px;
    padding: 100px 0;
    text-align: center;
    position: relative;
}

.isec_03_h3 {
    letter-spacing: 2px;
    font-weight: 500;
    text-align: center;
}

.isec_03_h3 span {
    font-size: 300%;
    display: block;
    letter-spacing: 8px;
    font-weight: 900;
    color: #008E66;
    padding: 0 0 0 5px;
    position: relative;
    margin: 0px 0 20px;
}

.isec_03_h3 span::after {
    content: '';
    width: 90px;
    height: 2px;
    display: inline-block;
    background-color: #008E66;
    position: absolute;
    bottom: -5px;
    left: calc(50% - 45px);
}

.isec_03_p1 {
    font-size: 220%;
    padding: 70px 0;
    line-height: 63px;
    font-weight: bold;
    letter-spacing: 10px;
}

.isec_03_p1 span {
    color: #008E66;
}

.isec_03_p2 {
    line-height: 35px;
    letter-spacing: 2px;
}

.isec_03img_left {
    position: absolute;
    top: -25px;
    left: -190px;
    transition-duration: 1s;
}
.isec_03img_left img{}

.isec_03img_right {
    position: absolute;
    bottom: -25px;
    right: -190px;
    transition-duration: 1s;
}
.isec_03img_right img{}




.isec_04 {
    background: #FBF8E9;
    padding: 0px 0 100px;
    width: 100%;
}

.isec_04m {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.isec_04_h3 {
    letter-spacing: 2px;
    font-weight: 500;
    text-align: center;
}

.isec_04_h3 span {
    font-size: 300%;
    display: block;
    letter-spacing: 8px;
    font-weight: 900;
    color: #008E66;
    padding: 0 0 0 5px;
    position: relative;
    margin: 0px 0 20px;
}

.isec_04_h3 span::after {
    content: '';
    width: 90px;
    height: 2px;
    display: inline-block;
    background-color: #008E66;
    position: absolute;
    bottom: -5px;
    left: calc(50% - 45px);
}

.isec_04m ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0px;
        margin: 30px auto 70px;
}

.isec_04m ul li {
    display: flex;
}

.isec_04m ul li a {
    display: flex;
    width: 345px;
    height: 80px;
    border-radius: 15px;
    cursor: pointer;
    margin: 7px;
    padding-left: 25px;
    overflow: hidden;
    position: relative;
    z-index: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.isec_04m ul li a span {
    display: block;
}

.isec_04m ul li a::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 41px;
    height: 41px;
    background: url(../img/button/button_s.png) no-repeat center;
    z-index: 2;
}

.isec_04m ul li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.isec_04m ul li a:hover{color:#fff}
.isec_04m ul li a:hover::before{transform:translateX(0)}





.isec_04_button {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
    justify-content: center;
}

.isec_04_button a {
    display: flex;
    align-items: center;
    width: 300px;
    height: 60px;
    font-size: 110%;
    background: #DCED22;
    border-radius: 30px;
    cursor: pointer;
    padding-left: 35px;
overflow: hidden;
    position: relative;
z-index: 0;
}


.isec_04_button a::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 41px;
    height: 41px;
    background: url(../img/button/button_s02.png) no-repeat center;
    z-index: 2;
}


.isec_04_button a span{}


.isec_04_button a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.isec_04_button a:hover{color:#fff}
.isec_04_button a:hover::before{transform:translateX(0)}

.isec_05 {
    padding: 150px 0 100px;
}

.isec_05m {
    display: flex;
    width: 100%;
    max-width: 1100px;
    justify-content: space-between;
    margin: 0 auto;
}

.isec_05l {
    width: 100%;
    max-width: 480px;
    margin: 0 60px 0 0;
}
.isec_05l img {
    width: 100%;
}

.isec_05r {
    width: calc(100% - 540px);
    position: relative;
}

.isec_05_h3 {
    font-size: 210%;
    letter-spacing: 5px;
    color: #008E66;
    font-weight: 700;
}

.isec_05_h3 span {
    color: #000;
    display: block;
    font-weight: 900;
    position: relative;
    margin: 0px 0 20px;
    font-size: 45%;
    letter-spacing: 2px;
}

.isec_05_h3 span::after {
    content: '';
    width: 75px;
    height: 2px;
    display: inline-block;
    background-color: #008E66;
    position: absolute;
    bottom: -10px;
    left: 0;
}


.isec_05_p1 {
    padding: 50px 0 0;
    line-height: 2em;
}

.isec_05_button {
    position: absolute;
    bottom: 0px;
}

.isec_05_button a {
    display: flex;
    align-items: center;
    width: 300px;
    height: 60px;
    font-size: 110%;
    background: #DCED22;
    border-radius: 30px;
    cursor: pointer;
    padding-left: 35px;
overflow: hidden;
    position: relative;
z-index: 0;}

.isec_05_button a span{}





.isec_05_button a::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 41px;
    height: 41px;
    background: url(../img/button/button_s02.png) no-repeat center;
    z-index: 2;
}


.isec_05_button a span{}


.isec_05_button a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.isec_05_button a:hover{color:#fff}
.isec_05_button a:hover::before{transform:translateX(0)}


.isec_06 {
    padding: 100px 0 100px;
}

.isec_06m {
    margin: 0 auto;
    position: relative;
}

.isec_06_img{
    display: block;
    margin: 0 auto;
    height: 550px;
    max-height: 550px;
}

.isec_06_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.isec_06_scroll {
    width: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
}

.isec_06_scroll_content {
    display: flex;
    width: max-content;
    animation: isec_06_scroll 100s linear infinite;
}

.isec_06_group {
  display: flex;
}

.isec_06_text {
  flex: 0 0 auto;
  margin-right: 30px;
}

.isec_06_text img {
  display: block;
  width: auto;
}

@keyframes isec_06_scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}


.isec_07{
    padding: 50px 0 150px;
    width: 100%;
}

.isec_07m {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    background: #FBF8E9;
    border-radius: 50px;
    padding: 80px 0;
}

.isec_07_h3 {
    font-size: 300%;
    letter-spacing: 5px;
    color: #008E66;
    font-weight: 700;
    width: 480px;
    margin: 0 auto;
    position: relative;
}

.isec_07_h3 span {
    color: #000;
    display: block;
    font-weight: 900;
    margin: 0px 0 20px;
    font-size: 45%;
    letter-spacing: 2px;
    text-align: center;
}

.isec_07_h3 span:nth-child(2) {
    position: absolute;
    top: 30px;
    left: 490px;
}


.isec_07_h3 span:nth-child(2)::before {
    content: "";
    position: absolute;
    background: #D1DE3D;
    width: 4px;
    height: 18px;
    transform: rotate(30deg);
    right: 0;
    top: 0;
}

.isec_07_h3 span:nth-child(3) {
    position: absolute;
    top: 50px;
    left: 505px;
}

.isec_07_h3 span:nth-child(3)::before {
    content: "";
    position: absolute;
    background: #D1DE3D;
    width: 4px;
    height: 18px;
    transform: rotate(50deg);
    right: 0;
    top: 0;
}

.isec_07_h3 span:nth-child(4) {
    position: absolute;
    top: 75px;
    left: 515px;
}


.isec_07_h3 span:nth-child(4)::before {
    content: "";
    position: absolute;
    background: #D1DE3D;
    width: 4px;
    height: 18px;
    transform: rotate(90deg);
    right: 0;
    top: 0;
}

.isec_07_box {
    display: flex;
    justify-content: space-around;
    padding: 50px 50px 0;
}

.isec_07_content {
    background: #DCED22;
    width: 100%;
    max-width: 300px;
    height: 280px;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 0 #fff;
}
.isec_07_content a{
    display: block;
    width: 100%;
    max-width: 300px;
    height: 280px;
}

.isec_07_content a:hover img,
.isec_07_content a:hover .isec_07_button {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.isec_07_content a img,
.isec_07_content a .isec_07_button {
    transition: opacity 0.3s ease;
}

.isec_07_h4 {
    display: block;
    padding: 30px 0 0 30px;
    font-size: 140%;
}

.isec_07_h4 span {
    display: block;
    color: #fff;
    font-size: 55%;
    padding: 0 0 5px 0;
}

.isec_07_content:nth-child(1) img {
    position: absolute;
    bottom: -50px;
    right: 15px;
}
.isec_07_content:nth-child(2) img {
    position: absolute;
    bottom: -40px;
    right: 25px;
}
.isec_07_content:nth-child(3) img {
    position: absolute;
    bottom: -15px;
    right: 15px;
}

.isec_07_button {
    position: absolute;
    bottom: 25px;
    left: 50px;
}
.isec_07_button {
    font-size: 80%;
    color: #0F8963;
}

.isec_07_button span {
    display: block;
    margin: 0 0 -3px;
}

.isec_07_button::before {
    content: "";
    position: absolute;
    right: -5px;
    top: -45px;
    width: 41px;
    height: 41px;
    background-image: url(../img/button/button_s02.png);
    background-size: contain;
    background-repeat: no-repeat;
}


isec_08 {
    padding: 50px 0;
}
.isec_08m{}

.isec_08m_title {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto 25px;
        text-align: center;
    }
.isec_08m_title img {
        width: 100%;
        max-width: 500px;
        margin: 0;
    }
.isec_08m_title a:hover {
    opacity: 0.5;
}

.isec_08m_gallery {
  overflow: hidden;
  width: 100%;
}

.isec_08m_gallery_track {
  display: flex;
  width: max-content; 
  animation: isec_08_scroll 200s linear infinite;
}

.isec_08m_gallery_group {
  display: flex;
}

.isec_08m_gallery_photo {
  flex: 0 0 auto;
  margin-right: 30px;
    line-height: 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 
    transform: translateY(0); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.isec_08m_gallery_photo img {
  display: block;
  width: auto;
   filter: brightness(100%);
}


@keyframes isec_08_scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.isec_08m_gallery_track:hover {
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.20);
    animation-play-state: paused;

}

.isec_08m_gallery_photo:hover img {
  filter: brightness(105%);
}


.isec_09 {
    padding: 150px 0 100px;
    text-align: center;
}

.isec_09m {
    position: relative;
}

.isec_09_h3 {
    position: absolute;
    top: calc(50% - 70px);
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    font-size: 300%;
    letter-spacing: 5px;
    font-weight: bold;
}

.isec_09_h3 span {
    display: block;
    font-size: 35%;
    letter-spacing: 2px;
    margin: 0 0 -5px;
    font-weight: normal;
}

.isec_09_p1 {
    position: absolute;
    top: calc(50% + 20px);
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    width: 100%;
}

.isec_09 img {
    width: 100%;
    max-width: 1000px;
}




.isec_09_button {
    position: absolute;
    top: calc(50% + 70px);
    left: calc(50% + -120px);
}

.isec_09_button a {
    display: flex;
    align-items: center;
    width: 240px;
    height: 50px;
    background: #DCED22;
    border-radius: 30px;
    cursor: pointer;
    padding-left: 35px;
    overflow: hidden;
    position: relative;
    z-index: 0;
    opacity: 0.8;
    border: 1px solid #fff;
}




.isec_09_button a::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 41px;
    height: 41px;
    background: url(../img/button/button_s03.png) no-repeat center;
    z-index: 2;
}


.isec_09_button a span{}


.isec_09_button a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.isec_09_button a:hover{color:#fff}
.isec_09_button a:hover::before{transform:translateX(0)}


.isec_10 {
    padding: 50px 0 250px;
    width: 100%;
}



.isec_10m {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.isec_10_h3 {
    text-align: center;
    border-bottom: 0.25px solid #C5E0D7;
    padding: 0 0 30px;
    margin: 0 0 70px;
}

.isec_10_h3 span {
    display: block;
    margin: 0 0 12px;
}

.isec_10_photo {
    display: flex;
    flex-wrap: wrap;
}
.isec_10_photo img{
    padding:2px;
}







.isec_11 {
    background-image: url(../img/footer/isec_11/top_image11.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 100px 0;
}

.isec_11m {
    display: flex;
    width: 94%;
    max-width: 1000px;
    justify-content: space-between;
    margin: 0 auto;
}

.isec_11_content {
    background-color: rgba(255, 255, 255, 1);
    transition: background-color 0.3s ease;
    border-radius: 50px;
    width: 100%;
    max-width: 470px;
    height: 350px;
    overflow: hidden;
    position: relative;
}

.isec_11_content a{
    display: block;
    padding: 50px;
    width: 100%;
    max-width: 470px;
    height: 350px;
}


.isec_11_content:hover {
    background-color: rgba(255, 255, 255, 0.7);
    transition: background-color 0.3s ease;
}
.isec_11_content:hover .isec_11_button{
    background-color: rgba(255, 255, 255, 0.7);
    transition: background-color 0.3s ease;
}
.isec_11_content:hover .isec_11_button{
    opacity: 0.2;
    transition: ease 0.3s opacity;
}

.isec_11_h4 {
    color: #008E66;
    font-size: 170%;
    letter-spacing: 3px;
    padding: 0 0 40px;
}
.isec_11_h4 span {
    display: block;
    font-size: 50%;
    color: #333;
    letter-spacing: 1px;
}

.isec_11m p {
    line-height: 30px;
}

.isec_11_content:nth-child(1) img {
    position: absolute;
    bottom: -25px;
    right: 45px;
}

.isec_11_content:nth-child(2) img {
    position: absolute;
    bottom: -100px;
    right: -30px;
}

.isec_11_button {
    position: absolute;
    bottom: 25px;
    left: 50px;
}


.isec_11_button::before {
    content: "";
    position: absolute;
    right: -50px;
    bottom: 10px;
    width: 60px;
    height: 60px;
    background-image: url(../img/button/button_s04.png);
    background-size: contain;
    background-repeat: no-repeat;
}





footer {
    background: #008E66;
    padding: 100px 0 30px;
}


.foo_m {
    width: 100%;
    margin: 0 auto;
    max-width: 1000px;
    display: flex;
    justify-content: space-between;
    padding-bottom: 50px;
}

.foo_ml {
    padding: 0 150px 0 0;
}
.foo_ml h5 {
    color: #fff;
    padding-bottom: 50px;
}

.foo_ml p {
    color: #fff;
    line-height: 25px;
    font-size: 80%;
}

.foo_mr {
        display: flex;
        margin: 0 0 0 60px;
    }

.foo_mr1 {
        display: flex;
        flex-direction: column;
        margin: 0 10px 0 0;
    }

.foo_mr1 li {
    margin: 10px;
}


.foo_mr1 li a {
    color: #fff;
    position: relative;
    padding: 0 0 0 25px;
}

.foo_mr1 li a span.kaigyou{
    display: block;
    padding: 0 0 0 25px;
}
.foo_mr1 li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 6px;
    width: 13px;
    height: 10px;
    background-image: url(../img/button/button_s01.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.foo_mr2 {
        display: flex;
        flex-direction: column;
        margin: 0 0 0 30px;
    }

.foo_mr2 li {
    margin: 10px;
}


.foo_mr2 li a {
    color: #fff;
    position: relative;
    padding: 0 0 0 25px;
}


.foo_mr2 li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 6px;
    width: 13px;
    height: 10px;
    background-image: url(../img/button/button_s01.png);
    background-size: contain;
    background-repeat: no-repeat;
}



.foo_b {
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    justify-content: space-between;
    color: #fff;
    border-top: #3B9D54 2px solid;
    border-bottom: #3B9D54 2px solid;
    padding: 45px 0;
    font-size: 80%;
}
.foo_b a{    color: #fff;
}


    .top {
        display: block;
        position: fixed;
        right: 15px;
        bottom: 35px;
        width: 60px;
        height: 60px;
        cursor: pointer;
        text-align: center;
    }



.servise_li_color_01 a{
        background: #ffbda9!important;
    }

.servise_li_color_02 a{
        background: #ffccd2!important;
    }

.servise_li_color_03 a{
        background: #ffe664!important;
    }

.servise_li_color_04 a{
        background: #6edc9b!important;
    }

.servise_li_color_05 a{
        background: #50c8d2!important;
    }

.servise_li_color_06 a{
        background: #e4d3ee!important;
    }

.servise_li_color_07 a{
        background: #a9d6dc!important;
    }

.servise_li_color_08 a{
        background: #6ec8eb!important;
    }

.servise_li_color_09 a{
        background: #fdd69a!important;
    }
    
.servise_li_color_10 a{
        background: #d9e480!important;
    }




    
.h2_color_01 {
        background: #ffbda9;
    }
.h2_color_02 {
        background: #ffccd2;
    }

.shoshiki_b {
        font-size: 80% !important;
    }
    
.h2_color_02 span:nth-child(3) {
        font-size: 215% !important;
    }
.h2_color_03 {
        background: #ffe664;
    }
.h2_color_04 {
        background: #6edc9b;
    }
.h2_color_04 span:nth-child(3) {
        font-size: 215% !important;
    }
    
.h2_color_05 {
        background: #50c8d2;
    }
.h2_color_05 span:nth-child(3) {
        font-size: 160% !important;
        letter-spacing: 2px !important;
        top: 95px !important;
    }
.h2_color_05 span:nth-child(3) span {
        font-size: 90% !important;
        padding: 10px 0 !important;
        color: #000 !important;
        font-weight: bold !important;
    }



.h2_color_06 {
        background: #e4d3ee;
    }
.h2_color_06 span:nth-child(3) {
        font-size: 215% !important;
    }
    
.h2_color_07 {
        background: #a9d6dc;
    }
.h2_color_07 span:nth-child(3) {
        font-size: 160% !important;
        letter-spacing: 2px !important;
        top: 95px !important;
    }
.h2_color_07 span:nth-child(3) span {
        font-size: 90% !important;
        padding: 10px 0 !important;
        color: #000 !important;
        font-weight: bold !important;
    }

.h2_color_08 {
        background: #6ec8eb;
    }
.h2_color_08 span:nth-child(3) {
        font-size: 215% !important;
    }

.h2_color_09 {
        background: #fdd69a;
    }
.h2_color_09 span:nth-child(3) {
        font-size: 215% !important;
    }
.h2_color_10 {
        background: #d9e480;
    }
.h2_color_10 span:nth-child(3) {
        font-size: 160% !important;
    }




.h2_contents{
background: #FBF8E9;
}

.h2_contents_span {
        color: #008E66;
    }
.h2_contents span:nth-child(3) {
        font-size: 235% !important;
    }
.h3_color_01 {
        border-bottom: 1px solid #ffbda9;
    }
.h3_color_01::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #ffbda9;
    }

.h3_color_02 {
        border-bottom: 1px solid #ffccd2;
    }
.h3_color_02::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #ffccd2;
    }

.h3_color_03 {
        border-bottom: 1px solid #ffe664;
    }
.h3_color_03::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #ffe664;
    }

.h3_color_04 {
        border-bottom: 1px solid #6edc9b;
    }
.h3_color_04::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #6edc9b;
    }

.h3_color_05 {
        border-bottom: 1px solid #50c8d2;
    }
.h3_color_05::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #50c8d2;
    }

.h3_color_06 {
        border-bottom: 1px solid #e4d3ee;
    }
.h3_color_06::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #e4d3ee;
    }

.h3_color_07 {
        border-bottom: 1px solid #a9d6dc;
    }
.h3_color_07::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #a9d6dc;
    }

.h3_color_08 {
        border-bottom: 1px solid #6ec8eb;
    }
.h3_color_08::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #6ec8eb;
    }

.h3_color_09 {
        border-bottom: 1px solid #fdd69a;
    }
.h3_color_09::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #fdd69a;
    }

.h3_color_10 {
        border-bottom: 1px solid #d9e480;
    }
.h3_color_10::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #d9e480;
    }

    .h3_q_and_a::after {
        content: "";
        position: absolute;
        right: 70px;
        bottom: 0px;
        width: 120px;
        height: 150px;
        background: url(../img/service/qa_icon.png) no-repeat 95% center;
    }



.h3_contents{
        border-bottom: 1px solid #008E66;
    }
.h3_contents::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 12px;
        width: 5px;
        height: 50px;
        background: #008E66;
    }

.h3_contents span {
        color: #008E66;
        font-size: 90%;
        padding: 0 15px 0 0;
    }


.contents_01 {
        width: 100%;
        background: #FBF8E9;
        padding: 20px 0 100px;
    }
.contents_01m {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
    }

.contents_01inner {
        height: 500px;
        overflow: hidden;
        width: 100%;
        position: relative;
    }
.contents_01inner img {
        width: 100%;
        height: 500px;
        object-fit: cover;
        object-position: center;
        border: 1px solid #FBF8E9;
        border-radius: 50px;
    }

.contents_01inner h2 {
        position: absolute;
        width: 400px;
        height: 220px;
        bottom: 0;
        border-radius: 0 50px 0 50px;
        display: flex;
        justify-content: center;
        align-items: start;
        flex-direction: column;
        padding: 0 0 0 70px;
        letter-spacing: 6px;
    }
.contents_01inner h2 span:nth-child(1) {
        color: #008E66;
        font-size: 80%;
        font-weight: normal;
        letter-spacing: 2px;
        display: block;
        padding: 0 0 0 2px;
    position: absolute;
        top: 30px;
    }
.contents_01inner h2 span:nth-child(2) {
        font-size: 100%;
        font-weight: normal;
        letter-spacing: 2px;
        display: block;
        margin-bottom: 5px;
    position: absolute;
        top: 50px;
    }


.contents_01inner h2 span:nth-child(3) {
        font-size: 300%;
        position: absolute;
        top: 85px;
    }





.contents_02 {
        width: 100%;
        background: #FBF8E9;
        padding: 100px 0 0;
    }
.contents_02m {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
    }


.contents_02m h3 {
        font-size: 150%;
        padding: 20px 0 20px 30px;
        position: relative;
        letter-spacing: 5px;
        margin: 0 0 10px 0;
    }


.service01 {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        margin: 0;
        padding: 50px 0 100px;
    }
    .service01_left {
        width: calc(100% - 440px);
        padding: 0 70px 0 10px;
    }
    .service01_left p {
        line-height: 2em;
        letter-spacing: 3px;
    }
    
.service01_right{
    width: 100%;
    max-width: 440px;
}

.service01_right img{
    border-radius: 50px;
    width: 100%;
    max-width: 440px;
}


.service02 {
        margin: 0;
        padding: 50px 0 100px;
    }

.service02 p:nth-child(1) {
        font-size: 105%;
        padding: 0 0 20px;
    }
.service02 p:nth-child(2){}


.q_and_a{
    width: 100%;
    padding: 50px 50px 0;
}

.q_and_a_kaihei {
position: relative;
margin-bottom: 30px;
}
.q_and_a_check {
display: none;
}

.q_and_a_sotomi, .q_and_a_nakami {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.q_and_a_sotomi {
        padding: 20px 40px 20px 70px;
        display: block;
        cursor: pointer;
  background: #fff;
        border-radius: 10px;
    }
    
.q_and_a_sotomi::before {
        content: "Q";
        font-size: 160%;
        left: 25px;
        top: 10px;
        position: absolute;
        color: #E95118;
    }
    
.q_and_a_sotomi::after {
        content: "+";
        font-size: 180%;
        right: 20px;
        top: 10px;
        position: absolute;
        transition: transform 0.3s ease;
        color: #008E66;
    }

.q_and_a_sotomi:hover::before {
        color: #fff;
    }
    
.q_and_a_sotomi:hover::after {
    transform: rotate(90deg); 
    color: #fff;
}

.q_and_a_sotomi:hover {
background: #008E66;
color: #fff;
}

  
.q_and_a_nakami {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transform: translateY(-10px);
  transition:
    grid-template-rows 0.4s ease,
    opacity 0.4s ease,
    transform 0.4s ease;
  background: #fff;
  border-radius: 0 0 10px 10px;
}

.q_and_a_nakami::before {
        content: "A";
        font-size: 160%;
        left: 28px;
        top: 11px;
        position: absolute;
        color: #008E66;
    }
.q_and_a_nakami > div {
  overflow: hidden;
  padding: 0 20px 0 70px;
}

.q_and_a_check:checked + .q_and_a_sotomi + .q_and_a_nakami {
  grid-template-rows: 1fr;

  opacity: 1;
  transform: translateY(0);
  padding: 20px 0;
}

.q_and_a_check:checked + .q_and_a_sotomi {
opacity: .8;
transition: all 1s;
border-radius: 10px 10px 0 0;
}

.q_and_a_check:checked + .q_and_a_sotomi::after {
        content: 'ー';
        font-size: 110%;
        right: 20px;
        top: 20px;
    }
.q_and_a_check:checked + .q_and_a_sotomi:hover::after {
  transform: rotate(0deg);
}

.q_and_a_nakami dl {
        display: flex;
        padding: 0 0 8px;
    }
.q_and_a_nakami dl dt {
        padding: 0 8px 0 0;
    }
.q_and_a_nakami dl dd{}

.width150{
    width: 150px;
}
.q_and_a_p1 {
    text-align: right;
    margin: 20px 0 100px;
}
.q_and_a_p2 {
        font-size: 120%;
        margin: 0 0 20px;
    }
.q_and_a_p3 {
        font-size: 120%;
        margin: 80px 0 20px;
    }



    .job-coach-etc {
        width: 100%;
        padding: 50px;
    }
    .job-coach-etc div {
        display: block;
        max-width: 500px;
        width: 100%;
    }
.job-coach-etc div a {
        display: flex;
        width: 100%;
        height: 80px;
        background: #fff;
        border: 1px solid #ff0000;
        border-radius: 40px;
        cursor: pointer;
        position: relative;
        align-items: self-start;
        justify-content: center;
        flex-direction: column;
        padding-left: 40px;
        margin: 0 0 25px 0;
    }
.job-coach-etc div a::after {
        content: "";
        position: absolute;
        right: 35px;
        bottom: 17px;
        width: 35px;
        height: 40px;
        background: url(../img/service/pdf_icon.png) no-repeat 95% center;
    }
    
.job-coach-etc-p1 {
        margin: 50px 10px 0;
    }
.job-coach-etc-p1 a {
        color: #1e90ff;
        padding: 10px 0 0 16px;
        display: block;
        position: relative;
        width: 250px;
    }



.job-coach-etc-p1 a::after {
        content: "";
        position: absolute;
        top: 20px;
        right: -3px;
        width: 0.75em;
        height: 0.75em;
        border: 1.5px solid currentColor;
        border-radius: 1px;
        transform: translateY(-50%);
        background: #FBF8E9;
    }

.job-coach-etc-p1 a::before {
        content: "";
        position: absolute;
        top: 25px;
        right: 2px;
        width: 0.75em;
        height: 0.75em;
        border: 1.5px solid currentColor;
        border-radius: 1px;
        transform: translateY(-50%);
    }

.service03 {
        margin: 0;
        padding: 50px 0 100px;
    }

.service03-h4 {
        text-align: center;
        background: #008E66;
        margin: 50px auto 30px;
        width: 100%;
        max-width: 900px;
        padding: 25px 0;
        color: #fff;
        font-size: 165%;
        border-radius: 10px;
    }
    
.service03_container {
        position: relative;
        margin: 0 auto 55px;
        width: 100%;
        max-width: 900px;
    }
.service03_container::after {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        bottom: -40px;
        left: calc(50% - 25px);
        border-left: 25px solid transparent;
        border-right: 25px solid transparent;
        border-top: 20px solid #ffd800;
    }
.container_end {
        margin: 0 auto 155px;
    }
    
    
.container_end::after {
        content: none!important;
}
.service03_box {
        position: relative;
        width: 100%;
        background: #fff;
        border-radius: 15px;
        overflow: hidden;
        padding: 0 0 30px;
    }



.service03_box_number {
        position: absolute;
        color: #fff;
        font-weight: bold;
        z-index: 1;
    }
.service03_box_number::before {
        content: "";
        position: absolute;
        border-top: 65px solid #008E66;
        border-right: 65px solid transparent;
        z-index: -1;
    }

.service03_box_number span{
    display: block;
    padding: 5px 0 0 10px;
}


.service03_inner {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
    }
.service03_inner div:nth-child(1) {
        padding: 40px 60px;
    }
.service03_inner div:nth-child(2) {
        width: 100%;
        padding: 30px 30px 0 15px;
    }
.service03_inner div:nth-child(2) h4 {
        border-bottom: 1px solid #008E66;
        padding: 0 0 10px 0;
        font-size: 110%;
        margin: 0 0 20px 0;
    }

.service03_inner dl {
        display: flex;
        padding: 0 0 8px;
    }
.service03_inner dl dt {
        padding: 0 8px 0 0;
    }
.service03_inner dl dd{}


.contents_03 {
        width: 100%;
        background: #FBF8E9;
        padding: 50px 0;
    }
.contents_03m {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
    }
.contents_03m h4 {
        display: flex;
        flex-direction: column;
        font-size: 110%;
        letter-spacing: 3px;
    }
.contents_03m h4 span{ font-size: 70%;
        letter-spacing: 1px;color:#008E66;}

.contents_03m ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0px;
        margin: 30px auto 70px;
}

.contents_03m ul li {
    display: flex;
}

.contents_03m ul li a {
    display: flex;
    width: 345px;
    height: 80px;
    border-radius: 15px;
    cursor: pointer;
    margin: 7px;
    padding-left: 25px;
    overflow: hidden;
    position: relative;
    z-index: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.contents_03m ul li a span {
    display: block;
}

.contents_03m ul li a::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 41px;
    height: 41px;
    background: url(../img/button/button_s.png) no-repeat center;
    z-index: 2;
}

.contents_03m ul li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.contents_03m ul li a:hover{color:#fff}
.contents_03m ul li a:hover::before{transform:translateX(0)}

.hover_active {
        background: #008E66 !important;
        color: #fff!important;
    }





.contents_04 {
        width: 100%;
        background: #fff;
        padding: 80px 0 130px;
    }
.contents_04m {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
    }

.contents_04_box {
    display: flex;
    justify-content: space-around;
    padding: 50px 50px 0;
}

.contents_04_content {
    background: #DCED22;
    width: 100%;
    max-width: 300px;
    height: 280px;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 0 #fff;
}
.contents_04_content a{
    display: block;
    width: 100%;
    max-width: 300px;
    height: 280px;
}

.contents_04_content a:hover img,
.contents_04_content a:hover .contents_04_button {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.contents_04_content a img,
.contents_04_content a .contents_04_button {
    transition: opacity 0.3s ease;
}

.contents_04_h4 {
    display: block;
    padding: 30px 0 0 30px;
    font-size: 140%;
}

.contents_04_h4 span {
    display: block;
    color: #fff;
    font-size: 55%;
    padding: 0 0 5px 0;
}

.contents_04_content:nth-child(1) img {
    position: absolute;
    bottom: -50px;
    right: 15px;
}
.contents_04_content:nth-child(2) img {
    position: absolute;
    bottom: -40px;
    right: 25px;
}
.contents_04_content:nth-child(3) img {
    position: absolute;
    bottom: -15px;
    right: 15px;
}

.contents_04_button {
    position: absolute;
    bottom: 25px;
    left: 50px;
}
.contents_04_button {
    font-size: 80%;
    color: #0F8963;
}

.contents_04_button span {
    display: block;
    margin: 0 0 -3px;
}

.contents_04_button::before {
    content: "";
    position: absolute;
    right: -5px;
    top: -45px;
    width: 41px;
    height: 41px;
    background-image: url(../img/button/button_s02.png);
    background-size: contain;
    background-repeat: no-repeat;
}


.development-training-service03_box-4{
        font-size: 250%;
        margin-top: 30px;
    }

.user_guidance01{
    margin: 50px 10px 50px;
}
.user_guidance01 dl {
        background-image: linear-gradient(90deg, #f1e7b2, #e5eccc);
        padding: 30px;
        display: flex;
        margin: 35px 0;
        border-radius: 100px;
        align-items: center;
        font-size: 120%;
    }
.user_guidance01 dl dt {
        display: inline-block;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #008E66;
        text-align: center;
        color: #fff;
        line-height: 38px;
        margin: 0 20px 0 0;
    }
.user_guidance01 dl dd {
        width: calc(100% - 60px);
    }
.user_guidance01 p{}

.user_guidance_contact{
  display: flex;
  flex-direction: column;
  align-items: center;
        width: 100%;
  margin: 100px 0 150px;
        background: #fff;
        padding: 30px 0;
    }
.user_guidance_contact_p1 {
        text-align: center;
        color: #008E66;
        padding: 0 0 30px;
    }

.user_guidance_contact_wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.user_guidance_contact_left {
        width: 50%;
        border-right: 1px solid #008E66;
        text-align: center;
    }
.user_guidance_contact_left p:nth-child(1) {
        font-size: 105%;
    }
.user_guidance_contact_left p:nth-child(2) {
        color: #008E66;
        font-size: 250%;
        font-weight: bold;
        padding: 10px 0;
    }
.user_guidance_contact_left p:nth-child(2) span {
        font-size: 60%;
        padding: 0 0 0 10px;
    }
.user_guidance_contact_right{
        width: 50%;
        text-align: center;
    }
.user_guidance_contact_righ p{
        font-size: 105%;
    }

.user_guidance_contact_button {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 auto;
        justify-content: center;
        padding: 20px 0 0;
    }

.user_guidance_contact_button a {
    display: flex;
    align-items: center;
    width: 300px;
    height: 60px;
    font-size: 110%;
    background: #DCED22;
    border-radius: 30px;
    cursor: pointer;
    padding-left: 35px;
overflow: hidden;
    position: relative;
z-index: 0;
}


.user_guidance_contact_button a::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 41px;
    height: 41px;
    background: url(../img/button/button_s02.png) no-repeat center;
    z-index: 2;
}


.user_guidance_contact_button a span{}


.user_guidance_contact_button a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.user_guidance_contact_button a:hover{color:#fff}
.user_guidance_contact_button a:hover::before{transform:translateX(0)}



.user_guidance02 {
        padding: 50px 0 70px;
    }

.servise_li_color_01 button {
        background: #ffbda9;
    }

.servise_li_color_02 button {
        background: #ffccd2;
    }

.servise_li_color_03 button {
        background: #ffe664;
    }

.servise_li_color_04 button {
        background: #6edc9b;
    }

.servise_li_color_05 button {
        background: #50c8d2;
    }

.servise_li_color_06 button {
        background: #e4d3ee;
    }

.servise_li_color_07 button {
        background: #a9d6dc;
    }

.servise_li_color_08 button {
        background: #6ec8eb;
    }

.servise_li_color_09 button {
        background: #fdd69a;
    }

.servise_li_color_10 button {
        background: #d9e480;
    }

.servise_list_button{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0px;
        margin: 30px auto 70px;
    }

servise_list_button li {
        display: flex;
    }

.servise_list_button button{
        display: flex;
        width: 345px;
        height: 80px;
        border-radius: 15px;
        cursor: pointer;
        margin: 7px;
        padding-left: 25px;
        overflow: hidden;
        position: relative;
        z-index: 0;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        border: none;
        font-size: 105%;
    }

.servise_list_button button::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        transform: translateX(-110%);
        background: #008E66;
        transition: transform .2s ease-in-out;
        z-index: -1;
    }

.servise_list_button button::after {
        content: "";
        position: absolute;
        right: 2%;
        top: 20px;
        width: 41px;
        height: 41px;
        background: url(../img/button/button_s.png) no-repeat center;
        z-index: 2;
        transform: rotate(90deg);
    }

.servise_list_button button:hover{color:#fff}
.servise_list_button button:hover::before{transform:translateX(0)}



#servise_contents_01{}
#servise_contents_01 p:nth-child(1) {
        background: #ffbda9;
        padding: 20px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }

#servise_contents_02{}
#servise_contents_02 p:nth-child(1) {
       background: #ffccd2;
        padding: 20px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }
    
#servise_contents_03{}
#servise_contents_03 p:nth-child(1) {
       background: #ffe664;
        padding: 20px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }
    
#servise_contents_04{}
#servise_contents_04 p:nth-child(1) {
       background: #6edc9b;
        padding: 20px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }
    
#servise_contents_05{}
#servise_contents_05 p:nth-child(1) {
       background: #50c8d2;
        padding: 10px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }
#servise_contents_05 p:nth-child(1) span{
    font-size: 70%;
    display: block;
}

#servise_contents_06{}
#servise_contents_06 p:nth-child(1) {
       background: #e4d3ee;
        padding: 20px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }
    
#servise_contents_07{}
#servise_contents_07 p:nth-child(1) {
       background: #a9d6dc;
        padding: 10px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }
#servise_contents_07 p:nth-child(1) span{
    font-size: 70%;
    display: block;
}


#servise_contents_08{}
#servise_contents_08 p:nth-child(1) {
       background: #6ec8eb;
        padding: 20px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }
    
#servise_contents_09{}
#servise_contents_09 p:nth-child(1) {
       background: #fdd69a;
        padding: 20px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }

    
#servise_contents_10{}
#servise_contents_10 p:nth-child(1) {
       background: #d9e480;
        padding: 20px 0;
        text-align: center;
        font-size: 200%;
        border-radius: 10px;
        margin-bottom: 50px;
    }

[id^="servise_contents_"] {
    display: none;
    opacity: 0;
    transform: translateY(20px);
}

[id^="servise_contents_"].active {
        display: block;
        animation: fadeUp 0.8s ease forwards;
        padding: 50px 0 200px;
    scroll-margin-top: 80px;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}



.virtual_tour01 {
        width: 100%;
    }
.virtual_tour01 p {
        margin: 30px 0;
    }

.virtual_tour01_green {
        background: #008E66;
        color: #fff;
        padding: 10px 0 10px 15px;
    }

.virtual_tour01_inner {
        width: 100%;
        display: flex;
        flex-flow: wrap;
        justify-content: space-between;
    }

.virtual_tour01_contents_l {
        width: 100%;
        max-width: 320px;
    }
.virtual_tour01_contents_l img{
        width: 100%;
        max-width: 320px;
    }

.virtual_tour01_contents_l{}
.areamap{}
.areamap area{}

.virtual_tour01_contents_r {
        width: calc(100% - 320px);
        padding: 0 10px 0 50px;
    }

.virtual_tour01_contents_r iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: none;
    display: block;
}
.virtual_tour01_contents_c {
        width: 100%;
        padding: 50px 20px;
    }

.virtual_tour01_contents_c  dl {
        display: flex;
        flex-wrap: wrap;
        font-size: 110%;
        padding: 15px 0;
    }
.virtual_tour01_contents_c dl dt {
        background: #004366;
        color: #fff;
        padding: 5px 30px;
        border-radius: 25px;
        margin: 0 30px 0 0;
    }
.virtual_tour01_contents_c dl dd{}

.virtual_tour01_contents_c button {
        background: #f15a24;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: none;
        font-size: 120%;
        color: #fff;
        margin: 0 3px 0 0;
        cursor: pointer;
    }
    
.virtual_tour01_contents_c button img {
        width: 90%;
        margin: -4px 0 -4px;
    }

.virtual_tour01_contents_youtube {
        width: 100%;
        padding: 20px 20px 100px;
    }
.virtual_tour01_contents_youtube iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: none;
    display: block;
}




.pamphlet01 {
        width: 100%;
        padding: 0 0 100px;
    }

.pamphlet01 p {
        margin: 80px 0;
    }

.pamphlet01_green{
        background: #008E66;
        color: #fff;
        padding: 10px 0 10px 15px;
        margin: 30px 0 !important;
    }

.pamphlet01 dl {
        display: flex;
        margin: 20px 0 80px;
    }

.pamphlet01 dl dt {
        width: 100%;
        max-width: 220px;
        text-align: center;
    }

.pamphlet01 dl dt img {
    object-fit: cover;
    overflow: hidden;
}
.pamphlet01 dl dd {
        width: calc(100% - 220px);
        padding: 0 0 0 50px;
    }

.pamphlet01 dl dd p {
        margin: 10px 0 30px;
    }

.pamphlet01 dl dd ul {
        display: flex;
        flex-wrap: wrap;
    }

.pamphlet01 dl dd ul li {
        margin: 0 10px 0 0;
    }

.pamphlet01 dl dd a {
    color: #00a0e6;
    text-decoration: underline;
}
.pamphlet01 dl dd a[href*=".pdf"] {
    background: url(../img/pamphlet/pdf_icon.png) no-repeat left center;
    padding: 10px 10px 10px 50px;
    display: block;
    width: fit-content;
    margin: 5px 0 0;
}






.accessibility01 {
        width: 100%;
        padding: 0 0 100px;
    }

.accessibility01 p {
        margin: 80px 0;
    }

.accessibility01_green{
        background: #008E66;
        color: #fff;
        padding: 10px 0 10px 15px;
        margin: 30px 0 !important;
    }


.accessibility01 dl {
        display: flex;
        margin: 20px 0 120px;
    }

.accessibility01 dl dt {
        width: 100%;
        max-width: 220px;
        text-align: center;
    }

.accessibility01 dl dt img {
    object-fit: cover;
    overflow: hidden;
    padding: 0 10px 0 0;
}
.accessibility01 dl dd {
        width: calc(100% - 220px);
        padding: 0 0 0 50px;
    }

.accessibility01 dl dd p {
        margin: 10px 0 30px;
    }

.accessibility01 ul {

    }

.accessibility01 ul li {
        margin: 0 0 15px 0;
    }

.accessibility01 ul li a {
        color: #00a0e6;
        text-decoration: underline;
        padding: 0 0 0 30px;
        position: relative;
    }

.accessibility01 ul li a::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0px;
        width: 21px;
        height: 21px;
        background: url(../img/button/button_s.png) no-repeat 95% center;
    }






.access01{
        width: 100%;
        padding: 0 0 100px;
    }

.access01_google-map {
        width: 100%;
        margin: 0 0 100px;
    }
.access01_google-map iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
    border: none;
    display: block;
}

.access01_noukai-map {
        width: 100%;
        text-align: center;
    }
.access01_noukai-map img {
        width: 100%;
        max-width: 640px;
    }

.access02{
        width: 100%;
        padding: 0 0 100px;
    }

.access02 p {
        margin: 80px 0;
    }

.access02_green{
        background: #008E66;
        color: #fff;
        padding: 10px 0 10px 15px;
        margin: 30px 0 !important;
    }


.access02 dl {
        margin: 15px 10px;
    }

.access02 dl dt {
        font-weight: bold;
    }
.access02 dl dt img {
        margin: -5px 10px -5px 0;
    }
.access02 dl dt span{}
.access02 dl dd {
        padding: 0 0 0 40px;
    }
.access02 dl dd ul {
        padding: 10px 0 30px 20px;
    }
.access02 dl dd li {
        list-style-type: disc;
        padding: 5px 0 0;
    }

.access02_link {
        padding: 0 0 0 10px;
    }

.access02_link li {
        padding: 5px 0 10px;
    }
.access02_link li a {
        position: relative;
        color: #00a0e6;
        text-decoration: underline;
        padding: 0 0 0 30px;
    }

.access02_link li a::after {
        content: "";
        position: absolute;
        top: 10px;
        left: 6px;
        width: 10px;
        height: 10px;
        border: 2px solid #008E66;
        border-radius: 1px;
        transform: translateY(-50%);
        background: #FBF8E9;
    }

.access02_link li a::before {
        content: "";
        position: absolute;
        top: 15px;
        left: 2px;
        width: 10px;
        height: 10px;
        border: 2px solid #008E66;
        border-radius: 1px;
        transform: translateY(-50%);
    }

.contact01 {
        padding: 0 0 100px;
    }

.contact01 > p:first-of-type {
    padding: 50px 0;
}
.contact01 > p:first-of-type a {
        color: #005ec4;
    }

.contact01 div {
        align-items: center;
        padding: 30px 0px;
        background: #fff;
        display: flex;
        margin: 0 auto;
        width: 500px;
        flex-direction: column;
    }
.contact01 div p:nth-child(1) {}
.contact01 div p:nth-child(2) {
        color: #008E66;
        padding: 5px 0;
    }
.contact01 div p:nth-child(2) span {
        font-size: 220%;
        font-weight: bold;
        padding: 0 10px 0 0;
    }
.contact01 div p:nth-child(3) {}


.contact02 {
        padding: 0 0 150px;
    }
.contact02_green {
        background: #008E66;
        color: #fff;
        padding: 10px 0;
        margin: 0;
        text-align: center;
    }

.contact02 p {}
.contact02 p:nth-child(2) {
        padding: 50px 0;
        line-height: 33px;
    }
.contact02 p:nth-child(2) a {
        color: #005ec4;
    }


.contact02 dl {
        border-top: 1px solid #C9C6BB;
        padding: 30px 0;
        display: flex;
    }
.contact_dl_block {
        display: block !important;
    }
.contact_dl_block > dt {
        width: 100% !important;
        padding: 10px 0 20px 0 !important;
    }
.contact_dl_block > dd {
        width: 100% !important;
        padding: 10px 0 20px 0 !important;
    }
.contact02 dl dt {
        width: 300px;
        padding: 10px 0 0;
    }
.contact02 dl dt span {
        background: #008E66;
        padding: 2px 8px;
        color: #fff;
        border-radius: 6px;
        margin: 0 15px 0 5px;
    }
.no-req {
        padding: 10px 0 0 70px!important;
    }

.contact02 dl dd {
        width: calc(100% - 300px);
        padding: 0 0 0 50px;
    }
.contact_ul1 {
        display: flex;
        flex-wrap: wrap;
    }
.contact_ul1 li {
        margin: 5px 5px 10px 5px;
    }


.contact_ul1 li label {
        width: 345px;
        height: 60px;
        display: flex;
        gap: 20px;
        align-items: center;
        border-radius: 10px;
        transition: .2s;
    }
.contact_ul1 li label:has(input:checked){
    transform: translateY(3px);
    box-shadow: inset 2px 2px 6px rgba(0,0,0,.1),
                inset -2px -2px 6px rgba(255,255,255,.1);
}

.contact_ul1 li input[type="checkbox"] {
        width: 20px;
        height: 20px;
        margin: 0 0 0 15px;
    }

.radio_text{
    display: flex;
    flex-direction: column;
    line-height: 1.4;
}

.radio_text span:last-child{
}

.contact_ul1 li label input{
    }

.contact_li_color_01 label{
        background: #ffbda9!important;
    }

.contact_li_color_02 label{
        background: #ffccd2!important;
    }

.contact_li_color_03 label{
        background: #ffe664!important;
    }

.contact_li_color_04 label{
        background: #6edc9b!important;
    }

.contact_li_color_05 label{
        background: #50c8d2!important;
    }

.contact_li_color_06 label{
        background: #e4d3ee!important;
    }

.contact_li_color_07 label{
        background: #a9d6dc!important;
}

.contact_li_color_08 label{
        background: #6ec8eb!important;
    }

.contact_li_color_09 label{
        background: #fdd69a!important;
    }
.contact_li_color_10 label{
        background: #d9e480!important;
    }
.contact_li_color_11 label{
        background: #F7E6CA!important;
    }
.w50 {
        width: 45%;
        padding: 15px 10px;
        margin: 0 15px 0 0;
        border: none;
    }
.w100 {
        width: 95%;
        padding: 15px 10px;
        margin: 0;
        border: none;
    }
.w100px {
        width: 100px;
        padding: 15px 10px;
        margin: 0 10px 0 0;
        border: none;
    }
.contact02 dl dd textarea {
        height: 180px;
    }




.privacy-policy {
        width: 100%;
        border-top: 1px solid #C9C6BB;
        padding: 100px 0 50px;
    }
.privacy-policy p:nth-child(1) {
        text-align: center;
        padding: 0 0 20px;
    }
    
.privacy-policy-box {
        width: 700px;
        background: #fff;
        margin: 0 auto;
        padding: 30px;
        height: 250px;
        overflow-x: hidden;
        overflow-y: scroll;
    }
.privacy-policy-box-inner{}
.privacy-policy-box-inner h5 {
        padding: 0 0 30px;
    }
.privacy-policy-box-inner h6 {
        padding: 15px 0;
    }
.privacy-policy-box-inner  p {
        padding: 10px !important;
    }
.privacy-policy-box-inner ul {
        padding: 10px;
    }
.privacy-policy-box-inner ul  li {
        padding: 5px 0 0 5px;
        list-style: disc;
        margin: 0 0 0 25px;
    }
.privacy-policy > p:last-of-type {
        padding: 50px 0;
        text-align: center;
    }

.form-submit {
    margin: 0 auto;
    width: 300px;
}
.form-submit button {
    display: flex;
    align-items: center;
    width: 300px;
    height: 60px;
    font-size: 110%;
    background: #DCED22;
    border-radius: 30px;
    cursor: pointer;
    padding-left: 35px;
    overflow: hidden;
    position: relative;
    z-index: 0;
    border: none;
    }




.form-submit button::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 41px;
    height: 41px;
    background: url(../img/button/button_s02.png) no-repeat center;
    z-index: 2;
}




.form-submit button::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.form-submit button:hover{color:#fff}
.form-submit button:hover::before{transform:translateX(0)}


.foo_li {
    }

.foo_menu_second {
        display: none;
        padding: 10px 0 0 5px;
        font-size: 80%;
        margin: 0 0 -10px;
    }

.foo_menu_second.open {
    display: block;
}


.news-list01 {
        padding: 0 0 200px;
    }

.news-list01-tab {
        width: 100%;
        padding: 0 0 40px;
    }
.news-list01-tab ul {
        display: flex;
    }
.news-list01-tab ul li {
        padding: 0 10px 0 0;
    }
.news-list01-tab ul li button {
        font-size: 105%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 180px;
        height: 40px;
        border: none;
        border-radius: 25px;
        cursor: pointer;
    }
.news-list01-tab ul li button:hover{
       opacity: 0.7;
    }

.news-list01-tab-button1 {
        background: #dced22;
    }
.news-list01-tab-button2 {
        background: #ffe100;
    }
.news-list01-tab-button3 {
    background: #b2e5e1;
}
.news-list01-tab-button4 {
    background: #ffc7af;
}

.news-list01-inner {
        border-top: 1px solid #009900;
    }

.news-list-dl{
    padding: 30px 0;
    border-bottom: 1px solid #009900;
    width: 100%;
    background: url(../img/index/isec_02/news_yaji.png) no-repeat 99% center;
}
.news-list-dl dt{
    display: flex;
    padding: 0 0 15px 0;
}
.news-list-dl dt span.sp1 {
    color: #888;
    padding: 0 10px 0 0;
}
.news-list-dl dt ul{}
.news-list-dl dt ul li{}
.news-list-dl dd{}
.news-list-dl dd a:hover{
    text-decoration: underline;
}
.news-list-dl dd p{}
.news-list-dl dd p span.sp2{}
.kunren {
    background: #b2e5e1;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 85%;
    padding: 3px 15px;
}
.osirase {
    background: #ffe100;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 85%;
    padding: 3px 15px;
}
.seminar{
    background: #ffc7af;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 85%;
    padding: 3px 15px;
}


.service00 {
        padding: 30px 0 100px;
    }
.season-table {
        width: 100%;
    }
.season-table thead{}
.season-table tr{}
.season-table th {
        background: #f2f2f2;
        border: 1px solid #888;
        padding: 5px;
        font-weight: normal;
        text-align: center;
    }
.season-table tbody{}
.season-table td {
        border: 1px solid #888;
        background: #fff;
        padding: 25px 0;
    }

.date-time {
        text-align: center;
        width: 130px;
    }
.date-category {
        text-align: center;
        width: 150px;
    }
.date-inner {
        padding: 25px 25px 25px 30px !important;
    }
.data-location{
        text-align: center;
        width: 150px;
    }
            
.season-table-more-table {
        width: 100%;
    }
.season-table-more-table tr:nth-child(1) {}
.season-table-more-table td {
        border: 1px solid #888;
        background: #fff;
        padding: 25px 0;
    }
            
.season-table-more {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .5s ease;
}

.season-table-more.open {
    grid-template-rows: 1fr;
}

.season-table-more-inner {
        overflow: hidden;
        margin: -1px 0 0;
    }

.season-table-more-btn {
    display: block;
    width: 100%;

    margin: 0 auto;
    padding: 20px 0;

    cursor: pointer;

    background: #e4d3ee;

    border-top: none;
    border-left: 1px solid #888;
    border-right: 1px solid #888;
    border-bottom: 1px solid #888;

    position: relative;
}

.season-table-more-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(50% - 55px);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #EA6C60;
    transform: translateY(-50%);
    transition: transform .3s ease;
}

.season-table-more-btn.is-open::after {
    transform: translateY(-50%) rotate(180deg);
}


.tab-content{
    display:none;
}


.news-list-dl{
    opacity:1;
}

.fade-in{
    animation:fadeIn .5s ease forwards;
}

@keyframes fadeIn{
    from{
        opacity:0;
        transform:translateY(15px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}


.tab-fade{
    animation:tabFade .4s ease;
}

@keyframes tabFade{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}


#pagination{
    margin-top:40px;
    text-align:center;
}

#pagination button {
        margin: 0 4px;
        width: 45px;
        height: 45px;
        border: none;
        background: #FBF8E9;
        cursor: pointer;
        transition: .3s;
        border-radius: 50%;
        font-size: 110%;
    }

#pagination button:hover{
    background:#fff;
}

#pagination button.active {
        background: #fff;
        color: #000;
        border: 1px solid #008E66;
    }

#pagination .pagination-prev {
        background: #008E66;
        color: #fff;
    }
#pagination .pagination-next {
        background: #008E66;
        color: #fff;
    }


#pagination .pagination-prev:hover {
        background: #008E66;
        color: #fff;
        opacity: 0.8;
    }
#pagination .pagination-next:hover {
        background: #008E66;
        color: #fff;
        opacity: 0.8;
    }


.contents_news{}

.contents_news_time {
        display: flex;
    }
.contents_news_time span {
        color: #888;
        padding: 0 10px 0 0;
    }
.contents_news_time ul{}
.contents_news_time ul li{}


.contents_news_title {
        padding: 40px 0 0;
    }
.contents_news_title span {
        font-size: 200%;
    }

.contents_news_wp {
        padding: 20px 0;
    }
.contents_news_wp h4 {
        border-bottom: 1px solid #008e66;
        padding: 0 0 10px 10px;
        margin: 25px 0 25px;
        font-size: 130%;
        font-weight: normal;
        position: relative;
    }

.contents_news_wp h4::before{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 200px;
    height: 2px;
    background: #008e66;
}
.contents_news_wp h5{}
.contents_news_wp h6{}
.contents_news_wp p {
        padding: 10px 0 0 5px;
        line-height: 30px;
    }

.contents_news_wp a:hover{
        text-decoration: underline;
    }
.contents_news_wp a[href*=".doc"],
.contents_news_wp a[href*=".docx"] {
    background: url(../img/icon/icon-word.png) no-repeat left center;
    padding: 10px 10px 10px 50px;
    display: block;
    width: fit-content;
}

.contents_news_wp a[href*=".xls"],
.contents_news_wp a[href*=".xlsx"],
.contents_news_wp a[href*=".xlsm"] {
    background: url(../img/icon/icon-excel.png) no-repeat left center;
    padding: 10px 10px 10px 50px;
    display: block;
    width: fit-content;
}

.contents_news_wp a[href*=".ppt"],
.contents_news_wp a[href*=".pptx"] {
    background: url(../img/icon/icon-powerpoint.png) no-repeat left center;
    padding: 10px 10px 10px 50px;
    display: block;
    width: fit-content;
}

.contents_news_wp a[href*=".pdf"] {
    background: url(../img/icon/icon-pdf.png) no-repeat left center;
    padding: 10px 10px 10px 50px;
    display: block;
    width: fit-content;
}




.history_back_btn {
        margin: 100px auto 0;
        width: 260px;
        padding: 0 0 150px;
    }
    
.history_back_btn button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 260px;
        height: 60px;
        font-size: 110%;
        background: #DCED22;
        border-radius: 30px;
        cursor: pointer;
        padding-left: 35px;
        overflow: hidden;
        position: relative;
        z-index: 0;
        border: none;
    }




.history_back_btn button::after {
    content: "";
    position: absolute;
    left: 3%;
    top: 50%;
    transform: translateY(-50%);
    width: 41px;
    height: 41px;
    background: url(../img/button/button_s02-left.png) no-repeat center;
    z-index: 2;
}




.history_back_btn button::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-110%);
    background: #008E66;
    transition: transform .2s ease-in-out;
z-index: -1;
}

.history_back_btn button:hover{color:#fff}
.history_back_btn button:hover::before{transform:translateX(0)}

.history_back_btn button span{}






.photo_gallery_div {
    margin: 50px 0 150px;
}
.photo_gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.photo_gallery_img {
        overflow: hidden;
        border-radius: 30px;
    }

.photo_gallery_img img {
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
  transition: opacity 0.3s ease,
              transform 0.3s ease;
}

.photo_gallery_img img:hover {
  opacity: 0.8;
  transform: scale(1.02);
}

.lightbox {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  transition:
    opacity 0.4s ease,
    visibility 0.4s ease;
}

.lightbox.active {
  visibility: visible;
  opacity: 1;
}

.lightbox-content {
  position: relative;
  display: inline-block;
  max-width: 100vw;
}

.lightbox-img {
  display: block;
  max-width: 100vw;
  width: auto;
  height: auto;
  object-fit: contain;
  transform: scale(0.9);
  opacity: 0;
  transition:
    transform 0.4s ease,
    opacity 0.4s ease;
}

.lightbox.active .lightbox-img {
  transform: scale(1);
  opacity: 1;
}

.close {
  position: absolute;
  top: -42px;
  right: 0;
  z-index: 10;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 32px;
  font-weight: normal;
  line-height: 1;
  cursor: pointer;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.close:hover {
  opacity: 0.7;
  transform: scale(1.1);
}

.servise_etc_div {
        margin: -30px 0 50px;
        border-top: 1px solid #ccc;
        padding: 30px 0 0 15px;
    }
  .servise_etc_div p span {
        font-weight: bold;
        padding: 0 10px 0 0;
    }


.contract-p {
        text-align: right;
        padding: 20px 0 0;
    }

.privacy_policy_ul {
        margin: 50px 0;
    }
    
.privacy_policy_ul li {
        list-style: disc;
        padding: 10px 0 10px 0;
        margin: 0 50px 0 50px;
    }


.shoshiki_div1 {
        padding: 0 20px 50px;
    }
.shoshiki_div1 p {
        background: #ffccd2;
        padding: 15px;
        margin: 30px 0;
    }
.shoshiki_div1 ul{}
.shoshiki_div1 ul li {
        position: relative;
        padding: 0 0 15px 30px;
        line-height: 28px;
    }
    
.shoshiki_div1 ul li::after {
        display: block;
        content: '';
        position: absolute;
        top: 11px;
        left: 9px;
        width: 10px;
        height: 10px;
        background-color: #b3b3b3;
        border-radius: 100%;
    }
.shoshiki_div1 ul li span {
        color: #ff0000;
    }
    
.shoshiki_div2 {
        padding: 0 20px 150px;
    }

.shoshiki_div2_text {
        font-size: 110%;
        margin: 10px 0;
    }
.shoshiki_div2_text span {
        color: #ff0000;
    }

.shoshiki_title {
        font-size: 120%;
        font-weight: bold;
        color: #333;
        margin: 40px 0 10px;
    }

.shoshiki_file {
        display: block;
    }
.shoshiki_file a{
    background: url(../img/zaikousei/icon-link.png) no-repeat left center;
    padding: 10px 10px 10px 45px;
    display: block;
    width: fit-content;
    margin: 5px 0 0;
}
.shoshiki_file a span {
        color: #ff0000;
    }

.shoshiki_file a[href*="pdf" i],
.shoshiki_file a[href*="ＰＤＦ"],
.shoshiki_file a[href*="ｐｄｆ"] {
    background: url(../img/zaikousei/pdf-icon.png) no-repeat left center;
    padding: 10px 10px 10px 45px;
    display: block;
    width: fit-content;
    margin: 5px 0 0;
}

.shoshiki_file a[href*="word" i],
.shoshiki_file a[href*="doc" i],
.shoshiki_file a[href*="ｗｏｒｄ"],
.shoshiki_file a[href*="ＷＯＲＤ"],
.shoshiki_file a[href*="ｄｏｃ"],
.shoshiki_file a[href*="ＤＯＣ"],
.shoshiki_file a[href*="ワード"] {
    background: url(../img/zaikousei/word-icon.png) no-repeat left center;
    padding: 10px 10px 10px 45px;
    display: block;
    width: fit-content;
    margin: 5px 0 0;
}

.cool_p {
        padding: 0 0 20px;
    }

.zaikousei_link_button {
    display: inline-block;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transform: translateY(0);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin: 40px 0 0;
}

.zaikousei_link_button a {
    display: block;
    text-decoration: none;
}

.zaikousei_link_button a img {
    display: block;
    filter: brightness(100%);
    transition: filter 0.3s ease;
}

.zaikousei_link_button:hover {
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.zaikousei_link_button:hover a img {
    filter: brightness(105%);
}



































}
