@charset "utf-8";
/*** reset ***/
#wpadminbar {
display: none!important;
}

/*
  Made by Elly Loel - https://ellyloel.com/
*/
*{margin:0;padding:0;line-height:calc(0.25rem+1em+0.25rem)}*,::before,::after{box-sizing:border-box}*:where(:not(fieldset,progress,meter)){border-width:0;border-style:solid;background-origin:border-box;background-repeat:no-repeat}
html{block-size:100%;-webkit-text-size-adjust:none}
@media(prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}
body{text-rendering:optimizeSpeed;min-block-size:100%}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,svg,video){block-size:auto;max-inline-size:100%}:where(svg){stroke:none;fill:currentColor}:where(svg):where(:not([fill])){stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}:where(svg):where(:not([width])){inline-size:5rem}:where(input,button,textarea,select),:where(input[type="file"])::-webkit-file-upload-button{color:inherit;font:inherit;font-size:inherit;letter-spacing:inherit;word-spacing:inherit}:where(textarea){resize:vertical}
@supports(resize:block){:where(textarea){resize:block}}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}
h1{font-size:2em}:where(ul,ol){list-style-position:inside}:where(ul,ol)[role="list"]{list-style:none}
a:not([class]){text-decoration-skip-ink:auto}:where(a[href],area,button,input,label[for],select,summary,textarea,[tabindex]:not([tabindex*="-"])){cursor:pointer;touch-action:manipulation}:where(input[type="file"]){cursor:auto}:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{cursor:pointer}
@media(prefers-reduced-motion:no-preference){:focus-visible{transition:outline-offset 145ms cubic-bezier(0.25,0,0.4,1)}:where(:not(:active)):focus-visible{transition-duration:0.25s}}:where(:not(:active)):focus-visible{outline-offset:5px}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"]),:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;text-align:center}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"])[disabled]{cursor:not-allowed}

/*** base ***/
html {
margin: 0!important;
}
body {
font-family: "Hiragino Sans", "Hiragino Kaku Gothic Pro3N", Meiryo, "sans-serif";
color: #333;
background: #FFF!important;
font-size: 16px!important;
}
a {
color: #333;
text-decoration: none;
}
img {
max-width: 100%!important;
width: auto!important;
}

/*** layout ***/
/* 01 HEADER */
.header_container {
background: #011e60;
}
header {
position: relative;
max-width: 1280px;
margin: 0 auto;
padding: 1.2em 40px;
display: flex;
justify-content: space-between;
align-items: center;
}
@media only screen and (max-width: 767px) {
header {
padding: 0.8em 15px;
}
}
@media only screen and (max-width: 767px) {
header h1 {
width: 50%;
}
}
@media only screen and (max-width: 767px) {
header nav {
position: absolute;
z-index: 1;
display: none;
width: 100%;
left: 100%;
transition: left .3s ease-in-out;
background: #f5f8ff;
}
header nav.current {
display: block;
top: 100%;
left: 0;
}
}
header nav ul {
display: flex;
align-items: center;
justify-content: flex-end;
list-style: none;
}
@media only screen and (max-width: 767px) {
header nav ul {
display: block;
padding: 1em;
}
}
header nav ul li:not(:first-child) {
margin-left: 0.5em;
}
@media only screen and (max-width: 767px) {
header nav ul li:not(:first-child) {
margin-left: 0;
border-top: 1px solid #011e60;
}
}
header nav ul li a {
position: relative;
display: block;
padding: 0.4em 1em;
color: #FFF;
}
@media only screen and (max-width: 767px) {
header nav ul li a {
color: #333;
padding: 0.8em 1em;
}
}
header nav ul li a:after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
width: 0;
height: 3px;
margin: 0 auto;
background: #FFF;
transition: width .3s ease-in-out;
}
header nav ul li a:hover:after {
width: 100%;
}

.hamburger {
position: relative;
display: block;
border: 1px solid #FFF;
border-radius: 4px;
padding: 4px;
width: 24px;
height: 24px;
}
@media only screen and (min-width: 768px) {
.hamburger {
display: none;
}
}
.hamburger span {
position: absolute;
left: 0;
right: 0;
display: block;
width: calc(100% - 8px);
height: 2px;
margin: 0 auto;
background: #FFF;
}
.hamburger span:nth-child(1) {
top: 4px;
transition: transform .3s ease-in-out;
}
.hamburger.current span:nth-child(1) {
top: 50%;
transform: translateY(-50%) rotate(45deg);
}
.hamburger span:nth-child(2) {
top: 50%;
transform: translateY(-50%);
}
.hamburger.current span:nth-child(2) {
display: none;
}
.hamburger span:nth-child(3) {
bottom: 4px;
transition: transform .3s ease-in-out;
}
.hamburger.current span:nth-child(3) {
top: 50%;
transform: translateY(-50%) rotate(-45deg);
}


/* 02 MAIN */
main {
max-width: 1280px;
margin: 0 auto;
padding: 0 40px;
margin-top: 2.5em;
}
@media only screen and (max-width: 767px) {
main {
padding: 0 15px;
margin-top: 1.5em;
}
}

/* 03 FOOTER */
footer {
margin-top: 4.5em;
}
@media only screen and (max-width: 767px) {
footer {
border-top: 1px solid #ccc;
margin-top: 2.5em;
}
}
footer nav {
background: #ccc;
padding: 0.5em 0;
}
@media only screen and (max-width: 767px) {
footer nav {
display: none;
}
}
footer nav ul {
display: flex;
justify-content: center;
align-items: center;
list-style: none;
}
footer nav ul li:not(:first-child) {
margin-left: 0.8em;
}
footer .c_copy {
padding: 0.4em;
text-align: center;
}

/* 04 PARTS */
h2 {
font-size: 32px!important;
position: relative;
padding-bottom: 0.5em;
margin-top: 35px;
margin-bottom: 35px;
}
@media only screen and (max-width: 767px) {
h2 {
font-size: 24px!important;
}
}

h2:before {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 3px;
background: #ccc;
}
h2:after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 2.5em;
height: 3px;
background: #011e60;
}
* + p {
margin-top: 1em;
}
h3 {
font-size: 24px!important;
margin-bottom: 35px;
padding-left: 1em;
border-left: 5px solid #011e60;
}
@media only screen and (max-width: 767px) {
h3 {
font-size: 18px!important;
}
}
table {
width: 100%;
border-collapse: collapse;
}
th,td {
border: 1px solid #011e60;
padding: 0.5em 1em;
}
p a {
color: #011e60;
text-decoration: underline;
}

.schedule {
display: flex;
align-items: center;
flex-wrap: wrap;
border: 2px solid #ccc;
border-radius: 6px;
padding: 1em;
}
@media only screen and (max-width: 767px) {
.schedule {
display: block;
}
}
.schedule time {
font-size: 18px;
font-weight: bold;
}
.schedule h3 {
font-size: 18px!important;
margin-left: 1em;
margin-bottom: 0;
border-left: none;
}
@media only screen and (max-width: 767px) {
.schedule h3 {
margin-left: 0;
padding-left: 0;
}
}
.schedule dl {
display: flex;
flex-wrap: wrap;
width: 100%;
margin-top: 0.8em;
}
.schedule dl dt {
width: 4em;
}
.schedule dl dd {
width: calc(100% - (4em + 1em));
margin-left: 1em;
}

.c_card {
display: flex;
flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
.c_card {
display: block;
}
}
.c_card_item {
width: 30%;
margin-left: 3.3%;
}
.c_card_item:nth-child(3n+1) {
margin-left: 0;
}
@media only screen and (max-width: 767px) {
.c_card_item {
width: 100%;
margin-left: 0;
}
.c_card_item:not(:first-child) {
margin-top: 15px;
}
}
.c_card_item a figure {
height: 200px;
overflow: hidden;
}
@media only screen and (max-width: 767px) {
.c_card_item a figure {
height: auto;
}
}
.c_card_item a figure img {
display: block;
transform: scale(1);
transition: transform .3s ease;
}
.c_card_item a:hover figure img {
transform: scale(1.1);
transform-origin: center;
}
.c_card_item h3 {
font-size: 18px!important;
padding: 12px 15px;
margin-bottom: 0;
border-left: 2px solid #ccc;
border-right: 2px solid #ccc;
}
.c_card_item p {
margin-top: 0;
padding: 0 15px 12px;
border-left: 2px solid #ccc;
border-right: 2px solid #ccc;
}
.c_card_item time {
display: block;
text-align: right;
border-left: 2px solid #ccc;
border-right: 2px solid #ccc;
border-bottom: 2px solid #ccc;
padding: 0 15px 12px;
}

.archive .c_card_item {
width: 100%;
margin-left: 0;
}
.archive .c_card_item:not(:first-child) {
margin-top: 1.5em;
}
.archive .c_card_item a {
display: flex;
}
@media only screen and (max-width: 767px) {
.archive .c_card_item a {
display: block;
}
}
.archive .c_card_item a figure {
width: 25%;
height: auto;
}
@media only screen and (max-width: 767px) {
.archive .c_card_item a figure {
width: 100%;
}
}
.archive .c_card_item a .c_card_contents {
width: 75%;
border-top: 2px solid #ccc;
border-right: 2px solid #ccc;
border-bottom: 2px solid #ccc;
}
@media only screen and (max-width: 767px) {
.archive .c_card_item a .c_card_contents {
width: 100%;
border-top: none;
border-left: 2px solid #ccc;
}
}
.archive .c_card_item h3 {
border-left: none;
border-right: none;
}
.archive .c_card_item p {
border-left: none;
border-right: none;
}
.archive .c_card_item time {
border-left: none;
border-right: none;
border-bottom: none;
}

.c_btn {
display: flex;
justify-content: center;
}
* + .c_btn {
margin-top: 20px;
}
.c_btn a {
position: relative;
min-width: 240px;
text-align: center;
text-decoration: none;
padding: 10px 0;
border: 1px solid #011e60;
}
.c_btn a span {
position: relative;
z-index: 3;
transition: color .5s ease-in-out;
}
@media only screen and (min-width: 768px) {
.c_btn a:hover span {
color: #FFF;
}
}
.c_btn a:before {
content: "";
position: absolute;
z-index: 1;
top: 0;
left: 0;
height: 100%;
width: 4px;
background: #011e60;
transition: width .3s ease-in-out;
}
@media only screen and (min-width: 768px) {
.c_btn a:hover:before {
width: 100%;
}
}
.c_btn a svg {
position: absolute;
z-index: 2;
top: 50%;
right: 10px;
transform: translateY(-50%);
fill: #333;
transition: all .3s ease-in-out;
}
@media only screen and (min-width: 768px) {
.c_btn a:hover svg {
right: 5px;
fill: #FFF;
}
}

.gotop_wrap {
position: absolute;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: flex-end;
max-width: 1280px;
margin: 0 auto;
}
.gotop {
position: fixed;
bottom: 1em;
}
.gotop a {
display: flex;
align-items: center;
justify-content: center;
background: #011e60;
border-radius: 50%;
width: 46px;
height: 46px;
cursor: pointer;
}
@media only screen and (min-width: 768px) {
.gotop a:hover {
opacity: 0.75;
}
}
.gotop a svg {
fill: #fff;
}

/* FORM */
form {
margin-top: 35px;
}
label,
.form {
display: flex;
margin: 0;
}
@media only screen and (max-width: 767px) {
label,
.form {
display: block;
}
}
.form label {
align-items: center;
line-height: 1;
}
@media only screen and (max-width: 767px) {
.form label {
display: flex;
}
}
label .text,
.form .text {
width: 20%;
}
@media only screen and (max-width: 767px) {
label .text,
.form .text {
display: block;
width: 100%;
}
}
label .text + *,
.form .text + * {
width: 80%;
}
input[type=text],
input[type=email],
textarea {
width: 100%;
border: 1px solid #011e60;
padding: 0.8em;
}
input[type=radio] + * {
margin-left: 0.5em;
}
.form_button {
display: flex;
justify-content: center;
margin-top: 25px;
}
.prev input[type=button],
.submit input[type=submit] {
line-height: 20px;
font-size: 16px;
border: 3px solid #011e60;
padding: 15px 30px;
}
* + .submit {
margin-left: 0.8em;
}
* + .submit {
margin-top: 0;
}
.wpcf7-form-control-wrap {
line-height: 1;
}
.wpcf7-list-item {
margin: 0;
}
* + .wpcf7-list-item {
margin-left: 1em;
}
.wpcf7-not-valid-tip {
margin-top: 0.5em;
}
.wpcf7-spinner {
display: none;
}