@charset "UTF-8";
html {
font-size: 100%;
}
@media (max-width: 1330px) {
html {
font-size: 1.2030075188vw;
}
}
@media screen and (max-width: 767px) {
html {
font-size: 100%;
}
}
@media (max-width: 375px) {
html {
font-size: 4.2666666667vw;
}
}

body {
font-family: "Noto Sans JP", sans-serif;
color: #333;
}

a,
button {
-webkit-transition: 0.3s;
transition: 0.3s;
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
list-style: none;
padding: 0;
}

/* Set core root defaults */
html:focus-within {
scroll-behavior: smooth;
}

/* Set core body defaults */
body {
min-height: 100vh;
text-rendering: optimizeSpeed;
line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
text-decoration-skip-ink: auto;
}

a {
text-decoration: none;
color: inherit;
}

/* Make images easier to work with */
img,
picture {
max-width: 100%;
display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
font: inherit;
}

button {
border: none;
padding: 0;
background-color: transparent;
background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
html:focus-within {
scroll-behavior: auto;
}
*,
*::before,
*::after {
-webkit-animation-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
-webkit-animation-iteration-count: 1 !important;
animation-iteration-count: 1 !important;
-webkit-transition-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
.l-btn-center a {
margin-inline: auto;
}

.l-inner {
width: 100%;
margin-right: auto;
margin-left: auto;
max-width: 1330px;
padding-right: 1.5625rem;
padding-left: 1.5625rem;
}
@media screen and (max-width: 767px) {
.l-inner {
padding-right: 1.25rem;
padding-left: 1.25rem;
max-width: 31.25rem;
}
}

.l-mt60 {
margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
.l-mt60 {
margin-top: 3rem;
}
}

.l-text-center {
text-align: center;
}

.c-back-blue {
background: repeating-linear-gradient(#EEE, #EEE 5px, #fff 5px, #fff 10px);
}

.c-btn {
font-size: max(1.25rem, 12px);
font-weight: bold;
color: #fff;
padding: 0.9375rem 4.25rem;
width: 20rem;
max-width: 100%;
border-radius: 3.125rem;
border: 1px solid #fff;
display: block;
font-style: italic;
position: relative;
}
@media screen and (max-width: 767px) {
.c-btn {
font-size: max(0.875rem, 12px);
padding: 0.375rem 0.375rem 0.375rem 2.375rem;
width: 11.25rem;
}
}
.c-btn:hover {
color: #fff;
background-color: #144B64;
opacity: 0.8;
}
.c-btn::before {
content: "";
position: absolute;
width: 0.5625rem;
aspect-ratio: 9/19;
right: 1.75rem;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background: url(../images/icon-arrow.svg) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
.c-btn::before {
width: 0.375rem;
right: 0.75rem;
}
}

.c-btn--white:hover {
background-color: #fff;
color: #144B64;
}
.c-btn--white:hover::before {
background: url(../images/icon-arrow-blue.svg) no-repeat center center/cover;
}

.c-fadeInMv {
opacity: 0;
-webkit-animation-name: fadeIn;
animation-name: fadeIn;
-webkit-animation-duration: 2s;
animation-duration: 2s;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
-webkit-animation-delay: 0.3s;
animation-delay: 0.3s;
}

@-webkit-keyframes fadeIn {
100% {
opacity: 1;
}
}

@keyframes fadeIn {
100% {
opacity: 1;
}
}
.c-hamburger {
display: block;
/*width: 1.4375rem;*/
width: 2rem;
height: 1.125rem;
position: relative;
cursor: pointer;
-webkit-transition: 0.3s all;
transition: 0.3s all;
z-index: 3;
}

.c-hamburger span {
display: inline-block;
-webkit-transition: ease 0.5s all;
transition: ease 0.5s all;
position: absolute;
height: 3px;
background-color: #fff;
width: 100%;
margin: 0 auto;
left: 0;
right: 0;
top: calc(50% - 1px);
}

.c-hamburger span:nth-child(1) {
-webkit-transform: translateY(-11px);
transform: translateY(-11px);
}

.c-hamburger span:nth-child(3) {
-webkit-transform: translateY(11px);
transform: translateY(11px);
}

/*OPEN時の動き*/
.js-open.p-header__hamburger {
margin-left: auto;
}

.js-open .c-hamburger span {
-webkit-transition: ease 0.5s;
transition: ease 0.5s;
}

.js-open .c-hamburger span:nth-child(1) {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.js-open .c-hamburger span:nth-child(2) {
opacity: 0;
}

.js-open .c-hamburger span:nth-child(3) {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
width: 100%;
left: 0;
right: 0;
}

.c-hoverRun {
text-decoration: none;
background-image: -webkit-gradient(linear, left top, right top, from(#fff), to(#fff));
background-image: linear-gradient(90deg, #fff, #fff);
background-repeat: no-repeat;
display: inline;
background-position: left bottom;
background-size: 0 1px;
-webkit-transition: background-size 0.5s;
transition: background-size 0.5s;
}

.c-hoverRun:hover {
background-size: 100% 1px;
}

.c-hoverRun--black {
background-image: -webkit-gradient(linear, left top, right top, from(#333), to(#333));
background-image: linear-gradient(90deg, #333, #333);
}

.c-section-title {
font-size: max(1.625rem, 12px);
color: #222;
/*font-style: italic;*/
font-weight: bold;
letter-spacing: -0.02em;
}


.c-section-title-blue {
font-size: max(1.625rem, 12px);
color: #0071D3;
/*font-style: italic;*/
font-weight: bold;
letter-spacing: -0.02em;
}


.c-section-title--blue {
color: #144B64;
}

.c-slidein {
opacity: 0;
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
-webkit-transition: all 1s;
transition: all 1s;
}
.c-slidein.c-slidein-left {
-webkit-transform: translate(-100%, 0);
transform: translate(-100%, 0);
}
.c-slidein.c-slidein-right {
-webkit-transform: translate(100%, 0);
transform: translate(100%, 0);
}
.c-slidein.c-slidein-up {
-webkit-transform: translate(0, -100%);
transform: translate(0, -100%);
}
.c-slidein.c-slidein-bottom {
-webkit-transform: translate(0, 100%);
transform: translate(0, 100%);
}
.c-slidein.scrollin {
-webkit-transform: translate(0, 0) !important;
transform: translate(0, 0) !important;
opacity: 1 !important;
}

.p-cta {
padding-block: 5.375rem;
}
@media screen and (max-width: 767px) {
.p-cta {
padding-block: 2.875rem;
}
}

.p-cta__list {
display: grid;
gap: 1.25rem;
grid-template-columns: 1fr 1fr;
width: 51.25rem;
margin-inline: auto;
}
@media screen and (max-width: 767px) {
.p-cta__list {
gap: 0.75rem;
grid-template-columns: 1fr;
width: 100%;
}
}

.p-cta__link {
height: 100%;
min-height: 7.5rem;
display: grid;
gap: 1rem;
grid-template-columns: 4.125rem 1fr;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
background-color: #fff;
border-radius: 0.625rem;
padding: 1.25rem 2.375rem;
position: relative;
font-weight: bold;
}
@media screen and (max-width: 767px) {
.p-cta__link {
min-height: 6.25rem;
gap: 1.875rem;
grid-template-columns: 3.25rem 1fr;
border-radius: 0.375rem;
}
}
@media (any-hover: hover) {
.p-cta__link:hover {
opacity: 0.8;
}
.p-cta__link:hover::before {
-webkit-transform: translateY(-50%) translateX(0.3em);
transform: translateY(-50%) translateX(0.3em);
}
}
.p-cta__link::before {
position: absolute;
content: "";
background: url(../images/icon-arrow-maru.svg) no-repeat center center/contain;
right: 2.875rem;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 2.25rem;
height: 2.25rem;
-webkit-transition: all 0.2s;
transition: all 0.2s;
}
@media screen and (max-width: 767px) {
.p-cta__link::before {
right: 1.5625rem;
width: 1.5625rem;
height: 1.5625rem;
}
}
.p-cta__link img {
width: 100%;
height: auto;
}

.p-footer-address {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
@media screen and (max-width: 767px) {
.p-footer-address {
display: block;
}
}

.p-footer-address__item:nth-child(1) {
padding-right: 3.125rem;
text-align: center;
}

.p-footer-address__item:nth-child(1) h4{
font-size:18px;
text-align: center;
font-weight: normal;
}

@media screen and (max-width: 767px) {
.p-footer-address__item:nth-child(1) {
padding-right: 0;
}
}
.p-footer-address__item:nth-child(2) {
padding-left: 3.125rem;
border-left: 3px solid #cccccc;
}
@media screen and (max-width: 767px) {
.p-footer-address__item:nth-child(2) {
padding-left: 0rem;
border: none;
margin-top: 1.25rem;
}
}

.p-footer-menu {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
gap: 1.875rem;
font-size: max(1rem, 12px);
}
@media screen and (max-width: 767px) {
.p-footer-menu {
display: grid;
text-align: center;
}
}

.p-footer {
/*padding-block: 3.75rem 0.625rem;*/
background-color: #FFF;
}

.p-footer__logo-shinko {
width: 18.0625rem;
margin-inline: auto;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-footer__logo-shinko {
width: 16.125rem;
}
}
.p-footer__logo-shinko a {
display: block;
cursor: pointer;
}
@media (any-hover: hover) {
.p-footer__logo-shinko a:hover {
opacity: 0.8;
}
}
.p-footer__logo-shinko img {
width: 100%;
height: auto;
}

.p-footer__menu {
margin-top: 3.125rem;
}

.p-footer__address {
margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
.p-footer {
padding-block: 1rem 0.625rem;
background-color: #FFF;
}

.p-footer__address {
padding-inline: 0.75rem;
}
}

.p-footer__logo-sasaki {
margin-top: 4.875rem;
margin-inline: auto;
width: 26.25rem;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-footer__logo-sasaki {
margin-top: 2.5rem;
width: 20.375rem;
height: auto;
}
}
.p-footer__logo-sasaki a {
display: block;
}
@media (any-hover: hover) {
.p-footer__logo-sasaki a:hover {
opacity: 0.8;
}
}
.p-footer__logo-sasaki img {
width: 100%;
height: auto;
-o-object-fit: contain;
 object-fit: contain;
}

.p-footer__copy {
margin-top: 3.625rem;
font-size: max(0.875rem, 12px);
text-align: center;
border-top:2px #CCC solid;
padding:1em 0 1em 0;
width:100%;
}
@media screen and (max-width: 767px) {
.p-footer__copy {
font-size: 11px;
}
}

.p-footer__page-top {
position: fixed;
right: 0.625rem;
bottom: 0.625rem;
width: 3.125rem;
aspect-ratio: 1/1;
cursor: pointer;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-footer__page-top {
bottom: 1.25rem;
width: 2.75rem;
}
}
@media (any-hover: hover) {
.p-footer__page-top:hover {
opacity: 0.8;
}
}

body.noscroll {
overflow: hidden;
}

.p-header {
width: 100%;
max-height: 100%;
height: 4.5rem;
padding: 0;
position: sticky;
top: 0;
z-index: 5000;
-webkit-transition: 0.5s all;
transition: 0.5s all;
}
@media screen and (max-width: 767px) {
.p-header {
position: fixed;
background-color: #FFF;
}
}

.p-header.js-up {
-webkit-animation: UpAnime 0.5s forwards;
animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
from {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
to {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
}

@keyframes UpAnime {
from {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
to {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
}
.p-header.js-down {
-webkit-animation: DownAnime 0.5s forwards;
animation: DownAnime 0.5s forwards;
top: 0px;
background-color: #fff;
}

@-webkit-keyframes DownAnime {
from {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
to {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes DownAnime {
from {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
to {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
.p-header__inner {
background-color: #FFF;
width: 100%;
padding-left: 2.875rem;
/*padding-right: 3.75rem;*/
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
position: relative;
height: inherit;
z-index: 10;
border-bottom: 2px solid #cccccc;
}
@media screen and (max-width: 767px) {
.p-header__inner {
background-color: transparent;
padding-left: 1rem;
/*padding-right: 0.625rem;*/
padding-right: 0;
}
}

.p-header__logo {
max-width: 17rem;
width: 100%;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-header__logo {
max-width: 13.9375rem;
}
}
.p-header__logo img {
width: 100%;
height: auto;
}
.p-header__logo a:hover {
opacity: 0.7;
}

.p-header__nav {
height: inherit;
}
@media screen and (max-width: 767px) {
.p-header__nav {
display: none;
}
	
/* ハンバーガー展開中はロゴを隠す*/
.p-header.is-open 
.p-header__logo{
}
}





.p-header__list {
height: inherit;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.p-header__item {
height: inherit;
padding: 0 1.9375rem;
position: relative;
background-color: #ddebf7;
border-right: 2px solid #FFFFFF;
border-bottom: 1px solid rgb(204, 204, 204);
}

.p-header__item:first-child {
border-left: 2px solid #FFFFFF;
}

.p-header__link {
display: block;
font-size: 1rem;
color: #222;
height: inherit;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
position: relative;
}
.p-header__link span {
display: block;
position: relative;
}
.p-header__link span::after {
position: absolute;
content: "";
width: 100%;
height: 3px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
bottom: -0.5rem;
background-color:#2047C1;
opacity: 0;
-webkit-transition: 0.3s all;
transition: 0.3s all;
}

@media (any-hover: hover) {
.p-header__link:hover span:after {
opacity: 1;
-webkit-transition: 0.3s all;
transition: 0.3s all;
}
.p-header__link:hover {
-webkit-transition: 0.3s;
transition: 0.3s;
opacity: 0.8;
}
}
.p-header__hamburger {
display: none;
}
@media screen and (max-width: 767px) {
.p-header__hamburger {
display: block;
position: relative;
margin-left: auto;
z-index: 2;
width: 4.3125rem;
height: 4.3125rem;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
border-radius: 0%;
background-color: #0071d3;
}
.p-header__hamburger.js-open {
background-color: rgba(255, 255, 255, .5);
}
}

.p-spNav {
display: none;
/*IE(Internet Explorer)・Microsoft Edgeへの対応*/
-ms-overflow-style: none;
/*Firefoxへの対応*/
scrollbar-width: none;
/*Google Chrome、Safariへの対応*/
}
@media screen and (max-width: 767px) {
.p-spNav {
display: block;
-webkit-transition: ease 0.5s;
transition: ease 0.5s;
z-index: 5;
width: 100%;
height: 101vh;
background: #fff;
position: fixed;
top: 0;
left: 0;
color: #333;
-webkit-transform: translateX(100%);
transform: translateX(100%);
background-color: #0071d3;
-webkit-transition: -webkit-transform 0.3s ease-out;
transition: -webkit-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
padding: 1.25rem 1.25rem 6.875rem;
}
.p-spNav::before {
position: absolute;
content: "";
/*background: url(../images/top/news-back.png) no-repeat center center/contain;*/
right: 0;
bottom: 0;
-webkit-transform: translateX(7%);
transform: translateX(7%);
width: 12.9375rem;
height: 11.8125rem;
}
}
.p-spNav::-webkit-scrollbar {
display: none;
}

.p-spNav.js-open {
-webkit-transform: translateX(0%);
transform: translateX(0%);
}

.p-spNav__list {
width: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: 5.625rem;
}

@media screen and (max-width: 767px) {
.p-spNav__item {
position: relative;
width: 100%;
border-bottom: 1px solid rgba(255, 255, 255, .5);
}
}

.p-spNav__link {
display: block;
font-size: 1rem;
color: #fff;
font-weight: 500;
position: relative;
}
@media screen and (max-width: 767px) {
.p-spNav__link {
text-align: left;
padding: 1.25rem 0;
text-align: center;
}
}
.p-spNav__link::after {
position: absolute;
content: "";
width: 100%;
height: 1px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
bottom: 0;
background-color: #333;
opacity: 0;
-webkit-transition: 0.3s all;
transition: 0.3s all;
}
.p-spNav__link span {
display: block;
font-size: 0.875rem;
font-weight: 400;
}

@media screen and (min-width: 900px) {
.p-spNav__link:hover:after {
opacity: 1;
-webkit-transition: 0.3s all;
transition: 0.3s all;
}
}
.p-spNav__logo {
width: 20.6875rem;
margin: 5.125rem auto 0;
}
@media screen and (max-width: 767px) {
.p-spNav__logo {
width: 210px;
margin: 2.5rem auto 0;
}
}

.c-cross {
position: absolute;
top: 2.1875rem;
right: 0.9375rem;
display: block;
width: 1.25rem;
height: 1.25rem;
}

.c-cross:before,
.c-cross:after {
content: "";
display: block;
background-color: #333;
position: absolute;
top: 46%;
width: 0.9375rem;
height: 0.125rem;
right: 0.27rem;
}

.c-cross:before {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
-webkit-transition-duration: 0.2s;
transition-duration: 0.2s;
}

.is-active .c-cross::after {
opacity: 0;
}

.is-active .c-cross::before {
-webkit-transform: rotate(0);
transform: rotate(0);
}

.c-accordion {
width: 100%;
display: none;
position: relative;
padding: 0;
margin-top: -1.25rem;
margin-bottom: 1.25rem;
}

.c-accordion li {
width: 100%;
margin-left: 0.625rem;
}

.c-accordion li a {
display: block;
font-size: 0.875rem;
padding-left: 0.75rem;
padding: 0.9375rem 0rem 0.3125rem 0.75rem;
}


.p-top-mv {
position: relative;
}
.p-top-mv img {
width: 100%;
height: 100%;
}
.p-top-mv .swiper {
aspect-ratio: 1920/800;
}
@media screen and (max-width: 767px) {
.p-top-mv .swiper {
aspect-ratio: 375/573;
}
}
.p-top-mv .swiper-slide-active .swiper-slide__item,
.p-top-mv .swiper-slide-duplicate-active .swiper-slide__item,
.p-top-mv .swiper-slide-prev .swiper-slide__item {
-webkit-animation: zoomanime 8s linear 0s normal both;
animation: zoomanime 8s linear 0s normal both;
}
@-webkit-keyframes zoomanime {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
100% {
-webkit-transform: scale(1.25);
transform: scale(1.25);
}
}
@keyframes zoomanime {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
100% {
-webkit-transform: scale(1.25);
transform: scale(1.25);
}
}

.p-top-mv__title {
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 84.8958333333%;
height: 2.75rem;
z-index: 2;
mix-blend-mode: overlay;
}
@media screen and (min-width: 1920px) {
.p-top-mv__title {
width: 101.875rem;
}
}
@media screen and (max-width: 767px) {
.p-top-mv__title {
width: 4rem;
height: 29.5625rem;
left: auto;
right: 2.375rem;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
}

.p-top-news {
padding-block: 3.4rem;
position: relative;
overflow: hidden;
margin-top:6em;
z-index: 1;
}
.p-top-news::before {
position: absolute;
content: "";
/*background: url(../images/top/news-back.png) no-repeat center center/contain;*/
right: 0;
bottom: 0.625rem;
-webkit-transform: translateX(7%);
transform: translateX(7%);
width: 27.875rem;
height: 25.4375rem;
}
@media screen and (max-width: 767px) {
.p-top-news::before {
bottom: auto;
top: 0.5625rem;
width: 12.9375rem;
height: 11.8125rem;
}
}
@media screen and (max-width: 767px) {
.p-top-news {
padding-block: 2.375rem;
}
}

@media screen and (min-width: 768px) {
.p-top-news__inner {
max-width: calc(46.375rem + 50px);
}
}

.p-top-news__list {
margin-top: 3.125rem;
display: grid;
gap: 2.5rem;
}
@media screen and (max-width: 767px) {
.p-top-news__list {
margin-top: 2.8125rem;
gap: 2rem;
}
}



.news-area {
width: 100%;
margin:0 auto;
max-height:250px;
overflow:auto;
}


@media screen and (max-width: 767px) {
.news-area {
  width: 100%;
  max-width: 1200px;
		margin:0 auto;
  background-color: ;
		max-height:250px;
		overflow:auto;
}
}


/*news のtable*/
table.table-news {
  width: 90%;
  max-width: 860px;
  text-align: left;
  border-collapse: collapse;
  margin: 0 auto;
  padding-top: 2em;
  margin-bottom: 0em;
}
table.table-news th {
padding: 1em 1em 1em 1em;
  border-bottom: 0px #ccc solid;
font-size: max(1.125rem, 12px);
  line-height: 180%;
  text-align: center;
  vertical-align: top;
  color: #000;
  font-weight: normal;
  width: 0%;
}
table.table-news td {
padding: 1em 1em 1em 1em;
border-bottom: 0px #ccc solid;
font-size: max(1.125rem, 12px);
  line-height: 180%;
  text-align: left;
  vertical-align: middle;
  word-break: break-all;
  width: 80%;
}
table.table-news tr th a, table.table-news tr td a {
  text-decoration: none;
  color: #333;
}

@media screen and (max-width: 767px) {
table.table-news {
  width: 100%;
  text-align: left;
  border-collapse: separate;
  /*border-spacing: 10px;*/
  margin: 0 auto 0.5em;
  padding: 0 1em;
}
table.table-news th {
  font-size: 16px;
  padding: 0.7em 0 0 0;
  line-height: 180%;
  text-align: left;
  vertical-align: top;
  color: #000;
  font-weight: normal;
  width: 100%;
  display: block;
}
table.table-news td {
  font-size: 16px;
  padding: 0;
  border-bottom: 0px #89898A solid;
  line-height: 160%;
  text-align: left;
  vertical-align: middle;
  word-break: break-all;
  width: 100%;
  display: block;
}
table.table-news tr th a, table.table-news tr td a {
  text-decoration: none;
  color: #333;
}
}

.p-top-news__link {
display: grid;
gap: 0.625rem;
grid-template-columns: auto 1fr;
color: #222;
font-size: max(1.125rem, 12px);
width: -webkit-fit-content;
width: -moz-fit-content;
width: fit-content;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-top-news__link {
display: block;
font-size: max(1rem, 12px);
width: 100%;
}
}
@media (any-hover: hover) {
.p-top-news__link:hover {
opacity: 0.7;
}
}

@media screen and (max-width: 767px) {
.p-top-news__title-wrap {
margin-top: 0.25rem;
padding-bottom: 0.75rem;
position: relative;
}
.p-top-news__title-wrap::before {
position: absolute;
content: "";
background: #fff;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
}
}

.p-top-news__title {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
@media screen and (max-width: 767px) {
.p-top-news__title {
-webkit-line-clamp: 2;
}
}


.animated-button a{
position: relative;
display: flex;
align-items: center;
gap: 4px;
padding: 0.8rem 6.5rem;
border: 1px solid;
text-align: left;
border-color: transparent;
font-size: 18px;
/*font-style: italic;*/
background-color: inherit;
border-radius: 100px;
font-weight: 600;
color: white;
box-shadow: 0 0 0 0px white;
cursor: pointer;
overflow: hidden;
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
width: 20rem;
max-width: 100%;
margin: 0 auto;
}
.animated-button a img {
position: absolute;
width: 24px;
z-index: 9;
transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
/* アイコン画像の色変更はSVG側で currentColor を利用して設定してください */
}
.animated-button a .arr-1 {
right: 1.75rem;
width: 10px;
}
.animated-button a .arr-2 {
left: -1.75rem;
width: 10px;
}
.animated-button a .circle {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
/*background-color: white;*/
border-radius: 50%;
opacity: 0;
transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.animated-button a .text {
position: relative;
font-size: max(1.25rem, 12px);
z-index: 1;
transform: translateX(-12px);
transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
padding: 0rem;
font-weight: bold;
color: #222;
width: 20rem;
max-width: 100%;
}
.animated-button a:hover {
/*box-shadow: 0 0 0 12px transparent;*/
color: black;
border-radius: 12px;
}
.animated-button a:hover .arr-1 {
right: -25%;
}
.animated-button a:hover .arr-2 {
left: 16px;
}
.animated-button a:hover .text {
transform: translateX(12px);

font-weight: bold;
color: #144b64;
width: 20rem;

}
/* SVGのfill色はSVGファイル内でcurrentColorを指定した場合、colorで変更可能ですが、
画像の場合は色変更のためSVG自体を書き換える必要があります 
.animated-button:hover img {
filter: invert(1); ← 必要であればフィルターを使う 
}
*/
.animated-button a:active {
scale: 0.95;
box-shadow: 0 0 0 4px white;
}
.animated-button a:hover .circle {
width: 520px;
height: 220px;
opacity: 1;
}



@media screen and (max-width: 767px) {
.u-desktop {
display: none;
}
}

.u-mobile {
display: none;
}
@media screen and (max-width: 767px) {
.u-mobile {
display: block;
}
}
/*# sourceMappingURL=styles.css.map */







.pc-br{
display: block;
}

.sp-br{
display: none;
}

.sp1em {
height: 1em;
}
.sp2em {
height: 2em;
}
.sp3em {
height: 3em;
}
.pc_sp1em {
height: 1em;
}
.pc_sp2em {
height: 2em;
}
.pc_sp3em {
height: 3em;
}
.sp_sp1em {
display: none;
}
.sp_sp2em {
display: none;
}
.sp_sp3em {
display: none;
}

.pc-toggle {
display: block;
}
.sp-toggle {
display: none;
}

.we01b{
position: relative;
}

.we01c{
position: absolute;
z-index: 5000;
}

.themeimg{
width: 90%;
max-width: 900px;
margin: 0 auto;
margin-top: 6em;
margin-bottom: 8em;
}

.nomaltxt_00 {
width: 95%;
margin: 0 auto;
line-height: 180%;
margin-top: 3.5em;
border: 0px solid #ccc; /* 枠線（任意） */
background: #fff;       /* 背景色（任意） */
word-break:break-all;
}

.nomaltxt {
width: 95%;
margin: 0 auto;
line-height: 180%;
margin-top: 2em;
height: 250px;          /* 好きな高さに調整できます */
overflow: auto;         /* はみ出た部分はスクロールバーで表示 */
padding: 16px;          /* 読みやすいように内側の余白（任意） */
border: 0px solid #ccc; /* 枠線（任意） */
border-right: 0px solid #ccc;
background: #fff;       /* 背景色（任意） */
}

.nomaltxt02 {
line-height: 180%;
margin-top: 2em;
border: 0px solid #ccc; /* 枠線（任意） */
}

.nomaltxt03 {
line-height: 180%;
border: 0px solid #ccc; /* 枠線（任意） */
word-break:break-all;
height: 360px;          /* 好きな高さに調整できます */
overflow: auto;         /* はみ出た部分はスクロールバーで表示 */
padding: 16px;          /* 読みやすいように内側の余白（任意） */
}

.saruimg{
width: 100%;
max-width: 320px;
margin: 0 auto;
filter: drop-shadow(4px 4px 10px rgba(0,0,0,0.4));
}

.posimg{
width: 100%;
max-width: 320px;
margin: 0 auto;
box-shadow: 0 10px 17px 0 rgba(0,0,0,0.4);
}

.themeimg02{
width: 100%;
margin: 0 auto;
margin-top: 4em;
margin-bottom: 8em;
}

.themeback{
background-color: #fff6ee;
padding: 5em 0em;
margin-bottom: 6em;
}

/* コンテナ */
#container_01 {
display: grid;
/*grid-template-rows: ;*/
grid-template-columns: 50% 50%;
width: 90%;
margin: 0 auto;
max-width: 1000px;
/*align-items:flex-start;*/
}

/* アイテム */
#itemA {
grid-row: 1 / 2;
grid-column: 1 / 2;
word-break:break-all;
margin-bottom: 6em;
align-content: center;
margin-top:0em;
padding: 0em 2em;
}
#itemB {
grid-row: 1 / 2;
grid-column: 2 / 3;
word-break:break-all;
margin-bottom: 6em;
}
#itemC {
grid-row: 2 / 3;
grid-column: 1 / 2;
word-break:break-all;
}
#itemD {
grid-row: 2 / 3;
grid-column: 2 / 3;
word-break:break-all;
padding: 0em 2em;
}

.sarupos{
font-size: 1.5rem;
color: #0071d3;
font-weight: 900;
}

.aisatuflex{
display: flex;
max-width: 1000px;
margin: 0 auto;
margin-top: 3em;
width: 90%;
}

.aisatuimg {
flex: 25%;
}

.aisatubun {
flex: 75%;
padding-left: 4em;
}

.mousikomi {
width: 100%;             /* 必要な幅に合わせて調整 */
height: 300px;           /* 高さも表示用途に合わせて決めてください */
overflow: hidden;        /* はみ出しを隠す */
position: relative;      /* 必須ではないが推奨 */
/*background: #eee;*/        /* （任意）確認しやすい背景色 */
margin-top: 7em;
}

.mousikomi img {
display: block;
min-width: 100%;         /* 横幅は必ず親要素以上 */
height: 100%;            /* 高さは親にぴったり揃える場合 */
object-fit: cover;       /* はみ出しをトリミング */
object-position: left top; /* トリミングの基準点（左上） */
}

.aisatunamebig{
font-size: 1.2rem;
}

.aisatuname{
margin-top: 1em;
font-size: 0.95rem;
}

.mousikomi {
position: relative;  /* この中が絶対配置の基準になる */
width: 100%;
overflow: hidden;
}
.mousikomi img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.mousikomihand {
position: absolute;
top:3.5em;
z-index: 2;
width: 100px;
height: auto;
margin-left: 0.8em;
}

.mousikomihand img {
width: 100%;
height: auto;
}

.mousikomihand02 {
position: absolute;
right: 24%;     /* 好きな位置に調整 */
top: 4.7em;
z-index: 2;
height: auto;
}

.mousikomikochira{
margin-bottom: 1.0em;
color: #FFFFFF;
text-align: center;
font-weight: bold;
 font-size: 23px;
}

.mousikomibtn a{
z-index: 3;
 outline: none;
 cursor: pointer;
 border: none;
 padding: 1.4rem 5rem;
 margin: 0;
 font-family: inherit;
 font-size: inherit;
 position: relative;
 display: inline-block;
 letter-spacing: 0.05rem;
 font-weight: 700;
 font-size: 23px;
 border-radius: 500px;
 overflow: hidden;
 background: #ffff00;
 color: #0071d3;
}

.mousikomibtn a span {
 position: relative;
 z-index: 10;
 transition: color 0.4s;
}

.mousikomibtn a:hover span {
 color: #0071d3;
}

.mousikomibtn a::before,
.mousikomibtn a::after {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 0;
}

.mousikomibtn a::before {
 content: "";
 background: #FFFFFF;
 width: 120%;
 left: -10%;
 transform: skew(30deg);
 transition: transform 0.4s cubic-bezier(0.3, 1, 0.8, 1);
}

.mousikomibtn a:hover::before {
 transform: translate3d(100%, 0, 0);
}

/* コンテナ */
#container_02 {
display: grid;
/*grid-template-rows: ;*/
grid-template-columns: 100% 0%;
width: 100%;
/*align-items:flex-start;*/
}

/* アイテム */
#itemE {
grid-row: 1 / 2;
grid-column: 1 / 2;
}
#itemF {
grid-row: 1 / 2;
grid-column: 2 / 3;
}

.sptopsage{
margin-top: 0em;
}

.form-wrap {

}

.form-box {
width: 100%;
max-width: 980px;
margin: 1em auto 0em;
text-align: center;
/*background-color: #e9ecf2;*/
border-radius: 12px;
padding: 0.3em 0em 3em 0em;
margin-top: 1.5em;
}

.form-table {
width: 100%;
max-width: 898px;
margin: 0px auto;
border-collapse: separate;
border-spacing: 10px;
padding: 0em 0em 0em 0em;
margin-top: 2em !important;
}

.form-table img{
display: inline-block;
}

.form-table th {
display: block;
padding: 0.2em 0.5em;
line-height: 180%;
text-align: left;
vertical-align: top;
color: #000;
width: 100%;
font-size: max(1.0625rem, 12px);
font-family: 'Noto Sans JP', sans-serif;
font-weight: normal;
}

.form-table td {
display: block;
padding: 0em 0.5em 0.5em 0em;
line-height: 180%;
text-align: left;
vertical-align: top;
color: #222;
width: 100%;
font-size: max(1.0625rem, 12px);
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
}

::placeholder {
color: #c3c3c3;
}

.doui {
display: block;
padding: 0em 2.8em;
line-height: 180%;
text-align: center;
vertical-align: top;
color: #5f3700;;
width: 100%;
font-size: 18px;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 600;
}

.cyuui{
color: red;
font-size: 16px;
}

.douinoue{
color: #000;
font-size: clamp(15.5px, 1.0vw, 21px);
font-family: 'Noto Sans JP', sans-serif;
font-weight: 600;
line-height: 170%;
word-break: break-all;
text-align: center;
margin-bottom: 3em;
}

.douinoue a{
color: #4169e1;
text-decoration: underline;
}

.btn-contact03{
width: 370px;
margin: 0 auto;
margin-top: 1em;
display: flex;
justify-content: center;
padding: 0.7em;
border: 2px solid;
border-color: #00235f;
/*border-radius: 150px;*/
background-color: #00235f !important;
color: #FFFFFF;
font-weight: 600;
font-size: 20px;
border-radius: 100px;
}

.btn-contact03:hover{
background-color: #FFFFFF !important;
color: #00235f;
border: 2px solid;
border-color: #00235f;
/*border-radius: 150px;*/
}

input, select {
  border: solid 1px #CCC;
background-color: #f2f2f2 !important;
  color: #333333;
  padding: 0.5em;
  margin: 0.5em;
  
  /*cursor: pointer;*/
  vertical-align: middle;
}
textarea {
  border: solid 1px #CCC;
background-color: #f2f2f2;
  color: #333333;
  padding: 0.5em;
  margin: 0.5em;
}
input#submit_button {
  width: 18%;
  cursor: pointer;
}
input#reset_button {
  width: 18%;
  cursor: pointer;
}

::placeholder {
  color:#CCC;
  font-size: 1em;
}

.hissu {
  text-align: center;
  line-height: 140%;
  color: #f15a24;
  display: inline-block;
  margin: 0px 0 0 0px;
}

.consent-text{
    display: block;
    padding: 0.2em 0.5em;
    line-height: 180%;
    text-align: center;
    vertical-align: top;
    color: #000;
    width: 100%;
    font-size: max(1.0625rem, 12px);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
}

.form-privacy__agree{
color: #000;
font-size: max(1.0625rem, 12px);
font-family: 'Noto Sans JP', sans-serif;
font-weight: normal;
}

/* ラッパー */
.btn-nyu-wrap{
  position:relative;
  display:inline-block;
  /* ─ ホバー時にまとめて拡大 ─ */
  border-radius:100px;     /* ボタンと同じ半径にする */
  background:#0071d3;      /* ボタン色を塗っておく */
  overflow:hidden;         /* 角丸外を隠す */
  transition:.5s;
}

/* input 本体 */
.btn-nyu{
  padding:15px 90px 15px 70px;
  border:0;
  border-radius:100px;
  background:#0071d3!important;
  color:#fff;
  font:normal max(1.0625rem,12px)/1 'Noto Sans JP',sans-serif;
  cursor:pointer;
  transition:.5s;                 /* ← アニメ時間はラッパーと合わせる */
}

/* ▶ を置く */
.btn-nyu-wrap::after{
  content:"▶";
  position:absolute;
  top:50%;
  right:30px;
  transform:translateY(-50%);
  font-size:1.1em;
  color:#fff;
  font-family:'Segoe UI Symbol','Arial Unicode MS',sans-serif;
  pointer-events:none;
  transition:.5s;                 /* ← 同じ時間で拡大させる */
}

/* ────────── ホバー時の拡大 ────────── */
.btn-nyu-wrap:hover{
  transform:scale(1.1);           /* ラッパーごと拡大 */
  box-shadow:0 0 20px #6fc5ff50;  /* 影もここに移動した方が自然 */
}

/* 押下時（クリック）の収縮もラッパーに集約 */
.btn-nyu-wrap:active{
  transform:scale(.98);
  box-shadow:none;
  transition:.25s;
}

.telmailicon img{
width: 90%;
max-width: 90px;
margin: 0 auto;
margin-top: 3em;
margin-bottom: 2em;
}

.telmailtxt{
color: #000;
font-size: max(1.0625rem, 12px);
font-family: 'Noto Sans JP', sans-serif;
font-weight: normal;
text-align: center;
width: 90%;
margin: 0 auto;
}

.telmailbigtxt{
color: #000;
font-size: 1.3rem;
font-family: 'Noto Sans JP', sans-serif;
font-weight: bold;
text-align: center;
line-height: 160%;
}

.telmailcyutxt{
color: #000;
font-size: 1.29rem;
font-family: 'Noto Sans JP', sans-serif;
font-weight: normal;
text-align: center;
line-height: 220%;
}

.accesswaku{
width: 95%;
margin: 0 auto;
margin-top: 3.5em;
}

.photomapflex{
  display: flex;      /* 横並びにするだけ */
  gap: 3em;           /* お好みで余白 */
	margin-top: 2em;
}

/* ───────── ２つのボックスは同じ幅 ───────── */
.photo,
.map{
  flex: 1 1 0;        /* 幅 50% ずつ。高さは flex の “stretch” で揃う */
  min-width: 0;       /* 画像や iframe が原因ではみ出さないように */
  position: relative; /* iframe を高さ 100% で張り付けるため */
}

/* 画像はトリミングせず等倍縮小 */
.photo img{
  width: 100%;
  height: auto;
  display: block;     /* inline-block の余白を消す */
}

/* 地図を画像と同じ高さに引き延ばす */
.map iframe{
  width: 100%;
  height: 100%;       /* flex アイテムの高さと同じになる */
  border: 0;
}

.accesswakubig{
margin-bottom: 9em;
}

.accesswakubig02{
margin-bottom: 2em;
}

.accesstxtsita{
color: #000;
font-family: 'Noto Sans JP', sans-serif;
font-weight: normal;
text-align: center;
width: 90%;
margin: 0 auto;
margin-top: 2em;
line-height: 180%;
}

.company-table {
	border-collapse: collapse;
	width: 100%;
	margin: 0 auto;
	margin-top: 50px;
	margin-bottom: 8em;
width: 95%;
}
.company-table th, .company-table td {
	font-weight: normal;
	text-align: left;
	border-top: 0px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	padding: 20px 0;
	vertical-align: top;
	line-height: 1.6;
}

.company-table th{
width: 12%
}

.company-table td{
width: 88%
}

/* ───────── 通常表示（２列） ───────── */
.venue-list{
    display:grid;
    /* １列目＝最長コンテンツ幅で固定 / ２列目＝ …会場○ */
    grid-template-columns:max-content auto;
    column-gap:3em;
    line-height:1.6;
}
.venue-name{
    overflow-wrap:anywhere;   /* 長い語も折り返せる（任意） */
}
.venue-num{
    white-space:nowrap;       /* “…会場○” を改行させない */
}
/* 右端にそろえたい行だけに付ける */
.right-align{
    justify-self:end;
    text-align:right;
}

.yohaku01{
margin-top: 0em;
}

.yohaku03{
margin-top: 4em;
}

.nichiji{
font-size: 1.2rem;
display: block;
border-bottom: 2px solid #00b3ec;
padding-bottom: 0.5em;
line-height: 120%;
}

.nichiji_small{
display:inline-block;   /* インラインのままでも可だが、余白を確実に効かせるため */
margin-top:8px;         /* ここを好きな値に変更。数字が大きいほど下がる */
}

.nitteiwaku{
width: 100%;
margin-top: 3em;
}

.nitteiwaku_top{
width: 100%;
margin-top: 3em;
}

.nitteiwaku_02{
width: 100%;
margin-top: 1.5em;
}

.nittei-table {
	border-collapse: collapse;
	width: 100%;
	margin: 1.5em 0 7em;
}
.nittei-table th, .nittei-table td {
	font-weight: normal;
	text-align: left;
	border-top: 0px solid #cccccc;
	border-bottom: 0px solid #cccccc;
	padding: 0.5em 0;
	vertical-align: top;
	line-height: 1.6;
}

.nittei-table th{
width: 30%
}

.nittei-table td{
width: 70%
}

.nittei-table_top {
	border-collapse: collapse;
	width: 100%;
	margin: 1.5em 0 3em;
}
.nittei-table_top th, .nittei-table_top td {
	font-weight: normal;
	text-align: left;
	border-top: 0px solid #cccccc;
	border-bottom: 0px solid #cccccc;
	padding: 0.5em 0;
	vertical-align: top;
	line-height: 1.6;
}

.nittei-table_top th{
width: 30%
}

.nittei-table_top td{
width: 70%
}

.nittei-table_map {
	border-collapse: collapse;
	width: 100%;
	margin: 1.5em 0 0em;
}
.nittei-table_map th, .nittei-table_map td {
	font-weight: normal;
	text-align: left;
	border-top: 0px solid #cccccc;
	border-bottom: 0px solid #cccccc;
	padding: 0.5em 0;
	vertical-align: top;
	line-height: 1.6;
}

.nittei-table_map th{
width: 85%
}

.nittei-table_map td{
width: 15%
}

.nitteiflex{
display: flex;
gap:5em;
width: 95%;
margin: 0 auto;
}

.nitteiflex_02{
display: flex;
gap:2em;
align-items: center;
max-width: 900px;
margin: 0 auto;
}

.nitteiflex_attraction{
display: flex;
gap:2em;
align-items: flex-start;
max-width: 900px;
margin: 0 auto;
margin-top: 2em;
margin-bottom: 4em;
}

.yohaku02{
margin-bottom: 0em;
}

.yohaku04{
margin-bottom: 9em;
}

.nichiji_bunka{
display:flex;              /* 横並びにする */
justify-content:space-between; /* 左右端に配置する */
border-bottom: 1px solid #333333;
padding-bottom: 0.5em;
align-items: center;
width: 95%;
margin: 0 auto;
}

.bunkattl{
font-size: 1.25rem;
}

.place{
}

.bunka_theme{
line-height: 180%;
text-align: center;
margin-top: 1em;
word-break:break-all;
}

.bunka_theme_big{
font-size: 1.35rem;
font-weight: bold;
color: #004097;
}

.bunka_theme_cyu{
font-size: 1.2rem;
font-weight: bold;
color: #603813;
}

.nomaltxt_theme {
width: 95%;
margin: 0 auto;
line-height: 180%;
margin-top: 2em;
border: 0px solid #ccc; /* 枠線（任意） */
background: #fff;       /* 背景色（任意） */
word-break:break-all;
}


.kousiwaku{
    display: flex;              /* 横並びにする */
    justify-content: space-between;
    align-items: flex-start;    /* 上端をそろえる */
    background-color: #f2f2f2;
    padding: 2em;
    width: 95%;
    margin: 3.5em auto 0;
}

.kousitxt{
    flex: 1;                    /* 残り幅をすべて使う */
    word-break: break-all;
}

.kousiimg{
    flex: 0 0 20%;              /* 幅30%（必要に応じて変更） */
    margin-left: 3em;
}

.kousiimg img{
    width: 100%;                /* ラッパー幅に合わせる */
    height: auto;
    display: block;
}

.kousiwaku_02{
    display: flex;              /* 横並びにする */
    /*justify-content: space-between;*/
    align-items: center;    /* 上端をそろえる */
    padding: 2em;
    width: 95%;
    margin: 3.5em auto 0;
}

.kousiind{
text-indent: -3em;
padding-left: 3em;
}

.kousiuchi{
font-size: 1.2rem;
}

.nichiji_uchi{
font-size: 1.2rem;
display: block;
border-bottom: 2px solid #00b3ec;
padding-bottom: 0.8em;
line-height: 120%;
margin-bottom: 0.5em;
}

.nichiji_attraction{
font-size: 1.1rem;
display: block;
border-bottom: 2px solid #00b3ec;
padding-bottom: 0.8em;
line-height: 180%;
margin-bottom: 0.5em;
word-break:break-all;
}

.kousiind_uchi{
text-indent: -3.6em;
padding-left: 3.6em;
word-break:break-all;
}

.kousiind_attraction{
word-break:break-all;
}

.uchiwaku{
max-width: 900px;
margin: 0 auto;
}

.uchi-table {
	border-collapse: collapse;
	width: 100%;
	margin: 0.5em 0 3em;
}
.uchi-table th, .uchi-table td {
	font-weight: normal;
	text-align: left;
	border-top: 0px solid #cccccc;
	border-bottom: 0px solid #cccccc;
	padding:10px 0;
	vertical-align: top;
	line-height: 1.6;
}

.uchi-table th{
width: 12%
}

.uchi-table td{
width: 88%
}

.attraction-table {
	border-collapse: collapse;
	width: 95%;
	margin: 0.5em 0 3em;
margin: 0 auto;
}
.attraction-table th, .attraction-table td {
	font-weight: normal;
	text-align: left;
	border-top: 0px solid #cccccc;
	border-bottom: 0px solid #cccccc;
	padding:10px 0;
	vertical-align: top;
	line-height: 1.6;
}

.attraction-table th{
width:8em;
}

.attraction-table td:nth-child(2){
width:32%;
}

.attraction-table td:nth-child(3){
width:60%;
}

.mapblue a{
background-color: #0071d3;
border: 1px solid #0071d3;
border-radius: 16px;
padding: 3px 14px;
color: #FFFFFF;
font-weight: bold;
}

.mapblue a:hover{
background-color: #ffff00;
border: 1px solid #0071d3;
color: #0071d3;
}

.topannai{
font-size: 1.1rem;
margin-bottom: 1.5em;
}

.topannaiblue{
color: #0071d3;
}

/* From Uiverse.io by BHARGAVPATEL1244 */ 
.annaibtn {
 outline: none;
 cursor: pointer;
 padding: 0.9rem 2rem;
 margin: 0;
 font-family: inherit;
 font-size: 1.2rem;
 position: relative;
 display: inline-block;
 letter-spacing: 0.05rem;
 font-weight: 700;
 border-radius: 500px;
 overflow: hidden;
 background: #ffff00;
border: 2px solid #0071d3;
 color: #FFFFFF;
text-align: center;
max-width: 350px;
margin-top: 1em;
}

.annaibtn span {
 position: relative;
 z-index: 10;
 transition: color 0.4s;
}

.annaibtn:hover span {
color: #0071d3;
}

.annaibtn::before,
.annaibtn::after {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 0;
}

.annaibtn::before {
 content: "";

 background: #0071d3;
border: 2px solid #0071d3;
 width: 120%;
 left: -10%;
 transform: skew(30deg);
 transition: transform 0.4s cubic-bezier(0.3, 1, 0.8, 1);
}

.annaibtn:hover::before {
 transform: translate3d(100%, 0, 0);
}

.p-top-news {
margin-top:0em;
}

.responsive-video {
  width: 100%;
  height: auto;     /* アスペクト比維持 */
}

#bcon {
scroll-margin-top: 60px;   /* ←これだけ */
}

#apu {
scroll-margin-top: 100px;   /* ←これだけ */
}

#jcom {
scroll-margin-top: 140px;   /* ←これだけ */
}

#iichiko {
scroll-margin-top: 180px;   /* ←これだけ */
}

.kaguraflex{
display: flex;
width: 95%;
margin: 0 auto;
gap:2em;
margin-top: 3em;
margin-bottom: 2.5em;
}

.btnnin{
background-color: #ff9000;
border-radius: 16px;
padding: 3px 14px;
color: #FFFFFF;
font-weight: normal;
border: 2px solid #ff9000 !important;
}

.henkou{
font-size: 15px;
}

.bunkabox{
border: solid 1px #000;
font-size: ;
padding: 0.1em 0.5em;
font-size: 0.9em;
line-height: 260%;
}

.bunkabox02{
border: solid 1px #000;
font-size: 12px !important;
padding: 0.1em 0.5em;
font-size: 0.9em;
}

.rya{
font-size: 0.88em;
}














/*-----iPadPro用------*/
/*　画面サイズが980pxから1024pxまではここを読み込む　*/
@media screen and (min-width:769px) and ( max-width:1024px) {

.bunkabox02{
border: solid 1px #000;
font-size: 9px !important;
padding: 0.05em 0.5em;
font-size: 0.9em;
}

}


/*-----iPad用------*/
/*　画面サイズが768pxから979pxまではここを読み込む　*/
@media screen and (min-width:768px) and ( max-width:979px) {

.nitteiflex_attraction{
width: 90%;
margin: 0 auto;
margin-top: 3em;
}

.nitteiwaku{
width: 90%;
margin:0 auto;
}
	
.nitteiwaku_top{
width: 90%;
margin:0 auto;
margin-top: 2em;
}
	
.uchittl{
text-align: center;
margin-top: 2em;
}

.uchi-table {
width: 100% !important;
}

.attraction-table {
width: 95% !important;
}

.nitteiflex{
width: 90%;
margin: 0 auto;
}

.sptopsage{
margin-top: 0em;
}

.company-table{
width: 90%;
margin: 0 auto;
}
	
.uchi-table{
width: 90%;
margin: 0 auto;
}

.attraction-table{
width: 90%;
margin: 0 auto;
}

.bunkabox02{
border: solid 1px #000;
font-size: 9px !important;
padding: 0.05em 0.5em;
font-size: 0.9em;
}

}


/*******SMART用*********/
@media print, screen and (max-width: 767px) {

.pc-br{
display: none;
}

.sp-br{
display: block;
}

.pc-toggle {
display: none;
}
.sp-toggle {
display: block;
}

.sp1em {
height: 1em;
}
.sp2em {
height: 2em;
}
.sp3em {
height: 3em;
}
.pc_sp1em {
display: none;
}
.pc_sp2em {
display: none;
}
.pc_sp3em {
display: none;
}
.sp_sp1em {
height: 1em;
}
.sp_sp2em {
height: 2em;
}
.sp_sp3em {
height: 3em;
}

.sptopsage{
margin-top: 2.8em;
}

.themeimg{
width: 90%;
margin: 0 auto;
margin-top: 3.0em;
margin-bottom: 3.0em;
}

/* コンテナ */
#container_01 {
display: grid;
/*grid-template-rows: ;*/
grid-template-columns: 100%;
width: 90%;
margin: 0 auto;
max-width: 1000px;
/*align-items:flex-start;*/
}

/* アイテム */
#itemA {
grid-row: 1 / 2;
grid-column: 1 / 2;
word-break:break-all;
align-content: center;
margin-top: 2em;
padding: 0em;
width: 75%;
margin: 0 auto;
}
#itemB {
grid-row: 2 / 3;
grid-column: 1 / 2;
word-break:break-all;
margin-bottom: 4.5em;
}
#itemC {
grid-row: 4 / 5;
grid-column: 1 / 2;
word-break:break-all;
}
#itemD {
grid-row: 3 / 4;
grid-column: 1 / 2;
word-break:break-all;
padding: 0em;
}

.sarupos{
font-size: 1.3rem;
color: #0071d3;
font-weight: 900;
text-align: center;
padding-top: 1.5em;
}

.aisatuflex{
display: flex;
flex-direction: column;
margin: 0 auto;
margin-top: 1.5em;
width: 90%;
}

.aisatuimg {
width: 55%;
margin: 0 auto;
margin-bottom: 2em;
}

.aisatubun {
padding:0;
}

.themeimg02{
width: 100%;
margin: 0 auto;
margin-top: 2.5em;
margin-bottom: 4em;
}

.themeback{
background-color: #fff6ee;
padding: 3.5em 0em;
margin-bottom: 3em;
}
	
.posimg{
width: 85%;
margin: 0 auto;
}
	
.nomaltxt03 {
line-height: 180%;
border: 0px solid #ccc; /* 枠線（任意） */
word-break:break-all;
padding: 0px 10px;
height: 250px;
overflow: auto;
border-right: 1px solid rgb(204, 204, 204);
}
	
.nomaltxt {
border-right: 1px solid #ccc;
margin-top: 0em;
}
	
.nomaltxt_00 {
width: 90%;
margin: 0 auto;
margin-top: 3em;
word-break:break-all;
}

.nomaltxt_theme {
width: 100%;
margin: 0 auto;
margin-top: 2.0em;
word-break:break-all;
}

.mousikomi {
position: relative;  /* この中が絶対配置の基準になる */
width: 100%;
overflow: hidden;
margin-top: 3em;
}
.mousikomi img {
width: 100%;
height: 80%;
object-fit: cover;
display: block;
}

.mousikomihand {
position: absolute;
top:4.0em;
z-index: 2;
width: 50px;
height: auto;
margin-left: 0.2em;
}

.mousikomihand img {
width: 100%;
height: auto;
}

.mousikomihand02 {
position: absolute;
right: 16%;     /* 好きな位置に調整 */
top: 3.5em;
z-index: 2;
height: auto;
}

.mousikomikochira{
margin-bottom: 1.0em;
color: #FFFFFF;
text-align: center;
font-weight: bold;
 font-size: 19px;
}

.mousikomibtn a{
z-index: 3;
 outline: none;
 cursor: pointer;
 border: none;
 padding: 1em 2em;
 margin: 0;
 font-family: inherit;
 font-size: inherit;
 position: relative;
 display: inline-block;
 letter-spacing: 0.05rem;
 font-weight: 800;
 font-size: 19px;
 border-radius: 500px;
 overflow: hidden;
 background: #ffff00;
 color: #0071d3;
}

.mousikomibtn a span {
 position: relative;
 z-index: 10;
 transition: color 0.4s;
}

.mousikomibtn a:hover span {
 color: #0071d3;
}

.mousikomibtn a::before,
.mousikomibtn a::after {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 0;
}

.mousikomibtn a::before {
 content: "";
 background: #FFFFFF;
 width: 120%;
 left: -10%;
 transform: skew(30deg);
 transition: transform 0.4s cubic-bezier(0.3, 1, 0.8, 1);
}

.mousikomibtn a:hover::before {
 transform: translate3d(100%, 0, 0);
}

/* コンテナ */
#container_02 {
display: grid;
/*grid-template-rows: ;*/
grid-template-columns: 100% 0%;
width: 100%;
/*align-items:flex-start;*/
}

/* アイテム */
#itemE {
grid-row: 1 / 2;
grid-column: 1 / 2;
}
#itemF {
grid-row: 1 / 2;
grid-column: 2 / 3;
}

.day-title{font-size:1.2rem !important;}
	
.form-wrap {

}

.form-box {
width: 100%;
max-width: 980px;
margin: 1em auto 0em;
text-align: center;
/*background-color: #e9ecf2;*/
border-radius: 12px;
padding: 0.0em 0em 2.5em 0em;
margin-top: 2.5em;
}

.form-table {
width: 100%;
max-width: 898px;
margin: 0px auto;
border-collapse: separate;
border-spacing: 10px;
padding: 1em 0em 0em 0em;
margin-top: 2em !important;
}

.form-table th {
display: block;
padding: 0.2em 0.5em;
line-height: 180%;
text-align: left;
vertical-align: top;
color: #000;
width: 100%;
font-size: max(1.0625rem, 12px);
font-family: 'Noto Sans JP', sans-serif;
font-weight: normal;
}

.form-table td {
display: block;
padding: 0em 0.5em 0.5em 0em;
line-height: 180%;
text-align: left;
vertical-align: top;
color: #222;
width: 97%;
font-size: max(1.0625rem, 12px);
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
}

::placeholder {
color: #c3c3c3;
}

.doui {
display: block;
padding: 0em 2.8em;
line-height: 180%;
text-align: center;
vertical-align: top;
color: #5f3700;;
width: 100%;
font-size: 18px;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 600;
}

.cyuui{
color: red;
font-size: 16px;
}

.douinoue{
color: #000;
font-size: max(1.0625rem, 12px);
font-family: 'Noto Sans JP', sans-serif;
font-weight: 600;
line-height: 170%;
word-break: break-all;
text-align: center;
margin: 0 auto;
margin-bottom: 2em;
width: 90%;
}

.douinoue a{
color: #4169e1;
text-decoration: underline;
}

.btn-contact03{
width: 80%;
margin: 0 auto;
margin-top: 1em;
display: flex;
justify-content: center;
padding: 0.7em;
border: 2px solid;
border-color: #00235f;
/*border-radius: 150px;*/
background-color: #00235f !important;
color: #FFFFFF;
font-weight: 600;
font-size: max(1.0625rem, 12px);
border-radius: 100px;
}

.btn-contact03:hover{
background-color: #FFFFFF !important;
color: #00235f;
border: 2px solid;
border-color: #00235f;
/*border-radius: 150px;*/
}

input, select {
  border: solid 1px #CCC;
background-color: #f2f2f2 !important;
  color: #333333;
  padding: 0.5em;
  margin: 0.5em;
  
  /*cursor: pointer;*/
  vertical-align: middle;
}
textarea {
  border: solid 1px #CCC;
background-color: #f2f2f2;
  color: #333333;
  padding: 0.5em;
  margin: 0.5em;
}
input#submit_button {
  width: 18%;
  cursor: pointer;
}
input#reset_button {
  width: 18%;
  cursor: pointer;
}

::placeholder {
  color:#CCC;
  font-size: 1em;
}

.hissu {
  text-align: center;
  line-height: 140%;
  color: #f15a24;
  display: inline-block;
  margin: 0px 0 0 0px;
border-radius: 4px;
}
	
.btn-nyu{
padding:15px 50px 15px 30px;
}	
	
.photomapflex{
display: flex;      /* 横並びにするだけ */
flex-direction: column;
gap: 1.5em;           /* お好みで余白 */
margin: 0 auto;
margin-top: 2em;
width: 85%;
}

/* 地図を画像と同じ高さに引き延ばす */
.map iframe{
width: 100%;
height: 100%;       /* flex アイテムの高さと同じになる */
border: 0;
}
	
.map{
flex:1 1 0;
min-height:200px;   /* これ以下にはならない */
}
	
.accesswakubig{
margin-bottom: 6.5em;
}

.accesswakubig02{
margin-bottom: 0em;
}
	
.venue-list{
grid-template-columns:1fr;   /* 1 列だけ */
column-gap:0;
}

.venue-num{
margin-left:1em;            /* 字下げ */
}

.right-align{
justify-self:start;         /* 右寄せ解除 */
text-align:left;
}

.company-table{
width: 90%;
margin: 0 auto;
margin-bottom: 4.5em;
}

.company-table th, .company-table td {
display: block;
padding: 0em;
border-bottom: none !important;
}

.company-table th {
border-top: none;
padding: 0.5em 1em;
background-color: #c7d4e9;
margin-top: 1.5em;
margin-bottom: 0.4em;
}

.company-table th{
width: 100%
}

.company-table td{
width: 100%
}

.yohaku01{
margin-top: 1.5em;
}

.yohaku03{
margin-top: 1.5em;
}

.nitteiwaku{
width: 90%;
margin: 0 auto;
margin-top: 1.5em;
}

.nitteiwaku_top{
width: 90%;
margin: 0 auto;
margin-top: 1.5em;
}

.nitteiwaku_02{
width: 90%;
margin: 0 auto;
margin-top: 1.5em;
}
	
.nittei-table{
width: 100%;
margin: 0 auto;
margin-bottom: 2.5em;
}

.nittei-table th, .nittei-table td {
padding: 0em;
border-bottom: none !important;
}

.nittei-table th {
border-top: none;
padding: 0em 0em;
margin-top: 1.5em;
margin-bottom: 0.4em;
padding-top: 1em;
}

.nittei-table th{
width: 35%;
}

.nittei-table td{
width: 65%;
padding-top: 1em;
}

.nittei-table_top{
width: 100%;
margin: 0 auto;
margin-bottom: 2.5em;
}

.nittei-table_top th, .nittei-table_top td {
padding: 0em;
border-bottom: none !important;
}

.nittei-table_top th {
border-top: none;
padding: 0em 0em;
margin-top: 1.5em;
margin-bottom: 0.4em;
padding-top: 1em;
}

.nittei-table_top th{
width: 35%;
}

.nittei-table_top td{
width: 65%;
padding-top: 1em;
}

.nittei-table_map{
width: 100%;
margin: 0 auto;
margin-bottom: 2.5em;
}

.nittei-table_map th, .nittei-table_map td {
padding: 0em;
border-bottom: none !important;
}

.nittei-table_map th {
border-top: none;
padding: 0em 0em;
margin-top: 0em;
margin-bottom: 0.4em;
padding-top: 1em;
}

.nittei-table_map th{
width: 100%;
}

.nittei-table_map td{
width: 100%;
padding-top: 1.1em;
}	

.nitteiflex{
display: flex;
flex-direction: column;
gap:0em;
}

.nitteiflex_02{
display: flex;
flex-direction: column;
gap:0em;
}

.nitteiflex_attraction{
display: flex;
flex-direction: column;
gap:0em;
margin-top: 0em;
margin-bottom: 1.5em;
}
	
.yohaku02{
margin-bottom: 2em;
}

.nichiji_bunka{
display:block;              /* 横並びにする */
justify-content:space-between; /* 左右端に配置する */
border-bottom: 1px solid #333333;
padding-bottom: 0.5em;
}

.bunkattl{
font-size: 1.2rem;
}

.bunka_theme_big{
font-size: 1.25rem;
font-weight: bold;
color: #004097;
}

.bunka_theme_cyu{
font-size: 1.1rem;
font-weight: bold;
color: #603813;
}

.kousiwaku{
display: flex;
flex-direction: column;
margin: 1.5em 0em 0em 0em;
width: 100%;
padding: 1.5em;
}

.kousiimg{
margin: 0 auto;
margin-top: 2em;
}

.yohaku04{
margin-bottom: 4em;
}	
	
.kousiwaku_02{
display: flex;
flex-direction: column;
margin: 1.5em 0em 0em 0em;
width: 100%;
}
	
.kousiind{
text-indent: -0em;
padding-left: 0em;
}

.kousiind_uchi{
text-indent: -0em;
padding-left: 0em;
word-break:break-all;
}
	
.kousiind_attraction{
word-break:break-all;
}
	
.kousiuchi{
font-size: 1.1rem;
}

.nichiji_uchi{
font-size: 1.1rem;
display: block;
border-bottom: 2px solid #00b3ec;
padding-bottom: 0.8em;
line-height: 120%;
margin-bottom: 0.5em;
}
	
.nichiji_attraction{
font-size: 1.1rem;
display: block;
border-bottom: 2px solid #00b3ec;
padding-bottom: 0.8em;
line-height: 180%;
margin-bottom: 0.5em;
word-break:break-all;
}

.uchi-table{
width: 100%;
margin: 0 auto;
margin-bottom: 3.5em;
}

.uchi-table th, .uchi-table td {
display: block;
padding: 0em;
/*border-bottom: none !important;*/
}

.uchi-table th {
border-top: none;
/*background-color: #c7d4e9;*/
margin-top: 0.5em;
margin-bottom: 0.4em;
}

.uchi-table th{
width: 100%;
}

.uchi-table td{
width: 100%;
border-bottom: 1px solid #cccccc;
padding-bottom: 0.3em;
}

.attraction-table{
width: 100%;
margin: 0 auto;
margin-bottom: 3.5em;
}

.attraction-table th, .attraction-table td {
display: block;
padding: 0em;
/*border-bottom: none !important;*/
}

.attraction-table th {
border-top: none;
/*background-color: #c7d4e9;*/
margin-top: 0.5em;
margin-bottom: 0.4em;
}

.attraction-table th{
width: 100%;
}
	
.uchittl{
margin-top: 2em;
text-align: center;
/*font-weight: bold;*/
}

.attraction-table td:nth-child(2){
width:100%;
}

.attraction-table td:nth-child(3){
width:100%;
border-bottom: 1px solid #cccccc;
padding-bottom: 0.3em;
}

.kaguraflex{
display: flex;
flex-direction: column;
gap:1.5em;
margin: 0 auto;
align-items: center;
margin-bottom: 2.5em;
}	
	
.btnnin{
background-color: #ff9000;
border-radius: 16px;
padding: 3px 14px;
color: #FFFFFF;
font-weight: normal;
border: 2px solid #ff9000 !important;
margin-bottom:0.5em;
margin-top:1em;
font-size: 1em;
}	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}



.topbtngrid{
display:flex;
flex-wrap:wrap;
gap:16px; /* 行・列両方のスキマ */
max-width:1642px;
margin:5em auto;
}

/* アイテム */
.topbtnitem{
/*padding:3em 1.5em 3em 1.5em;*/
width: 256px;
height: 74px;
background:#c7d4e9;
border-radius:6px;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
color:#344;
transition:background .25s,transform .25s,box-shadow .25s;
text-align: center;
}


/* hover エフェクト */
.topbtnitem a:hover{
background:#9fb3d8;
transform:translateY(0px);
box-shadow:0 6px 12px rgba(0,0,0,.15);
}

/* --------------- PC（6 列） --------------- */
@media (min-width:768px){
.topbtnitem a{
/* gap が 5 本なので 5 * 16px = 80px を 100% から引いて 6 分割 */
width:calc((100% - 80px) / 6);
}
}

/* --------------- スマホ（2 列） ------------ */
@media (max-width:767.98px){
.topbtnitem a{
/* gap は 1 本のみなので 16px を 100% から引いて 2 分割 */
/*width:calc((100% - 16px) / 2);*/
width:100%;
}
}



/* ---------- レイアウト ---------- */
.video-wrap{
display:flex;
flex-wrap:wrap;
gap:16px; /* 行・列の間隔 */
margin:0;
padding:0;
margin-bottom: 2.5em;
}

/* 各動画カード */
.video-card{
flex:1 1 calc(100% / 2 - 16px);/* ★スマホ：2 カラム★ */
box-sizing:border-box;
/*background:#f9f9f9;
border:1px solid #ddd;
border-radius:6px;*/
overflow:hidden;/* 角丸を iframe にも適用 */
}

/* 768px 以上で 3 カラム */
@media (min-width:768px){
.video-card{
flex:1 1 calc(100% / 3 - 16px); /* ★PC：3 カラム★ */
}
}

/* ---------- 16:9 レスポンシブ iframe ---------- */
.video-inner{
position:relative;
width:100%;
max-width:800px;
margin:5em auto;
}

.video-inner iframe{
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
margin-top: 1.0em;
}

/* ---------- キャプション ---------- */
.caption{
margin:8px 12px 12px;
font-size:0.9rem;
color:#333;
}




.day-block01{
background:#fff;
border:0px solid #d9e4ee;
margin-bottom:40px;
border-radius:4px;
overflow:hidden;
max-width:1200px;
margin:0 auto;
}


.day-block02{
background:#fff;
border:0px solid #d9e4ee;
margin-bottom:40px;
border-radius:4px;
overflow:hidden;
max-width:1200px;
margin:5em auto;
}


.day-head{
position:relative;
background-repeat: no-repeat;    /* 繰り返さない */
background-size: 100% auto;      /* 横幅を100%、高さは自動（縦横比維持） */
background-position: center;    /* 画像を中央に配置 */
background-image: url('../images/theme_05.svg');
color:#fff;
padding:30px 110px 30px 110px; /* 左右に雲の幅分あける */
font-weight:bold;
text-align:center;
}

.day-head02{
position:relative;
background-repeat: no-repeat;    /* 繰り返さない */
background-size: 100% auto;      /* 横幅を100%、高さは自動（縦横比維持） */
background-position: center;    /* 画像を中央に配置 */
background-image: url('../images/theme_06.svg');
color:#fff;
padding:0px 110px 0px 110px; /* 左右に雲の幅分あける */
font-weight:bold;
text-align:center;
}

.day-head_n{
position:relative;
background-repeat: no-repeat;    /* 繰り返さない */
background-size: 100% auto;      /* 横幅を100%、高さは自動（縦横比維持） */
background-position: center;    /* 画像を中央に配置 */
background-image: url('../images/theme_05.svg');
color:#fff;
padding:30px 110px 30px 110px; /* 左右に雲の幅分あける */
font-weight:bold;
text-align:center;
}

.day-head02_n{
position:relative;
background-repeat: no-repeat;    /* 繰り返さない */
background-size: 100% auto;      /* 横幅を100%、高さは自動（縦横比維持） */
background-position: center;    /* 画像を中央に配置 */
background-image: url('../images/theme_06.svg');
color:#fff;
padding:30px 0px; /* 左右に雲の幅分あける */
font-weight:bold;
text-align:center;
}


/* ---　日付行の中身 --- */
.day-title{font-size:1.3rem; padding-bottom: 20px;}
.day-type {font-size:1.3rem;margin-left:10px;}

/* --- 中の2カラムレイアウト --- */
.inner{display:flex;flex-wrap:wrap;padding:25px 18px 35px 18px;}
.column{flex:1 1 280px;padding:0 15px;}
.col-title{font-weight:bold;margin-bottom:6px;border-bottom:2px solid #009fe3;width:100%;padding-bottom:3px;font-size:1.1em;}

/* --- テーブル風リスト --- */
.list{font-size:1rem;}
.list li{margin-bottom:6px;list-style:none;word-break: break-all;line-height: 160%;}

/* --- MAP ボタン --- */
.map-btn{
display:inline-block;
font-size:0.75rem;
color:#fff;
background:#0071c1;
border-radius:16px;
padding:3px 14px;
margin-left:10px;
text-decoration:none;
}
.map-btn:hover{opacity:.85;}

/* --- レスポンシブ調整 --- */
@media(max-width:600px){
.inner{padding:20px 14px 30px 14px;}
.day-head{padding-left:0px;padding-right:0px;background-image: url('../images/theme_05_sp.svg');}
.day-head02{background-image: url('../images/theme_06_sp.svg');}
.day-head_n{padding-left:60px;padding-right:60px;background-image: url('../images/theme_05_sp.svg'); padding-top: 2.5em; padding-bottom: 20px;top:1em;}
.day-head02_n{background-image: url('../images/theme_06_sp.svg');}
}




/* バナー全体 --------------------------------*/
.banners{
display:flex;
width:100%;
height:360px;/* 必要に応じて変更 */
font-family:"Helvetica Neue",YuGothic,"游ゴシック体",sans-serif;
font-weight:bold;
text-align:center;
overflow:hidden; /* 雲がはみ出さないように */
}

/* 各ブロック --------------------------------*/
.bannersblock{
flex:1;
position:relative;
display:flex;
align-items:center;
justify-content:center;
color:#fff;
font-size:1.5rem;/* 文字サイズは適宜 */
width:100%;
height:360px;
}

/* 左右の色 */
.bannersblock.blue {background: url("../images/big_bunner_left.jpg") no-repeat center center/cover;} /* 青 */
.bannersblock.orange {background: url("../images/big_bunner_right.jpg") no-repeat center center/cover;} /* オレンジ */

/* 中央の白線（右側だけ左境界線を引く） */
.block + .block{border-left:0px solid #fff;}/* 太さは適宜 */

/* ▶︎ マークをつける */
.bannersblock span::before{
content:"\25B6"; /* ▶ */
margin-right:6px;
font-size:0.8em;
}

.bannersblock span::before{ /* ▶ の通常時 */
content:"\25B6";
margin-right:10px;
font-size:1.2em;
display:inline-block;/* ← transform を効かせるため */
transition:transform .25s; /* ← アニメーション設定 */
}
.bannersblock:hover span::before{ /* ホバー時に 4px 右へ */
transform:translateX(4px);

}

.bannersblock.blue:hover {
position:relative;
z-index: 100;
transition:transform .3s;
transform:scale(1.1);
} /* 青 */
.bannersblock.orange:hover {
position:relative;
z-index: 100;
transition:transform .3s;
transform:scale(1.1);
} /* オレンジ */


@media (max-width: 768px) {
.banners{
flex-direction:column; /* 縦並び */
height:350px; /* 必要なら高さを自動に */
}
.bannersblock{
height:350px;/* スマホ用の高さを任意で指定 */
}
}



.footerhero{
width:100%;/* 例：中央寄せしたい場合。フル幅なら削除 */
margin:5em auto;
display:flex;
height:410px;/* スクショに近い高さ。自由に変更可 */
overflow:hidden;
}

/* ------------- 左側：写真 ------------- */
.footerhero__img{
flex:0 0 60%;/* 幅 60%（調整可） */
position:relative;
background: url("../images/top_information.jpg") no-repeat center center/contain;
}

/* フェード用の白グラデを上に被せる */
.footerhero__img::after{
content:"";
position:absolute;top:0;right:0;bottom:0;width:120px; /* 幅でぼかし量調整 */
background:linear-gradient(90deg,transparent,rgba(255,255,255,.9) 75%,#fff);
}

/* ------------- 右側：本文 ------------- */
.footerhero__body{
flex:1;/* 残り幅 */
background:#fff;
display:flex;
flex-direction:column;
justify-content:center;
padding:0 60px 0 40px; /* 右側余白／左側余白 */
}

/* 箇条書き */
.footerhero__list{
list-style:none;
margin-bottom:25px;
}
.footerhero__list li{
font-size:.9rem;
margin:8px 0;
position:relative;
padding-left:18px;
}
.footerhero__list li::before{
content:"";
position:absolute;left:0;top:7px;
width:6px;height:6px;border-radius:50%;
background:#0072ce;/* 青丸 */
}




/* ボタン */
.btn{
display:inline-block;
padding:12px 60px;
background:#0072ce;
color:#fff;
font-size:.9rem;
font-weight:bold;
border:none;
border-radius:28px;
cursor:pointer;
transition:background .25s,transform .25s;
text-align:center;
text-decoration:none;
width:400px;
}
.btn:hover{
background:#005db4;
transform:translateY(-2px);
}

/* ---------- スマホ向け ---------- */
@media (max-width:640px){
.footerhero{flex-direction:column;height:auto;}
.footerhero__img{flex:0 0 180px;}/* 写真部の高さ確保 */
.footerhero__img::after{/*width:100%;height:80px;bottom:0;top:auto;
background:linear-gradient(0deg,transparent,rgba(255,255,255,.9) 70%,#fff);*/
}
.footerhero__body{
padding:10px 10px;
 display: flex;
justify-content: center;
align-items: center;
}
.btn{
width:300px;
 }
}


.footbtngrid{
display:flex;
flex-wrap:wrap;
gap:16px; /* 行・列両方のスキマ */
max-width:1200px;
margin:5em auto;
justify-content: center;
}

/* アイテム */
.footbtnitem{
height:74px;
background:#FFF;
/*border-radius:6px;*/
border: solid 1px #ccc;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
color:#344;
transition:background .25s,transform .25s,box-shadow .25s;
}

/* hover エフェクト */
.footbtnitem:hover{
background:#FFF;
transform:translateY(0px);
box-shadow:0 6px 12px rgba(0,0,0,.15);
}

/* --------------- PC（6 列） --------------- */
@media (min-width:768px){
.footbtnitem{
/* gap が 5 本なので 5 * 16px = 80px を 100% から引いて 6 分割 */
width:calc((100% - 80px) / 4);
}
}

/* --------------- スマホ（2 列） ------------ */
@media (max-width:767.98px){
.footbtnitem{
/* gap は 1 本のみなので 16px を 100% から引いて 2 分割 */
width:calc((90% - 16px) / 1);
margin:0 auto;
}
}


.slider {
width: 100%;
margin: 0 auto;

}

/* grab カーソル */
.slider .slick-slide { cursor: grab;padding:0 1em 0 1em;}
.slider .slick-slide:active{ cursor: grabbing; }

/* ↓中央強調が要らなければ削除 */
/*.slick-slide{ opacity:.4; transition:.2s; }*/
.slick-center { opacity:1;}


@media (max-width:767.98px){
.slider .slick-slide{
cursor: grab;
padding:4.5em 0em 0 0em;
}
}

.carousel-6{ overflow-x:hidden; }

.carousel-6 .slick-slide{
padding:0 10px;
box-sizing:border-box;
}
.carousel-6 .slick-list{
margin:0 0px;
}







/*-----iPadPro用------*/
/*　画面サイズが980pxから1024pxまではここを読み込む　*/
@media screen and (min-width:769px) and ( max-width:1024px) {

.footerhero{
width:100%;/* 例：中央寄せしたい場合。フル幅なら削除 */
margin:5em auto;
display:flex;
height:210px;/* スクショに近い高さ。自由に変更可 */
overflow:hidden;
}

.bannersblock{
height:150px;/* スマホ用の高さを任意で指定 */
}

/* バナー全体 --------------------------------*/
.banners{
height:160px;/* 必要に応じて変更 */
}

}




/*-----iPad用------*/
/*　画面サイズが768pxから979pxまではここを読み込む　*/
@media screen and (min-width:768px) and ( max-width:979px) {

.footerhero{
width:100%;/* 例：中央寄せしたい場合。フル幅なら削除 */
margin:5em auto;
display:flex;
height:210px;/* スクショに近い高さ。自由に変更可 */
overflow:hidden;
}

.bannersblock{
height:150px;/* スマホ用の高さを任意で指定 */
}

/* バナー全体 --------------------------------*/
.banners{
height:160px;/* 必要に応じて変更 */
}

.henkou{
font-size: 10px;
}

}




/*******SMART用*********/
@media print, screen and (max-width: 767px) {
	
.video-wrap{
margin-bottom: 3.5em;
}	

.video-inner{
margin-bottom: 2.5em;
}

}