/* =================== base =================== */


@font-face { font-family: 'minnua'; src: url(../font/MINNUA__.TTF); }

:root {
  --ja-font: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  --en-font: 'minnua';
  --num-font: 'Montserrat', sans-serif;
  --maintext-color: #070707;
  --text-color-green: #53A753;
  --text-color-yellow: #DFB453;
  --text-color-red: #EA5D51;
  --text-color-blue: #268495;
  --main-bg: #FFFDF8;
}





/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
  border: none;
  border-radius: 0;
}


select{
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}





@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W0);
  font-weight: 100;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W1);
  font-weight: 200;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W2);
  font-weight: 300;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W3);
  font-weight: 400;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W4);
  font-weight: 500;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W5);
  font-weight: 600;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W6);
  font-weight: 700;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W7);
  font-weight: 800;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W8);
  font-weight: 900;
}
@font-face {
  font-family: "Hiragino Sans W9";
  src: local(HiraginoSans-W9);
  font-weight: 900;
}

.video-container .video {
  padding-bottom: 0;
}

.grecaptcha-badge{ z-index: 3; }

/*=================== common ===================*/

body{ background-color: var(--main-bg); font-size: 1.6rem; letter-spacing: .05em; font-family: var(--ja-font); color: var(--maintext-color);}
html { overflow-x: hidden; font-size: 62.5%; box-sizing: border-box; }
*{ box-sizing: border-box; letter-spacing: 2px }
p{ line-height: 1.5em; }
a{ text-decoration: none; color: var(--maintext-color); }
li{ list-style: none; }
img { vertical-align: bottom; width: 100%; }
pre { width: 70%; margin: 1em auto; padding: 1em; border-radius: 5px; background: #25292f; color: #fff; overflow-x: auto; /* ⭐ */ -webkit-overflow-scrolling: touch; /* ⭐ */ }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
.flex { display: -webkit-box; display: -ms-flexbox; display: flex; }
.clear{ clear: both; }
.pc { display: block; }
.sp { display: none; }
.green{ color: var(--text-color-green); }
.yellow{ color: var(--text-color-yellow); }
.red{ color: var(--text-color-red); }
.blue{ color: var(--text-color-blue); }
.en{ font-family: var(--en-font); }
.ja{ font-family: var(--ja-font); }
.num{ font-family: var(--num-font); }
.object{ background-image: url('../images/header_bg01.png'), url('../images/header_bg02.png'); background-repeat: no-repeat, no-repeat; background-size: 300px, 300px; background-position: 0% 0%, 100% 0%; }
.btn{ display: inline-block; position: relative; border-radius: 100px; padding: 15px 40px; background: #fff; border: 2px solid var(--text-color-green) ; color: var(--text-color-green); font-weight: 700; }
.btn:before{ content: ""; position: absolute; top: 0; bottom: 0; right: 18px; margin: auto; width: 8px; height: 8px; border-top: 2px solid var(--text-color-green); border-right: 2px solid var(--text-color-green); -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.btn.btn_red{ border: 2px solid var(--text-color-red) ; color: var(--text-color-red); }
.btn.btn_red:before{ border-top: 2px solid var(--text-color-red); border-right: 2px solid var(--text-color-red); }
.btn.btn_yellow{ border: 2px solid var(--text-color-yellow) ; color: var(--text-color-yellow); }
.btn.btn_yellow:before{ border-top: 2px solid var(--text-color-yellow); border-right: 2px solid var(--text-color-yellow); }
.btn.btn_blue{ border: 2px solid var(--text-color-blue) ; color: var(--text-color-blue); }
.btn.btn_blue:before{ border-top: 2px solid var(--text-color-blue); border-right: 2px solid var(--text-color-blue); animation: }
.bg_white{ background-color: #fff; }
a:hover{ cursor: pointer; }
.wp-pagenavi{ margin-top: 50px;text-align: center; }
.wp-pagenavi .pages{ display: none; }
.wp-pagenavi a{ transition: 0.3s; font-size: 2rem; line-height: 31px; letter-spacing: normal; display: inline-block; width: 40px; height: 40px; text-align: center; border-radius: 100px; background: #fff; border: 2px solid #F4A9A3; color: #F4A9A3; font-family: var(--en-font); }
.wp-pagenavi span{ transition: 0.3s; font-size: 2rem; line-height: 31px; letter-spacing: normal; display: inline-block; width: 40px; height: 40px; text-align: center; border-radius: 100px; color: #fff; background: var(--text-color-red); border: 2px solid var(--text-color-red); font-family: var(--en-font); }
.wp-pagenavi a:hover{ border-color: var(--text-color-red); color: var(--text-color-red); }
.wp-pagenavi span.current{ border-color: var(--text-color-red); }


.container { max-width: 1080px; margin: 0 auto; padding: 0 25px; }

@media screen and (max-width: 1080px) {
.container { max-width: 940px; }
}

@media screen and (max-width: 768px) {
.container { padding: 0 15px; }
}


/*=================== header ===================*/

header{ padding-bottom: 50px; }
header h1{ max-width: 200px; margin: 0 auto 35px; padding-top: 20px; }
header .nav-list{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
header .nav-list .nav-item{ margin: 0px 25px; text-align: center; }
header .nav-list .nav-item a{ font-size: 2.2rem; text-align: center; font-family: var(--en-font); }
header .nav-list .nav-item a span{ font-size: 1.5rem; font-weight: 700; display: block; font-family: var(--ja-font); color: var(--maintext-color); }
header .hamburger_btn{ display: none; }

/*=================== footer ===================*/

.footimg_box{ position: relative; }
.footimg_box .tree01{ position: absolute; left: 0; bottom: -50px; width: 300px; z-index: -1; }
.footimg_box .tree02{ position: absolute; right: 0; bottom: -50px; width: 300px; z-index: -1; }
.footimg_box .foot_object{ position: relative; z-index: 2; }
footer{ background-color: #fff; padding: 180px 0 40px; }
footer small{ font-size: 1.3rem; letter-spacing: 1px; margin-top: 80px; text-align: center; display: block; }
footer .left{ width: 50%; float: left; padding-right: 150px; }
footer .left .foot_logo{ max-width: 300px; margin-bottom: 50px; }
footer .left .foot_logo a{ display: block; margin-bottom: 10px; }
footer .left .access{ margin-bottom: 80px; }
footer .left .access p{ font-size: 1.5rem; letter-spacing: 1.5px; margin-bottom: 10px; }
footer .left .access .tel{ -ms-flex-item-align: center; align-self: center; }
footer .left .access .tel a{ font-weight: 700; font-size: 3.85rem; }
footer .left .access .tel img{ margin-right: 10px; max-width: 30px; }
footer .left nav ul{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
footer .left nav ul li{ width: calc( 100% / 2 ); }
footer .left nav ul li:nth-child(-n+2){ margin-bottom: 20px; }
footer .right{ height: 388px; width: 50%; position: absolute; right: 0; }
footer .right iframe{ height: 100%; width: 100%; }


/*=================== front ===================*/

.front h2{ text-align: center; font-size: 4.5rem; margin-bottom: 30px; }
.front h2 span:nth-child(1){ color: var(--text-color-green); }
.front h2 span:nth-child(2){ color: var(--text-color-yellow); }
.front h2 span:nth-child(3){ color: var(--text-color-red); }
.front h2 span:nth-child(4){ color: var(--text-color-blue); }
.front h2 span:nth-child(5){ color: var(--text-color-green); }
.front h2 span:nth-child(6){ color: var(--text-color-yellow); }
.front h2 span:nth-child(7){ color: var(--text-color-red); }
.front h2 span:nth-child(8){ color: var(--text-color-blue); }
.front h2 span:nth-child(9){ color: var(--text-color-green); }
.front h2 span:nth-child(10){ color: var(--text-color-yellow); }
.front h2 span:nth-child(11){ color: var(--text-color-red); }
.front h2 span:nth-child(12){ color: var(--text-color-blue); }
.front h2 span.ja{ display: block; font-size: 1.6rem; margin-top: 10px; font-weight: 700; color: var(--maintext-color); }
.front section{ margin: 200px auto; text-align: center; }
.front section p{ line-height: 2em; }
.front section.sec01{ margin: 150px 0; background-image: url('../images/cloud01.png'), url('../images/cloud02.png'); background-repeat: no-repeat, no-repeat; background-size: 600px, 600px; background-position: -10% 0%, 110% 0%; }
.front section.sec01 .title_box{ position: relative; display: inline-block; }
.front section.sec01 .bird{ position: absolute; width: 40px; top: 0; }
.front section.sec01 .bird01{ right: -150px; top: -50px; }
.front section.sec01 .bird02{ right: -250px; }
.front section.sec01 .bird03{ left: -250px; }
.front section.sec01 ul{ max-width: 1500px; margin: 60px auto 0; padding: 0 40px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.front section.sec01 ul li{ width: 29%; }
.front section.sec01 ul li:nth-child(1){ margin-top: -100px; }
.front section.sec01 ul li:nth-child(3){ margin-top: -100px; }
.front section.sec01 ul li .text_box{ margin-top: -100px; position: relative; color: #fff; min-width: 400px; }
.front section.sec01 ul li .text_box .text{ position: absolute; top: 70px; left: 0; bottom: 0; right: 0; margin: auto; z-index: 1; }
.front section.sec01 ul li .text_box .text a{ position: absolute; right: 0; bottom: 20px; font-size: 1.8rem; }
.front section.sec01 ul li .text_box .text h3{ margin-bottom: 16px; font-weight: 700; font-size: 3rem; }
.front section.sec01 ul li .text_box .text h3 span{ display: block; margin-bottom: 10px; font-size: 1.5rem; }
.front section.sec01 ul li .text_box .text p{ font-size: 1.5rem; }
.front section.sec02{ margin: 100px 0; padding: 50px 0; background-image: url('../images/front_sec02_01.png'), url('../images/front_sec02_02.png'); background-repeat: no-repeat, no-repeat; background-size: contain, contain; background-position: 0% 0%, 100% 0%; }
.front section.sec02 p{ font-weight: 700; font-size: 2rem; }
.front section.sec02 .big{ font-feature-settings: "palt"; letter-spacing: 5px; font-size: 4rem; }
.front section.sec03{ position: relative; margin: 100px 0; }
.front section.sec03 .click01{ transition: 0.3s; position: absolute; top: 0; left: 10%; width: 10%; }
.front section.sec03 .click02{ transition: 0.3s; position: absolute; top: -4%; left: 26%; width: 10%; }
.front section.sec03 .click01:hover{ transform: translate(0, 20px);　}
.front section.sec03 .click02:hover{ transform: translate(0, 20px);　}
.front section.sec04{ margin-top: 100px; }
.front section.sec04 .big{ font-weight: 400; font-size: 6rem; }
.front section.sec04 p{ font-weight: 700; font-size: 1.7rem; }
.front section.sec04 .btn{ margin-top: 30px; min-width: 250px; }
.front section.sec05 ul { margin: 50px 0; }
.front section.sec05 ul li{ border-radius: 10px; overflow: hidden; }
.front section.sec05 ul li .top{ position: relative; padding-top: 56.25%; border-radius: 10px 10px 0 0; overflow: hidden; }
.front section.sec05 ul li .top img{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.front section.sec05 ul li .top .category{ position: absolute; top: 8px; left: 0; }
.front section.sec05 ul li .top .category span{ padding: 10px 20px; border-radius: 10px 0 10px 0; color: #fff; font-weight: 700; font-size: 1.4rem; letter-spacing: 1px; }
.front section.sec05 ul li .top .category span.on{ background: var(--text-color-red); }
.front section.sec05 ul li .top .category span.off{ background: #A8A8A8; }
.front section.sec05 ul li .bottom{ padding: 20px; background: #fff; }
.front section.sec05 ul li .bottom .date{ margin-bottom: 10px; font-weight: 700; color: #C1C1C1; text-align: left; line-height: 1em; }
.front section.sec05 ul li .bottom .title{ text-align: left; font-weight: 700; }
.front section.sec05 .btn{ min-width: 250px; }
.front section:last-child{ margin-bottom: 100px; }
.front section.sec06 .btn{ min-width: 250px; }
.front section.sec06 ul{ margin: 50px; }
.front section.sec06 ul li{ padding: 30px 10px; border-bottom: 1px solid #ECEBE7; }
.front section.sec06 ul li .date{ font-weight: 700; color: #C1C1C1; text-align: left; width: 130px; display: inline-flex; -ms-flex-item-align: center; align-self: center; }
.front section.sec06 ul li .term{ margin-right: 35px; color: #fff; font-weight: 700; padding: 10px 15px; font-size: 1.4rem; }
.front section.sec06 ul li .term.term_event{ background: var(--text-color-yellow); }
.front section.sec06 ul li .term.term_news{ background: var(--text-color-green); }

.front .slick-slide{ margin: 0 20px; }
.slick-track{ margin: 0; }


/*=================== sub ===================*/

.sub .title_box{ padding-bottom: 100px; padding-top: 40px; text-align: center; }
.sub .title_box h2 { padding: 0 15px 15px; border-bottom: 5px dotted #000; font-size: 3.5rem; font-weight: 700; text-align: center; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.sub .title_box h2 span{ display: block; font-size: 2.5rem; margin-bottom: 10px; font-weight: 400; }
.sub .title_box h2.green{ border-bottom: 5px dotted var(--text-color-green); }
.sub .title_box h2.yellow{ border-bottom: 5px dotted var(--text-color-yellow); }
.sub .title_box h2.red{ border-bottom: 5px dotted var(--text-color-red); }
.sub .title_box h2.blue{ border-bottom: 5px dotted var(--text-color-blue); }
main.sub{ padding-top: 50px; }
main.sub .content{ min-height: 300px; margin-bottom: 100px; }

/*=================== single ===================*/

.single .content-box p{ line-height: 1.8em; }
.single .content-box h3:not(:first-child){ margin-top: 100px; }
.single .content-box h3{ margin-bottom: 30px; padding: 5px 0 5px 30px; position: relative; font-size: 2.5rem; font-weight: 700; color: var(--text-color-red); }
.single .content-box h3:before{ content: ""; position: absolute; left: 0; top: 0; width: 4px; height: 100%; background: var(--text-color-red); }
.single .content-box .teacher h3{ margin-top: 100px; }
.single .content-box .teacher .left{ padding-right: 30px; min-width: 220px; }
.single .content-box .teacher .left img{ border-radius: 100%; overflow: hidden; }
.single .content-box .teacher .left p{ line-height: 1.3em; margin-top: 10px; text-align: center; font-weight: 700; font-size: 2rem; }
.single .content-box .teacher .left p span{ font-size: 1.7rem; }
.single .content-box .teacher .right .teacher_name{ margin-bottom: 10px; font-weight: 700; font-size: 2.3rem; }
.single .content-box .teacher .right .teacher_name span{ font-size: 1.7rem; }
.single .content-box table{ margin-left: 30px; }
.single .content-box table th{ font-weight: 700; text-align: left; line-height: 1.5em; }
.single .content-box table td{ padding-left: 20px; padding-bottom: 40px; line-height: 1.5em; }
.single .content-box table td ul{ padding-left: 20px; }
.single .content-box table td li{ list-style: disc; }
.single .content-box table td li:not(:last-child){ margin-bottom: 20px; }
.single .content-box a{ display: block; color: var(--text-color-red); text-decoration: underline; }

/*=================== seminar ===================*/

#seminar .content ul { -ms-flex-wrap: wrap; flex-wrap: wrap; }
#seminar .content ul li:not(:nth-child(3)){ margin-right: 3.5%; }
#seminar .content ul li{ width: 31%; margin-bottom: 3.5%; }
#seminar .content ul li{ border-radius: 10px; overflow: hidden; }
#seminar .content ul li .top{ position: relative; padding-top: 56.25%; border-radius: 10px 10px 0 0; overflow: hidden; }
#seminar .content ul li .top img{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
#seminar .content ul li .top .category{ position: absolute; top: 8px; left: 0; }
#seminar .content ul li .top .category span{ padding: 10px 20px; border-radius: 10px 0 10px 0; color: #fff; font-weight: 700; font-size: 1.4rem; letter-spacing: 1px; }
#seminar .content ul li .top .category span.on{ background: var(--text-color-red); }
#seminar .content ul li .top .category span.off{ background: #A8A8A8; }
#seminar .content ul li .bottom{ padding: 20px; background: #fff; }
#seminar .content ul li .bottom .date{ margin-bottom: 10px; font-weight: 700; color: #C1C1C1; text-align: left; line-height: 1em; }
#seminar .content ul li .bottom .title{ text-align: left; font-weight: 700; }


/*=================== seminar_detail ===================*/

#seminar_detail article{ max-width: 700px; margin: 0 auto 100px; }
#seminar_detail .seminertitle_box{ margin-bottom: 50px; }
#seminar_detail .seminertitle_box .top{ margin-bottom: 25px; -ms-flex-item-align: center; align-self: center; }
#seminar_detail .seminertitle_box .top .category span{ margin-right: 30px; padding: 10px 20px; border-radius: 100px; color: #fff; font-weight: 700; font-size: 1.4rem; letter-spacing: 1px; }
#seminar_detail .seminertitle_box .top .category span.on{ background: var(--text-color-red); }
#seminar_detail .seminertitle_box .top .category span.off{ background: #A8A8A8; }
#seminar_detail .seminertitle_box .top p{ letter-spacing: 1px; line-height: 2em; font-weight: 700; }
#seminar_detail .seminertitle_box .bottom h3{ letter-spacing: 4px; font-size: 3.3rem; font-weight: 700; }

#seminar_detail .btn_box{ text-align: center; margin: 100px auto 200px; }
#seminar_detail .btn_box .btn{ max-width: 250px; width: 100%; }
#seminar_detail .other ul { margin: 50px 0; }
#seminar_detail .other ul li:not(:nth-child(3)){ margin-right: 3.5%; }
#seminar_detail .other ul li{ width: 31%; }
#seminar_detail .other ul li{ border-radius: 10px; overflow: hidden; }
#seminar_detail .other ul li .top{ position: relative; padding-top: 56.25%; border-radius: 10px 10px 0 0; overflow: hidden; }
#seminar_detail .other ul li .top img{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
#seminar_detail .other ul li .top .category{ position: absolute; top: 8px; left: 0; }
#seminar_detail .other ul li .top .category span{ padding: 10px 20px; border-radius: 10px 0 10px 0; color: #fff; font-weight: 700; font-size: 1.4rem; letter-spacing: 1px; }
#seminar_detail .other ul li .top .category span.on{ background: var(--text-color-red); }
#seminar_detail .other ul li .top .category span.off{ background: #A8A8A8; }
#seminar_detail .other ul li .bottom{ padding: 20px; background: #fff; }
#seminar_detail .other ul li .bottom .date{ margin-bottom: 10px; font-weight: 700; color: #C1C1C1; text-align: left; line-height: 1em; }
#seminar_detail .other ul li .bottom .title{ text-align: left; font-weight: 700; }
#seminar_detail .other h4{ text-align: center; font-size: 4.5rem; margin-bottom: 30px; }
#seminar_detail .other h4 span.ja{ display: block; font-size: 1.6rem; margin-top: 10px; font-weight: 700; color: var(--maintext-color); }


/*=================== news ===================*/


#news .content .btn{ min-width: 250px; }
#news .content ul{ margin: 0 50px 50px; }
#news .content ul li{ padding: 30px 10px; border-bottom: 1px solid #ECEBE7; }
#news .content ul li .date{ font-weight: 700; color: #C1C1C1; text-align: left; width: 130px; display: inline-flex; -ms-flex-item-align: center; align-self: center; }
#news .content ul li .term{ margin-right: 35px; color: #fff; font-weight: 700; padding: 10px 15px; font-size: 1.4rem; }
#news .content ul li .term.term_event{ background: var(--text-color-yellow); }
#news .content ul li .term.term_news{ background: var(--text-color-green); }
#news .content ul li .text{ line-height: 2em; }
#news .wp-pagenavi a{ border: 2px solid #A4D0A4; color: #A4D0A4; font-family: var(--en-font); }
#news .wp-pagenavi span{ background: var(--text-color-green); border: 2px solid var(--text-color-green); }
#news .wp-pagenavi a:hover{ border-color: var(--text-color-green); color: var(--text-color-green); }
#news .wp-pagenavi span.current{ border-color: var(--text-color-green); }


/*=================== news_detail ===================*/

#news_detail article{ max-width: 700px; margin: 0 auto 100px; }
#news_detail .newstitle_box{ margin-bottom: 50px; }
#news_detail .newstitle_box .top{ margin-bottom: 25px; -ms-flex-item-align: center; align-self: center; }
#news_detail .newstitle_box .top .category span{ margin-right: 30px; padding: 10px 20px; color: #fff; font-weight: 700; font-size: 1.4rem; letter-spacing: 1px; }
#news_detail .newstitle_box .top .category span.term_event{ background: var(--text-color-yellow); }
#news_detail .newstitle_box .top .category span.term_news{ background: var(--text-color-green); }
#news_detail .newstitle_box .top p{ letter-spacing: 1px; line-height: 2em; font-weight: 700; color: #C1C1C1; }
#news_detail .newstitle_box .bottom h3{ letter-spacing: 4px; font-size: 3.3rem; font-weight: 700; }
#news_detail .btn_box{ text-align: center; margin: 100px auto 200px; }
#news_detail .btn_box .btn{ max-width: 250px; width: 100%; }
#news_detail .pagenation{ max-width: 700px; margin: 0 auto; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
#news_detail .pagenation .arrow a{ color: var(--text-color-green); font-weight: 700; position: relative; }
#news_detail .pagenation .arrow:nth-child(1) a{ padding-left: 40px; }
#news_detail .pagenation .arrow:nth-child(2) a{ padding-right: 40px; }
#news_detail .pagenation .arrow:nth-child(1) a:before{ content: ""; position: absolute; width: 25px; height: 2px; left: 0; top: 7px; background: var(--text-color-green); }
#news_detail .pagenation .arrow:nth-child(2) a:before{ content: ""; position: absolute; width: 25px; height: 2px; right: 0; top: 7px; background: var(--text-color-green); }
#news_detail .newstext_box a{ color: var(--text-color-red); text-decoration: underline; }


/*=================== contact ===================*/

#contact .form_wrapper table{ margin: 0 auto; max-width: 600px; }
#contact .form_wrapper table th{ padding-top: 15px; vertical-align: top; width: 40%; font-weight: 700; text-align: left; padding-right: 30px; }
#contact .form_wrapper table th .required{ font-size: 1.2rem; margin-left: 6px; padding: 3px 6px; color: #fff; font-weight: 700; letter-spacing: 1px; background: var(--text-color-blue); }
#contact .form_wrapper table td{ width: 60%; padding-bottom: 40px; }
#contact .form_wrapper table td input,
#contact .form_wrapper table td textarea,
#contact .form_wrapper table td select{-webkit-appearance: none; box-sizing: border-box; background: #fff; border-radius: 5px; border: 2px solid #A3A3A3; outline: none; padding: 12px 10px; width: 100%; }
#contact .form_wrapper table td select{ padding-right: 50px; background-image: url('../images/arrow.svg'); background-repeat: no-repeat; background-size: 13px; background-position: right 10px center; }
#contact .form_wrapper table td textarea{ resize: vertical; }
#contact .form_wrapper table td.flex{ width: 100%; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
#contact .form_wrapper table td.flex span{ width: 48%; }
#contact .form_btn{ margin-top: 20px; text-align: center; }
#contact .form_btn .submit{ max-width: 250px; width: 100%; display: inline-block; position: relative; border-radius: 100px; padding: 15px 40px; background: #fff; border: 2px solid var(--text-color-blue) ; color: var(--text-color-blue); font-weight: 700; }
#contact .form_btn .submit:before{ content: ""; position: absolute; top: 0; bottom: 0; right: 18px; margin: auto; width: 8px; height: 8px; border-top: 2px solid var(--text-color-blue); border-right: 2px solid var(--text-color-green); -webkit-transform: rotate(45deg); transform: rotate(45deg); }
#contact .form_btn .submit:hover{ cursor: pointer; }
.wpcf7 form .wpcf7-response-output{ border: 1px solid var(--text-color-blue); background: #fffffff2; line-height: 1.5em; text-align: center; max-width: 650px; margin: 50px auto 0; padding: 10px; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{ border-color: var(--text-color-red); }
.wpcf7 form.sent .wpcf7-response-output{ border-color: var(--text-color-blue); }
#contact .form_wrapper table td .wpcf7-not-valid-tip{ font-size: 1.4rem; margin-top: 5px; width: 100%!important; color: var(--text-color-red); }
.wpcf7-spinner{ display: block; margin: 10px auto 0; }


/*=================== philosophy ===================*/


#philosophy .sec01,
#philosophy .sec02{ margin-bottom: 150px; overflow: hidden; }
#philosophy .sec01 .policy_box{ text-align: center; background: url('../images/world.svg') no-repeat; background-size: contain; background-position: center; padding: 100px 0; }
#philosophy .sec01 .policy_box p span{ display: block; font-size: 2.2rem; }
#philosophy .sec01 .policy_box p span.sp{ display: none; }
#philosophy .sec01 .policy_box p{ font-weight: 700; font-size: 2rem; line-height: 2em; }
#philosophy .sec01 .policy_box h3{ font-feature-settings: "palt"; letter-spacing: 5px; font-weight: 700; font-size: 4rem; margin-bottom: 20px; }
#philosophy .sec02 .flex .left.img{ width: 50%; padding-right: 7%; }
#philosophy .sec02 .flex .left.img img{ margin-left: -20%; }
#philosophy .sec02 .flex .right.img{ width: 50%; padding-left: 7%; }
#philosophy .sec02 .flex .img img{ width: 120%; }
#philosophy .sec02 .flex .text{ width: 50%; }
#philosophy .sec02 .flex { padding: 50px 0;  -ms-flex-item-align: center; align-items: center; }
#philosophy .sec02 .flex1{ -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
#philosophy .sec02 .flex2{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
#philosophy .sec02 .flex .text h4{ font-weight: 700; margin-bottom: 20px; font-size: 3rem; line-height: 1.8em; }
#philosophy .sec02 .flex .text h4 .small{ line-height: 1.5em; margin-bottom: 10px; display: block; font-weight: 700; font-size: 2rem; }
#philosophy .sec02 .flex .text p{ line-height: 2em; letter-spacing: 1.5px; }
#philosophy .sec03 table{ margin: 0 auto; }
#philosophy .sec03 table th{ vertical-align: top; padding: 50px 20px; border-bottom: 2px solid #F8F7F4; font-size: 4rem; }
#philosophy .sec03 table td{ vertical-align: middle; padding: 0px 20px; border-bottom: 2px solid #F8F7F4; }
#philosophy .sec03 table tr:last-child th{ border: none; }
#philosophy .sec03 table tr:last-child td{ border: none; }
#philosophy .sec03 table td dl{ line-height: 1.7em; }
#philosophy .sec03 table td dl:first-child dt{ padding-top: 50px; }
#philosophy .sec03 table td dl:last-child dt{ padding-bottom: 50px; }
#philosophy .sec03 table td dl:first-child dd{ padding-top: 50px; }
#philosophy .sec03 table td dl:last-child dd{ padding-bottom: 50px; }
#philosophy .sec03 table td dl:not(:last-child) dt{ padding-bottom: 40px; }
#philosophy .sec03 table td dt{ font-weight: 700; width: 120px; padding-left: 50px; position: relative; }
#philosophy .sec03 table td dt:before{ content: ""; position: absolute; width: 15px; height: 15px; background: var(--text-color-yellow); border-radius: 100px; left: 0; top: 5px; }
#philosophy .sec03 table td dt:after{ content: ""; position: absolute; width: 2px; height: calc( 100% + 15px); background: var(--text-color-yellow); left: 6.5px; top: 6px; }
#philosophy .sec03 table td dl:first-child dt:before{ top: 55px; } 
#philosophy .sec03 table td dd{ width: calc( 100% - 120px ); }
#philosophy .sec03 table tr:first-child dl dt:after{ top: 55px; } 
#philosophy .sec03 table td dt.future:before { content: "予定事業"; left: -20px; color: #fff; width: calc( 2em + 4px); padding: 11px 11px; line-height: calc( 1em + 2px); text-align: center; height: calc( 2em + 4px); letter-spacing: 2px; font-size: 1.4rem; }
#philosophy .sec03 table td dt.future:after{ height: 0px; }
#philosophy section h3.en{ text-align: center; font-size: 4.5rem; margin-bottom: 30px; }
#philosophy section h3.en span.ja{ display: block; font-size: 1.6rem; margin-top: 10px; font-weight: 700; color: #000; }
