@charset "utf-8";

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

html {
padding:0;
margin:0;
}

body {
padding:50px;
margin:0;
text-align:center;
width:100%;
overflow-x:hidden;
font-family: sans-serif;
font-weight: 400;
font-style: normal;
}

.wrap {
width:1200px;
max-width:100%;
margin:0 auto;
box-shadow:0 0 3px rgba(0,0,0,0.2);
border:solid 1px #dddddd;
}

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

body {
padding:0;
}

.wrap {
width:1200px;
max-width:100%;
margin:0 auto;
box-shadow:0 0 0 rgba(0,0,0,0.0);
border:none;
}

}

.head {
display:flex;
justify-content:space-between;
align-items:center;
padding:30px 3%;
}

.head div {
display:flex;
gap:30px;
align-items:center;
}

.head div a {
text-decoration:none;
}

.head div h1 {
width:240px;
}

.head div section h2 {
font-size:1rem;
background:#af0007;
color:#fff;
padding:5px;
}

.head div section h3 {
font-size:1.15rem;
color:#707070;
padding:7px 0 0 0;
}

.head div dl {
display:flex;
gap:5px;
}

.head div dl dt {
width:60px;
}

.head div dl dd {
text-align:left;
}

.head div dl dd h4 {
font-size:1.3rem;
border-bottom:solid 1px #222222;
}

.head div dl dd h5 {
font-size:0.8rem;
font-weight:400;
padding:7px 0 0 0;
}

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

.head {
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
padding:30px 3%;
gap:30px;
}

.head div {
width:100%;
display:flex;
gap:30px;
justify-content:space-between;
align-items:center;
}

.head div:nth-of-type(2) {
justify-content:center;
}

.head div a {
text-decoration:none;
}

.head div h1 {
width:45%;
}

.head div section h2 {
font-size:3vw;
background:#af0007;
color:#fff;
padding:5px;
}

.head div section h3 {
font-size:3.5vw;
color:#707070;
padding:7px 0 0 0;
}

.head div dl {
display:flex;
gap:5px;
}

.head div dl dt {
width:12vw;
}

.head div dl dd {
text-align:left;
}

.head div dl dd h4 {
font-size:4.3vw;
border-bottom:solid 1px #222222;
}

.head div dl dd h5 {
font-size:2.5vw;
font-weight:400;
padding:7px 0 0 0;
}

}

.face {
margin-bottom:45px;
}

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

.face img {
width:100%;
}

}

.intro {
width:90%;
max-width:100%;
margin:0 auto 35px;
text-align:left;
}

.intro h2 {
font-size:1.5rem;
line-height:1.21;
margin-bottom:5px;
font-weight:600;
}

.intro h3 {
font-size:1.7rem;
line-height:1.21;
margin-bottom:20px;
font-weight:600;
}

.intro h3 strong {
color:#af0007;
}

.intro section {
display:flex;
gap:30px;
justify-content:space-between;
align-items:flex-start;
}

.intro section p {
width:60%;
font-size:1rem;
line-height:1.71;
}

.intro section img {
width:40%;
}

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

.intro {
width:90%;
max-width:100%;
margin:0 auto 35px;
text-align:left;
}

.intro h2 {
font-size:3.5vw;
line-height:1.21;
margin-bottom:5px;
font-weight:600;
}

.intro h3 {
font-size:4vw;
line-height:1.21;
margin-bottom:20px;
font-weight:600;
}

.intro h3 strong {
color:#af0007;
}

.intro section {
display:flex;
flex-direction:column;
gap:30px;
justify-content:space-between;
align-items:flex-start;
}

.intro section p {
width:100%;
font-size:3vw;
line-height:1.71;
}

.intro section img {
width:100%;
}

}


.place {
width:90%;
max-width:100%;
margin:0 auto 60px;
text-align:left;
}

.place h2 {
font-size:1.5rem;
line-height:1.21;
margin-bottom:20px;
font-weight:600;
}

.place p {
font-size:1rem;
line-height:1.71;
margin-bottom:20px;
}

.place img {
border-radius:30px;
}

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

.place {
width:90%;
max-width:100%;
margin:0 auto 60px;
text-align:left;
}

.place h2 {
font-size:4vw;
line-height:1.21;
margin-bottom:3%;
font-weight:600;
}

.place p {
font-size:3vw;
line-height:1.71;
margin-bottom:20px;
}

}

.entry {
width:80%;
max-width:80%;
margin:0 auto;
text-align:left;
}

.entry:after {
content:"";
display:block;
clear:both;
height:80px;
}

.entry ul {
display:flex;
justify-content:center;
gap:10px;
padding:0;
margin:0;
}

.entry ul li {
flex-grow:1;
list-style:none;
padding:0;
margin:0;
text-align:center;
}

.entry ul li a {
padding:20px 20px;
background:#af0007;
color:#ffffff;
font-size:23px;
border-radius:300px;
display:flex;
align-items:center;
gap:0 10px;
justify-content:center;
width:100%;
height:100%;
text-decoration:none;
text-align:center;
}

.entry ul li a span {
font-size:18px;
}

.entry ul li a img {
width:30px;
}

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

.entry {
width:80%;
max-width:80%;
margin:0 auto;
text-align:left;
}

.entry:after {
content:"";
display:block;
clear:both;
height:80px;
}

.entry ul {
display:flex;
justify-content:center;
gap:10px;
flex-direction:column;	
padding:0;
margin:0;
}

.entry ul li {
flex-grow:1;
list-style:none;
padding:0;
margin:0;
text-align:center;
}

.entry ul li a {
padding:20px 20px;
background:#af0007;
color:#ffffff;
font-size:23px;
border-radius:300px;
display:flex;
align-items:center;
gap:0 10px;
justify-content:center;
width:100%;
height:100%;
text-decoration:none;
text-align:center;
}

.entry ul li a span {
font-size:18px;
}

.entry ul li a img {
width:30px;
}

}


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

.entry ul li a {
padding:15px 15px;
background:#af0007;
color:#ffffff;
font-size:20px;
border-radius:300px;
display:flex;
align-items:center;
gap:0 10px;
justify-content:center;
width:100%;
height:100%;
text-decoration:none;
text-align:center;
}

.entry ul li a span {
font-size:15px;
}

.entry ul li a img {
width:20px;
}

}



.outline {
width:90%;
max-width:100%;
margin:0 auto 60px;
text-align:left;
}

.outline h2 {
font-size:1.5rem;
line-height:1.21;
margin-bottom:20px;
font-weight:600;
}

.outline table {
width:100%;
border-collapse:collapse;
letter-spacing:1px;
}

.outline table th {
padding:15px 30px 13px 0;
font-size:1.1rem;
font-weight:400;
line-height:1.39;
white-space:nowrap;
border-bottom:solid 1px #d4d4d4;
}

.outline table td {
padding:15px 0 13px 0;
font-size:1.1rem;
font-weight:400;
line-height:1.39;
width:100%;
border-bottom:solid 1px #d4d4d4;
}

.outline p {
font-size:0.9rem;
line-height:1.71;
margin-bottom:20px;
padding-top:30px;
}

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

.outline {
width:90%;
max-width:100%;
margin:0 auto 60px;
text-align:left;
}

.outline h2 {
font-size:4vw;
line-height:1.21;
margin-bottom:3%;
font-weight:600;
}

.outline table {
width:100%;
border-collapse:collapse;
letter-spacing:1px;
}

.outline table th {
padding:15px 30px 13px 0;
font-size:3vw;
font-weight:400;
line-height:1.39;
white-space:nowrap;
border-bottom:solid 1px #d4d4d4;
}

.outline table td {
padding:15px 0 13px 0;
font-size:3vw;
font-weight:400;
line-height:1.39;
width:100%;
border-bottom:solid 1px #d4d4d4;
}

.outline p {
font-size:2vw;
line-height:1.71;
margin-bottom:20px;
padding-top:30px;
}

}


.fee {
width:90%;
max-width:100%;
margin:0 auto 60px;
text-align:left;
display:flex;
justify-content:space-between;
}

.fee section {
width:calc(50% - 30px);
}

.fee h2 {
font-size:1.5rem;
line-height:1.21;
margin-bottom:20px;
font-weight:600;
}

.fee table {
width:100%;
border-collapse:collapse;
letter-spacing:1px;
}

.fee table th {
padding:15px 30px 0 0;
font-size:1.2rem;
font-weight:400;
line-height:1.39;
white-space:nowrap;
color:#af0007;
}

.fee table td {
padding:15px 0 0 0;
font-size:1.2rem;
font-weight:400;
line-height:1.39;
width:100%;
color:#af0007;
}

.fee p {
font-size:0.9rem;
line-height:1.71;
margin-bottom:20px;
padding-top:30px;
}

.fee dl {
align-self: flex-start;
width:50%;
}

.fee dl video {
width:100%;
}

.fee dl dd {
font-size:1rem;
padding:0;
margin:0;
}

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

.fee {
width:90%;
max-width:100%;
margin:0 auto 60px;
text-align:left;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}

.fee section {
width:100%;
}

.fee h2 {
font-size:4vw;
line-height:1.21;
margin-bottom:20px;
font-weight:600;
}

.fee table {
width:100%;
border-collapse:collapse;
letter-spacing:1px;
}

.fee table th {
padding:15px 30px 0 0;
font-size:3.5vw;
font-weight:400;
line-height:1.39;
white-space:nowrap;
color:#af0007;
}

.fee table td {
padding:15px 0 0 0;
font-size:3.5vw;
font-weight:400;
line-height:1.39;
width:100%;
color:#af0007;
}

.fee p {
font-size:2vw;
line-height:1.71;
margin-bottom:20px;
padding-top:30px;
}

.fee dl {
width:100%;
padding:3% 0 0 0;
}

.fee video {
align-self: flex-start;
width:100%;
}

}


.location {
width:100%;
max-width:100%;
margin:0 auto 60px;
text-align:center;
padding:50px 5%;
background:#f3f3f3;
}

.location h2 {
font-size:1.8rem;
line-height:1.21;
margin-bottom:40px;
font-weight:600;
}

.location section {
display:flex;
justify-content:space-between;

}

.location section div {
width:49%;
}

.location section div table {
width:100%;
}

.location section div table th {
background:#af0007;
color:#ffffff;
font-size:1.3rem;
font-weight:400;
line-height:1.39;
padding:10px;
text-align:left;
}

.location section div table td {
padding:15px 10px 20px 10px;
font-size:1.1rem;
font-weight:400;
line-height:1.39;
text-align:left;
}

.location p {
padding:15px 0 0 0;
font-size:1.1rem;
}

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

.location {
width:100%;
max-width:100%;
margin:0 auto 60px;
text-align:center;
padding:50px 5%;
background:#f3f3f3;
}

.location h2 {
font-size:4vw;
line-height:1.21;
margin-bottom:40px;
font-weight:600;
}

.location section {
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}

.location section div {
width:100%;
}

.location section div table {
width:100%;
}

.location section div table th {
background:#af0007;
color:#ffffff;
font-size:3.5vw;
font-weight:400;
line-height:1.39;
padding:10px;
text-align:left;
}

.location section div table td {
padding:15px 10px 20px 10px;
font-size:3vw;
font-weight:400;
line-height:1.39;
text-align:left;
}

.location p {
padding:15px 0 0 0;
font-size:2.5vw;
}

}


.background {
  width: 100%;
  height: 200px; /* 背景の高さを調整 */
  position: relative;
}

.background svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.foot {
background:url(./images/foot_bg.png) center top no-repeat #af0007;
padding:80px 5% 50px;
}

.foot h2 {
width:100%;
text-align:center;
}

.foot h2 img {
width:300px;
max-width:60%;
height:auto;
margin:0 auto;
}

.foot address {
padding:40px 0 20px 0;
font-style:normal;
color:#ffffff;
font-size:1rem;
line-height:1.81;
}

.foot h3 {
padding:0 0 40px 0;
color:#ffffff;
font-size:1.1rem;
}

.foot h3 a {
color:#ffffff;
}

.foot h4 {
color:#ffffff;
font-size:0.95rem;
font-weight:400;
padding:30px 0 0 0;
}

.archives {

}

.archives section {
padding:0 10px;
}

.archives video {
width: 100%;
aspect-ratio: 16 / 9;
}

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

.foot h4 {
font-size:2.5vw;
}

}


.remarks {
width:90%;
max-width:100%;
margin:0 auto 60px;
text-align:left;
display:flex;
justify-content:space-between;
}

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

.remarks p {
font-size:3.5vw;
}

}
