@charset "UTF-8";

/* index01 ============ */

.index01 {
position:relative;
padding:0 0 4% 0;}
.index01::after {
content:"";
position:absolute;
z-index:2;
left:0;
bottom:0;
width:100%;
aspect-ratio:150 / 25;
background:url("../images/index01_bg.svg") no-repeat center center / cover;
transform:translate(0,1px);}
.index01 .ttl {
position:absolute;
z-index:2;
left:50%;
top:50%;
width:27%;
max-width:175px;
transform:translate(-50%,-69%);}
.index01 .swiper-wrapper {
transition-timing-function:linear;}
.index01 .swiper-slide {
position:relative;
width:760px;
height:570px;
overflow:hidden;}
.index01 .swiper-slide img {
pointer-events:none;
object-fit:cover;
width:100%;
height:100%;}

@media only screen and (max-width:1023px) {

.index01 .ttl {
transform:translate(-50%,-55%);}

}

@media only screen and (max-width:800px) {

.index01 .swiper-slide {
width:90%;
height:auto;
aspect-ratio:5 / 4;}

}

/* index-schedule ============ */

.index-schedule {
text-align:left;
position:relative;
margin:0 auto;
width:90%;
max-width:1400px;
background:#d3fccc;}
.index-schedule .index-schedule-contents {
position:absolute;
z-index:3;
padding:18px 22px;
right:0;
bottom:-50px;
width:100%;
max-width:430px;
background:rgba(255,255,255,0.8);
border-radius:20px;}
.index-schedule .index-schedule-contents .tel {
margin:0 0 8px 0;
font-size:172%;
line-height:1.2;
font-weight:bold;}
.index-schedule .index-schedule-contents .tel a {
color:#222;}
.index-schedule .index-schedule-contents table {
margin:0 0 10px 0;
width:100%;
font-size:84%;
line-height:1.2;
white-space:nowrap;}
.index-schedule .index-schedule-contents table th {
text-align:center;
padding:6px 0;
color:#fff;
background:#33bb00;}
.index-schedule .index-schedule-contents table td {
text-align:center;
padding:8px 8px;
border-bottom:1px solid #33bb00;}
.index-schedule .index-schedule-contents .notice {
font-size:10px;
line-height:1.5;}

@media only screen and (max-width:1023px) {

.index-schedule {
width:100%;}
.index-schedule .index-schedule-contents {
position:static;
margin:0 auto;
width:92%;
max-width:640px;}
.index-schedule .index-schedule-contents .tel {
display:none;}
.index-schedule .index-schedule-contents table th {
padding:8px 0;}
.index-schedule .index-schedule-contents table td {
padding:10px 8px;}

}

/* index02 ============ */

.index02 {
position:relative;
padding:30px 0 0 0;}
.index02::after {
pointer-events:none;
content:"";
position:absolute;
z-index:2;
left:50%;
top:0;
width:320px;
aspect-ratio:40 / 43;
background:url("../images/index02_00.svg") no-repeat center center / cover;
transform:translate(-50%,-50%);
opacity:0.4;}
.index-topics {
justify-content:space-between;
-ms-flex-pack:justify;
margin:50px auto 0;
padding:30px;
background:rgba(255,255,255,0.9);
border-radius:30px;}
.index-topics .left , .index-topics .right {
position:relative;
width:47.5%;}
.index-topics h2 {
text-align:center;
padding:0 0 9px 0;
border-bottom:2px solid #33bb00;}
.index-topics ul {
margin-top:12px;}
.index-topics ul li {
padding:0 2%;}
.index-topics ul li a {
display:block;
color:#222;}
.index-topics ul li a:hover {
color:#e82;}
.index-topics ul li a dl {
justify-content:space-between;
-ms-flex-pack:justify;
align-items:center;}
.index-topics ul li a dt {
text-align:center;
position:relative;
z-index:2;
padding:27px 0;
width:75px;
line-height:1.2;
white-space:nowrap;}
.index-topics ul li a dt::after {
content:"";
position:absolute;
z-index:-1;
left:50%;
top:50%;
width:110%;
aspect-ratio:1 / 1;
background:#d3fccc;
border-radius:50%;
transform:translate(-50%,-50%);}
.index-topics ul li a dt .date01 {
padding:0 0 4px 0;
font-size:11px;
border-bottom:1px solid rgba(0,0,0,0.2);}
.index-topics ul li a dt .date02 {
margin:4px 0 0 0;
font-size:124%;
font-weight:bold;}
.index-topics ul li a dd {
width:calc(100% - 95px);}
.index-topics ul li a h3 {
margin:4px 0;
font-size:100%;
line-height:1.45;}

@media only screen and (max-width:1023px) {

.index02 {
padding:3% 0 0 0;}
.index02::after {
display:none;}
.index-topics {
margin:0 auto;}

}

@media only screen and (max-width:800px) {

.index-topics {
padding:6%;
max-width:640px;
border-radius:20px;}
.index-topics .left , .index-topics .right {
width:100%;}
.index-topics .right {
margin:2% 0 0 0;}
.index-topics ul li a dt {
padding:22px 0;
width:65px;}
.index-topics ul li a dt .date02 {
font-size:124%;}
.index-topics ul li a dd {
width:calc(100% - 80px);}
.index-topics ul li a h3 {}

}

@media only screen and (max-width:640px) {

.index02 {
padding:20px 0 0 0;}

}

/* index03 ============ */

.index03 {
position:relative;}
.index03 h2 {
position:relative;
z-index:2;
padding:1.6em 0;
font-size:236%;
line-height:1.3;
font-weight:bold;
color:#2e9b00;
letter-spacing:-0.01em;}
.index03 h2::after {
content:"";
position:absolute;
z-index:-1;
left:50%;
bottom:6%;
width:100%;
aspect-ratio:10 / 1;
background:url("../images/index03_00.svg") no-repeat center center / cover;
transform:translate(-50%,0);
opacity:0.9;}
.index03 h2 .br-sp {
display:none;}
.index03 h3 {
font-family:"M PLUS 1",sans-serif;
margin-top:0.3em;
font-size:200%;
line-height:1.2;
font-weight:500;
letter-spacing:-0.01em;}
.index03 ul {
justify-content:space-between;
-ms-flex-pack:justify;
margin:0 auto;
width:100%;}
.index03 ul li {
padding:4% 0 1% 0;
width:18.25%;}
.index03 ul li a img {
width:100%;
box-shadow:4px 4px 10px 0 rgba(0,0,0,0.2);
border-radius:0 0 150px 150px;
transition:transform 0.25s;}
.index03 ul li a:hover img {
transform:scale(1.05);}

@media only screen and (max-width:800px) {

.index03 ul {
max-width:720px;}
.index03 ul::after{
content:"";
display:block;
width:31%;}
.index03 ul li {
padding:5% 0 1.0% 0;
width:31%;}

}

@media only screen and (max-width:640px) {

.index03 h2 {
padding:1.3em 0;
font-size:7.1vw;
white-space: nowrap;}
.index03 h2::after {
width:100%;
bottom:10%;}
.index03 h2 .br-sp {
display:block;}
.index03 h3 {
font-size:6.2vw;}
.index03 ul {
max-width:640px;}
.index03 ul li {
padding:5.7% 0 1.5% 0;
width:47%;}

}

/* index04 ============ */

.index04 {}
.index04 .txt {}
.index04 ul {
justify-content:space-between;
-ms-flex-pack:justify;
margin:0 auto;
width:100%;
max-width:800px;}
.index04 ul li {
padding:2% 0 0 0;
width:31.3333%;}
.index04 ul li a img {
width:100%;
box-shadow:0 0 12px 0 rgba(0,0,0,0.3);
border-radius:15px;
transition:transform 0.25s;}
.index04 ul li a:hover img {
transform:scale(1.05);}
.index04 h3 {
position:relative;
z-index:2;
padding:1.7em 0 0.7em 0;
font-size:236%;
line-height:1.3;
font-weight:bold;
color:#2e9b00;
letter-spacing:-0.01em;}

@media only screen and (max-width:640px) {

.index04 .txt br {
display:none;}
.index04 h3 {
font-size:7.1vw;
white-space:nowrap;}

}

/* index05 ============ */

.index05 {
padding:15px 0 200px 0;}
.index05 .block-w {
text-align:left;
margin-top:85px;
font-size:108%;}
.index05 .block-w a {
position:relative;
display:block;
padding:66px 8% 28px 8%;
background:#fff;
color:#222;
border-radius:20px;
box-shadow:0 0 12px 0 rgba(0,0,0,0.3);
transition:background 0.25s;}
.index05 .block-w a:hover {
background:#d3fccc;}
.index05 .block-w .ttl-img {
position:absolute;
left:50%;
top:0;
width:28%;
max-width:108px;
transform:translate(-50%,-50%);}
.index05 .block-w .ttl-img img {
border-radius:50%;
box-shadow:0 0 10px 0 rgba(0,0,0,0.3);}

@media only screen and (max-width:1023px) {

.index05 {
padding:1.5% 0 20% 0;}

}

@media only screen and (max-width:640px) {

.index05 {
padding:0 0 130px 0;}
.index05 .block-w {
margin-top:80px;}
.index05 .block-w a {
padding:60px 24px 24px 24px;}

}

/* index06 ============ */

.index06 {
margin:-150px 0 0 0;
padding:0 0 50px 0;}
.index06 ul {
justify-content:space-between;
-ms-flex-pack:justify;
margin:2% auto 0;
width:100%;
line-height:1.65;}
.index06 ul li {
width:31%;}
.index06 ul li .img {
width:100%;
aspect-ratio:15 / 12;
border-radius:20px;
overflow:hidden;}
.index06 ul li .img img {
pointer-events:none;
object-fit:cover;
width:100%;
height:100%;}
.index06 ul li h3 {
position:relative;
font-family:"M PLUS 1",sans-serif;
margin:0.6em 0 0.9em 0;
padding:0 0 0.9em 0;
font-size:172%;
line-height:1.3;
letter-spacing:-0.01em;}
.index06 ul li h3::after {
content:"";
position:absolute;
left:50%;
bottom:0%;
width:14px;
aspect-ratio:1 / 1;
background:#33bb00;
border-radius:50%;
transform:translate(-50%,50%);}

@media only screen and (max-width:1023px) {

.index06 {
margin:-15% 0 0 0;
padding:0 0 5% 0;}
.index06 ul {
max-width:640px;}
.index06 ul li {
padding:6% 0 0 0;
width:100%;}
.index06 ul li:nth-child(1) {
padding:0;}
.index06 ul li .img {
aspect-ratio:15 / 10;}

}

@media only screen and (max-width:640px) {

.index06 {
margin:-100px 0 0 0;
padding:0 0 30px 0;}
.index06 ul li {
padding:40px 0 0 0;}

}

/* index07 ============ */

.index07 {
position:relative;
padding:0 0 120px 0;}
.index07 ul {
justify-content:space-between;
-ms-flex-pack:justify;
margin:-4% auto 0;
width:100%;
max-width:1050px;
line-height:1.65;}
.index07 ul li {
width:47%;}
.index07 ul li .img {
width:100%;
aspect-ratio:4 / 3;
border-radius:20px;
overflow:hidden;}
.index07 ul li .img img {
pointer-events:none;
object-fit:cover;
width:100%;
height:100%;}
.index07 ul li .txt {
position:relative;
text-align:left;}
.index07 ul li .txt h3 {
position:relative;
font-family:"M PLUS 1",sans-serif;
margin:0.75em 0;
font-size:172%;
line-height:1.35;
letter-spacing:-0.01em;
color:#33bb00;}
.index07 ul li .txt h4 {
font-family:"M PLUS 1",sans-serif;
margin:0.8em 0 0 0;
font-size:140%;
line-height:1.35;}
.index07 ul li .txt .btn {
position:absolute;
right:0;
bottom:0;}
.index07 ul li .txt .btn a {
display:inline-block;
padding:0 2em;
font-size:84%;
line-height:30px;
font-weight:bold;
color:#fff;
background:#33bb00;
box-shadow:0 0 0 1px #33bb00;
border-radius:15px;
transition:0.25s;}
.index07 ul li .txt .btn a:hover {
color:#33bb00;
background:#fff;}
.index07 ul li .txt .btn a::after {
content:"";
position:absolute;
z-index:2;
right:5px;
top:50%;
width:5px;
height:5px;
border-right:1px solid #fff;
border-bottom:1px solid #fff;
transform:translate(0,-50%) rotate(-45deg);
transition:0.25s;}
.index07 ul li .txt .btn a:hover::after {
border-right:1px solid #33bb00;
border-bottom:1px solid #33bb00;}

@media only screen and (max-width:1023px) {

.index07 {
padding:0 0 12% 0;}
.index07 ul {
margin:0 auto;
max-width:640px;}
.index07 ul li {
padding:6% 0 0 0;
width:100%;}
.index07 ul li .img {
aspect-ratio:15 / 10;}

}

@media only screen and (max-width:640px) {

.index07 {
padding:0 0 75px 0;}
.index07 ul li {
padding:40px 0 0 0;}

}

.index07-02 {
position:relative;
padding:0 0 120px 0;}
.index07-02 .doctor .img {
margin:0 0 0 auto;
width:63%;
height:500px;
overflow:hidden;
border-radius:20px;}
.index07-02 .doctor .img img {
pointer-events:none;
object-fit:cover;
width:100%;
height:100%;}
.index07-02 .doctor .txt {
text-align:left;
padding:40px 40px 40px 0;
position:absolute;
left:0;
top:50%;
width:50%;
line-height:1.65;
background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.8));
transform:translate(0,-50%);
border-radius:20px;}
.index07-02 .doctor .txt h3 {
margin:0 0 0.75em 0;
font-size:236%;
line-height:1.3;
font-weight:bold;
color:#33bb00;
letter-spacing:-0.01em;}
.index07-02 .doctor .txt h4 {
font-family:"M PLUS 1",sans-serif;
margin:0.75em 0 0 0;
font-size:164%;
line-height:1.35;}
.index07-02 .doctor .txt .btn {
margin-top:0.75em;}
.index07-02 .doctor .txt .btn a {
position:relative;
display:inline-block;
padding:0 2em;
font-size:84%;
line-height:30px;
font-weight:bold;
color:#fff;
background:#33bb00;
box-shadow:0 0 0 1px #33bb00;
border-radius:15px;
transition:0.25s;}
.index07-02 .doctor .txt .btn a:hover {
color:#33bb00;
background:#fff;}
.index07-02 .doctor .txt .btn a::after {
content:"";
position:absolute;
z-index:2;
right:5px;
top:50%;
width:5px;
height:5px;
border-right:1px solid #fff;
border-bottom:1px solid #fff;
transform:translate(0,-50%) rotate(-45deg);
transition:0.25s;}
.index07-02 .doctor .txt .btn a:hover::after {
border-right:1px solid #33bb00;
border-bottom:1px solid #33bb00;}

.index07-02 .index-medical-time {
padding:0 1.6em 1.6em;
background:#fff;
border-radius:25px;}
.index07-02 .index-medical-time .ttl {
display:flex;
align-items:center;
margin:0 auto;
width:40%;
max-width:120px;
background:#33bb00;
aspect-ratio:1 / 1;
border-radius:50%;
transform:translate(0,-17.5%);}
.index07-02 .index-medical-time .ttl h3 {
width:100%;
font-size:124%;
line-height:1.4;
font-weight:bold;
white-space:nowrap;
color:#fff;
letter-spacing:-0.01em;}
.index07-02 .index-medical-time ul {
justify-content:space-between;}
.index07-02 .index-medical-time ul li {
text-align:left;
padding:1.6em 0 0 0;
width:48%;}
.index07-02 .index-medical-time ul li h4 {
margin-bottom:0.4em;
font-size:132%;
line-height:1.2;
font-weight:bold;
color:#3a5424;}

@media only screen and (max-width:1023px) {

.index07-02 {
padding:0 0 12% 0;}
.index07-02 .doctor .img {
margin:0 auto;
width:100%;
max-width:640px;
height:auto;
aspect-ratio:3 / 2;}
.index07-02 .doctor .txt {
margin:0 auto;
padding:1.5em;
position:static;
width:100%;
max-width:640px;
background:#fff;
transform:translate(0,0%);}

.index07-02 .index-medical-time {
max-width:640px;}
.index07-02 .index-medical-time ul li {
width:100%;}

}

@media only screen and (max-width:640px) {

.index07-02 {
padding:0 0 75px 0;}
.index07-02 .doctor .txt h3 {
text-align:center;
font-size:6vw;
white-space:nowrap;}

}

