@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP&family=Roboto+Condensed&family=Roboto:wght@400;700&display=swap");
/*========================================
  ブラウザごとのデフォルトスタイルの初期化
========================================*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
big,
code,
del,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
u,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figure,
figcaption,
footer,
header,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before, blockquote::after {
  content: "";
  content: none;
}

q::before, q::after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: middle;
}

/*========================================
  要素の基本的なスタイル
========================================*/
html {
  font-size: 10px;
  height: 100%;
}

body {
  text-size-adjust: 100%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #646464;
  background: #fff;
}
@media screen and (max-width: 767px) {
  body {
    font-size: calc(28 / 750 * 100vw);
  }
}
body.en {
  font-family: "Roboto", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
iframe,
video,
picture {
  max-width: 100%;
}

img {
  width: 100%;
  height: auto;
  letter-spacing: 0;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  img.img-size-normal {
    width: auto;
  }
}
img.img-size-normal-all {
  width: auto;
}
@media screen and (max-width: 767px) {
  img.img-size-normal-all {
    max-width: 100%;
  }
}

a {
  color: inherit;
  text-decoration: none;
  word-break: break-all;
}
a.linc-pict {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  a.linc-pict:hover {
    opacity: 0.7;
  }
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}

.en a {
  word-break: keep-all;
}

small {
  font-size: 80%;
}

h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

address {
  font-style: normal;
}

table {
  width: 100%;
}

input[type=button],
input[type=submit] {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  font: inherit;
}

input,
select,
textarea {
  font: inherit;
  color: inherit;
}

label {
  cursor: pointer;
  display: inline-block;
}

button,
button[type=button],
button[type=submit] {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  cursor: pointer;
}

::placeholder {
  color: #D5D5D5;
}

.c-scroll {
  overflow-y: auto;
}

::-webkit-scrollbar {
  width: 10px;
}

.c-table-sp__scroll::-webkit-scrollbar {
  height: 10px;
}

::-webkit-scrollbar-track {
  background-color: #fff;
}

::-webkit-scrollbar-thumb {
  background-color: #EAEAEA;
  border-radius: 7px;
  height: 50px;
}

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

/* Anti FOUC */
.remodal,
[data-remodal-id] {
  display: none;
}

/* Necessary styles of the overlay */
.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  display: none;
}

/* Necessary styles of the wrapper */
.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: "";
}

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */
.remodal {
  position: relative;
  outline: none;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block;
}

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px);
}

/* Default theme styles of the overlay */
.remodal-overlay {
  background: rgba(43, 46, 56, 0.9);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes;
}

/* Default theme styles of the wrapper */
.remodal-wrapper {
  padding: 10px 10px 0;
}

/* Default theme styles of the modal dialog */
.remodal {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 35px;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff;
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}

/* Close button */
.remodal-close {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  overflow: visible;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
  color: #95979c;
  border: 0;
  outline: 0;
  background: transparent;
}

.remodal-close:hover,
.remodal-close:focus {
  color: #2b2e38;
}

.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 25px;
  line-height: 35px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 35px;
  content: "×";
  text-align: center;
}

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0;
}

.remodal-confirm {
  color: #fff;
  background: #81c784;
}

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a;
}

.remodal-cancel {
  color: #fff;
  background: #e57373;
}

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* Keyframes
   ========================================================================== */
@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* Media queries
   ========================================================================== */
@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 700px;
  }
}
/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay {
  background: #2b2e38;
}

.lt-ie9 .remodal {
  width: 700px;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/slick/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("/assets/img/slick/fonts/slick.eot");
  src: url("/assets/img/slick/fonts/slick.eot?#iefix") format("embedded-opentype"), url("/assets/img/slick/fonts/slick.woff") format("woff"), url("/assets/img/slick/fonts/slick.ttf") format("truetype"), url("/assets/img/slick/fonts/slick.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "?";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*========================================
  サイト共通のフッター
========================================*/
.l-footer {
  width: 100%;
  margin-top: 200px;
}
@media screen and (max-width: 767px) {
  .l-footer {
    margin-top: calc(148 / 750 * 100vw);
  }
}
.l-footer__nav {
  background: #F0F0F0;
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    display: none;
  }
}
.l-footer__nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.l-footer__nav-ttl {
  border-bottom: 2px solid #B3CEC8;
  margin-right: 40px;
  padding-bottom: 8px;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  color: #B3CEC8;
  display: inline;
  white-space: nowrap;
}
.l-footer__nav-body {
  width: 100%;
  max-width: 904px;
  padding-right: 10px;
  display: flex;
  justify-content: space-between;
}
.l-footer__nav-list:nth-of-type(n + 2) {
  margin-left: 30px;
}
.l-footer__nav-list .list-item:nth-child(n+2) {
  margin-top: 5px;
}
.l-footer__nav-list .link-item {
  font-size: 1.2rem;
}
.l-footer__nav-list .link-item:hover {
  color: #B3CEC8;
}
.l-footer__nav-list .link-item:hover span::after {
  border-top-color: #B3CEC8;
  border-right-color: #B3CEC8;
}
.l-footer__nav-list .link-item span {
  padding-right: 13px;
  line-height: 1.4;
  display: inline-block;
  position: relative;
}
.l-footer__nav-list .link-item span::after {
  border-top: 2px solid #2F2F2F;
  border-right: 2px solid #2F2F2F;
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  transform: rotate(45deg);
}
.l-footer__bnr {
  width: 240px;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .l-footer__bnr {
    width: calc(480 / 750 * 100vw);
    max-width: none;
  }
}
.l-footer__inner {
  background: #B3CEC8;
  padding: 30px 0 20px;
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    padding-top: calc(50 / 750 * 100vw);
    padding-bottom: calc(68 / 750 * 100vw);
  }
}
.l-footer__inner-box {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-footer__inner-box {
    display: block;
  }
}
.l-footer__add {
  margin-right: 40px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-footer__add {
    margin-right: 0;
    display: block;
  }
}
.l-footer__logo {
  max-width: 240px;
  margin-right: 35px;
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    width: calc(480 / 750 * 100vw);
    max-width: none;
    margin-right: 0;
  }
}
.l-footer__logo.logo-en {
  max-width: 384px;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__logo.logo-en {
    width: calc(656 / 750 * 100vw);
    max-width: none;
  }
}
.l-footer address {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .l-footer address {
    margin-top: calc(34 / 750 * 100vw);
  }
}
.l-footer address .text-s {
  font-size: 1.4rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .l-footer address .text-s {
    font-size: calc(30 / 750 * 100vw);
  }
}
.l-footer__link {
  display: flex;
}
@media screen and (max-width: 767px) {
  .l-footer__link {
    margin-top: calc(60 / 750 * 100vw);
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__link .list-item:nth-child(n+2) {
    margin-left: 30px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__link .list-item:nth-child(n+2) {
    margin-top: calc(20 / 750 * 100vw);
  }
}
.l-footer__link .link-item {
  font-size: 1.2rem;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-footer__link .link-item {
    font-size: calc(30 / 750 * 100vw);
    font-weight: 500;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__link .link-item:hover::after {
    background: #fff;
    content: "";
    width: calc(100% - 10px);
    height: 1px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.l-footer__link .link-item span {
  padding-right: 13px;
  line-height: 1.4;
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-footer__link .link-item span {
    padding-right: calc(44 / 750 * 100vw);
  }
}
.l-footer__link .link-item span::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .l-footer__link .link-item span::after {
    border-top-width: 2px;
    border-right-width: 2px;
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    top: calc(50% - calc(8 / 750 * 100vw));
  }
}
.l-footer__copyright {
  max-width: 1240px;
  margin: 10px auto 0;
  padding: 0 10px;
  font-size: 1.2rem;
  color: #fff;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: calc(40 / 750 * 100vw);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__en-link {
    margin-top: calc(28 / 750 * 100vw);
  }
}
.l-footer__en-link a {
  font-size: 1.2rem;
  color: #fff;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .l-footer__en-link a {
    font-size: calc(24 / 750 * 100vw);
    line-height: 1.3;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__en-link a:hover {
    text-decoration: none;
  }
}

.home .l-footer {
  margin-top: 0;
}

/*========================================
  サイト共通のヘッダー
========================================*/
.l-header {
  background: #D5F0EC;
  border-bottom: 1px solid #B3CEC8;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
}
.l-header::before, .l-header::after {
  content: "";
  width: 50%;
  height: 50px;
  display: block;
  position: absolute;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .l-header::before, .l-header::after {
    display: none;
  }
}
.l-header::before {
  background: #D5F0EC;
  top: 0;
}
.l-header::after {
  background: #B3CEC8;
  top: 50px;
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1002;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    height: 59px;
  }
}
.l-header__logo {
  max-width: 279px;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    max-width: 176px;
    margin-right: 0;
  }
}
.l-header__logo.logo-en {
  max-width: 280px;
}
@media screen and (max-width: 767px) {
  .l-header__logo.logo-en {
    max-width: 200px;
  }
}
.l-header__nav {
  width: 100%;
  max-width: 911px;
}
.l-header__nav.nav-en {
  max-width: 910px;
}
.l-header__search {
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-header__search {
    width: 100%;
    margin-top: 24px;
    order: 3;
  }
}
.l-header__search .search-btn {
  background: #B3CEC8;
  width: 50px;
  height: 29px;
  padding: 1px 10px 1px 2px;
  color: #fff;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .l-header__search .search-btn {
    display: none;
  }
}
.l-header__search .search-btn::after {
  border-top: 7px solid #fff;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  content: "";
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  top: 12px;
  right: 4px;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .l-header__search .search-btn:hover {
    background: #C3B071;
  }
}
.l-header__search .search-btn.search-open::after {
  transform: rotate(59deg);
}
.l-header__search .search-btn.btn-en {
  width: 60px;
  height: 25px;
  font-size: 1.3rem;
}
.l-header__search .search-btn.btn-en::after {
  top: 10px;
}
@media screen and (min-width: 768px) {
  .l-header__search .search-box {
    display: none;
    position: absolute;
    top: 31px;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-header__search .search-box {
    display: block !important;
  }
}
.l-header__search .search-box .gsc {
  width: 156px;
}
@media screen and (max-width: 767px) {
  .l-header__search .search-box .gsc {
    width: 100%;
  }
}
.l-header__search .search-box .gsc-control-cse {
  background: none;
  border: none;
  padding: 0;
}
.l-header__search .search-box form.gsc-search-box,
.l-header__search .search-box table.gsc-search-box {
  margin-bottom: 0;
}
.l-header__search .search-box table.gsc-search-box td.gsc-input {
  padding-right: 0;
}
.l-header__search .search-box .gsc-input-box {
  border: 1px solid #B3CEC8;
  border-radius: 0;
  height: 29px;
  padding: 0;
  min-width:100px;/*検索box最小幅を設定（20241112松本）*/        
}
@media screen and (max-width: 767px) {
  .l-header__search .search-box .gsc-input-box {
    height: auto;
    padding-top: calc(28 / 750 * 100vw);
    padding-bottom: calc(22 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .l-header__search .search-box .gsib_a {
    padding: 2px 9px 0;
  }
}
.l-header__search .search-box .gsc-search-button {
  margin-left: 0;
}
.l-header__search .search-box .gsc-search-button-v2 {
  background: #B3CEC8 url(../img/icon/icon-search.svg) no-repeat 50% 50%;
  background-size: 17px auto;
  border-color: #B3CEC8;
  border-radius: 0;
  width: 29px;
  height: 29px;
  padding: 0;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .l-header__search .search-box .gsc-search-button-v2:hover {
    background: #C3B071 url(../img/icon/icon-search.svg) no-repeat 50% 50%;
    background-size: 17px auto;
  }
}
@media screen and (max-width: 767px) {
  .l-header__search .search-box .gsc-search-button-v2 {
    background-size: calc(64 / 750 * 100vw) auto;
    width: calc(116 / 750 * 100vw);
    height: auto;
    padding: calc(44 / 750 * 100vw) 0;
  }
}
.l-header__search .search-box .gsc-search-button-v2 svg {
  max-width: none;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .l-header__search .search-box .gsc-results-wrapper-overlay {
    height: 70%;
    top: 10%;
  }
}

/*========================================
  メインコンテンツ
========================================*/
.l-main {
  margin-top: 101px;
}
@media screen and (max-width: 767px) {
  .l-main {
    margin-top: 60px;
  }
}

/*========================================
  ヘッダーのナビゲーション（グローバルナビ）
========================================*/
.l-nav__btn {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-nav__btn {
    background: #D5F0EC;
    width: 60px;
    height: 59px;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1002;
  }
  .l-nav__btn span {
    background: #468590;
    width: 32px;
    height: 3px;
    display: inline-block;
    position: absolute;
    left: 14px;
    transition: 0.3s;
  }
  .l-nav__btn span:nth-child(1) {
    top: 17px;
  }
  .l-nav__btn span:nth-child(2) {
    top: 28px;
  }
  .l-nav__btn span:nth-child(3) {
    bottom: 17px;
  }
}
@media screen and (max-width: 767px) {
  .l-nav__body {
    background: rgba(70, 133, 144, 0.8);
    width: 100%;
    height: 100%;
    padding-top: 67px;
    display: block;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    right: -100%;
    overflow: auto;
    transition: 0.3s ease-in;
    z-index: 2;
  }
}
.l-nav__body-inner {
  display: flex;
  flex-direction: column;
  position: relative;
}

.l-nav-01__list {
  background: #B3CEC8;
  width: 100%;
  height: 50px;
  padding-left: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  order: 2;
}
@media screen and (max-width: 767px) {
  .l-nav-01__list {
    background: #fff;
    border-radius: 20px 20px 0 0;
    width: calc(100% - (80 / 750 * 100vw));
    height: auto;
    margin: 0 auto;
    padding: calc(14 / 750 * 100vw) calc(40 / 750 * 100vw) 0;
    display: block;
    order: 1;
    position: inherit;
    top: 0;
    right: 0;
    transition: 0.3s ease-in;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-01__list.nav-01__list-en {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__list.nav-01__list-en {
    border-radius: 20px;
    padding-bottom: calc(80 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .l-nav-01__list .list-01-item:nth-child(n+2) {
    margin-left: 35px;
  }
}
.l-nav-01__list .list-01-item.item-last {
  min-width: 60px;
}
.l-nav-01__list .list-01-item .link-01-pc,
.l-nav-01__list .list-01-item .link-01-en {
  font-size: 1.4rem;
  color: #fff;
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-nav-01__list .list-01-item .link-01-pc:hover::after,
.l-nav-01__list .list-01-item .link-01-en:hover::after {
    background: #fff;
    content: "";
    width: calc(100% - 10px);
    height: 1px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.l-nav-01__list .list-01-item .link-01-pc span,
.l-nav-01__list .list-01-item .link-01-en span {
  padding-right: 10px;
  line-height: 1.2;
  display: inline-block;
  position: relative;
}
.l-nav-01__list .list-01-item .link-01-pc span::after,
.l-nav-01__list .list-01-item .link-01-en span::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .l-nav-01__list .list-01-item .link-01-pc {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__list .list-01-item .link-01-sp,
.l-nav-01__list .list-01-item .link-01-en {
    background: none;
    border-bottom: 1px dotted #707070;
    width: 100%;
    padding: calc(26 / 750 * 100vw) 0 calc(28 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
    font-weight: bold;
    color: #928C51;
    text-align: left;
    display: block;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__list .list-01-item .link-01-sp::after,
.l-nav-01__list .list-01-item .link-01-en::after {
    border-top: 2px solid #928C51;
    border-right: 2px solid #928C51;
    content: "";
    width: calc(18 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
    display: block;
    position: absolute;
    top: calc(50% - (8 / 750 * 100vw));
    right: 1px;
    transform: rotate(45deg);
  }
}
@media screen and (min-width: 768px) {
  .l-nav-01__list .list-01-item .link-01-sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .l-nav-01__sub-ttl {
    background: #BFB96E;
    border-radius: 20px;
    color: #fff;
    width: 100%;
    padding: calc(30 / 750 * 100vw) calc(40 / 750 * 100vw) calc(28 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
    font-weight: bold;
    text-align: right;
    display: block;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__sub-ttl::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    width: calc(18 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
    display: block;
    position: absolute;
    top: calc(50% - (8 / 750 * 100vw));
    left: calc(44 / 750 * 100vw);
    transform: rotate(-135deg);
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__sub-list {
    background: #fff;
    border-radius: 20px;
    margin-top: calc(14 / 750 * 100vw);
    padding: calc(14 / 750 * 100vw) calc(40 / 750 * 100vw);
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__sub-list .list-01-sub-item:not(:last-child) {
    border-bottom: 1px dotted #707070;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__sub-list .list-01-sub-item .link-01-sub {
    padding: calc(30 / 750 * 100vw) 0;
    font-size: calc(26 / 750 * 100vw);
    font-weight: 500;
    display: block;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__sub-list .list-01-sub-item .link-01-sub::after {
    border-top: 2px solid #928C51;
    border-right: 2px solid #928C51;
    content: "";
    width: calc(18 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
    display: block;
    position: absolute;
    top: calc(50% - (8 / 750 * 100vw));
    right: 0;
    transform: rotate(45deg);
  }
}

@media screen and (min-width: 768px) {
  .l-nav-01__sub-wrap {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__sub-wrap {
    padding-left: calc(40 / 750 * 100vw);
    padding-right: calc(40 / 750 * 100vw);
    display: block;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    right: -100%;
    overflow: auto;
    transition: 0.3s ease-in;
    z-index: 2;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-01__sub-wrap.l-nav-01-sub-open {
    visibility: visible;
    opacity: 1;
    position: relative;
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  .l-nav-01__list.js-nav-close,
.l-nav-02.js-nav-close {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    right: -100%;
  }
}

.l-nav-02 {
  order: 3;
}
@media screen and (max-width: 767px) {
  .l-nav-02 {
    background: #fff;
    border-radius: 0 0 20px 20px;
    width: calc(100% - (80 / 750 * 100vw));
    margin: -1px auto 0;
    padding: 0 calc(40 / 750 * 100vw) calc(14 / 750 * 100vw);
    order: 2;
    position: inherit;
    right: 0;
    transition: 0.3s ease-in;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-02__body {
    background: rgba(213, 240, 236, 0.9);
    width: 100%;
    padding-right: 10px;
    position: fixed;
    top: 100px;
    left: 0;
    transition: 0.3s ease-in;
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
}
.l-nav-02__btn {
  background: #B3CEC8;
  border-radius: 0 0 9px 9px;
  width: 98px;
  height: 50px;
  padding: 0 24px;
  text-align: left;
  display: block;
  position: absolute;
  top: 150px;
  right: 0;
  transition: 0.3s ease-in;
}
@media screen and (min-width: 1220px) {
  .l-nav-02__btn {
    right: calc(50% - 456px);
  }
}
@media screen and (max-width: 767px) {
  .l-nav-02__btn {
    display: none;
  }
}
.l-nav-02__btn::after {
  border-top: 10px solid #fff;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  content: "";
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  bottom: 10px;
  right: 24px;
  transform: rotate(59deg);
  transition: 0.3s;
}
.l-nav-02__btn span {
  color: #fff;
  display: block;
}
.l-nav-02__btn .text-l {
  margin-top: -5px;
  font-family: "Roboto", sans-serif;
  font-size: 2rem;
}
.l-nav-02__btn .text-s {
  font-size: 1rem;
}
.l-nav-02__btn .text-s.text-open {
  display: none;
}
.l-nav-02__list {
  max-width: 1240px;
  height: 50px;
  margin: 0 auto;
  padding-left: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-nav-02__list {
    height: auto;
    padding-left: 0;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-02__list .list-02-item:nth-child(n+2) {
    margin-left: 30px;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-02__list .list-02-item:not(:last-child) {
    border-bottom: 1px dotted #707070;
  }
}
.l-nav-02__list .link-02 {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .l-nav-02__list .link-02 {
    padding: calc(30 / 750 * 100vw) 0;
    font-size: calc(26 / 750 * 100vw);
    font-weight: 500;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-02__list .link-02:hover {
    color: #C3B071;
  }
}
.l-nav-02__list .link-02 span {
  padding-right: 10px;
  line-height: 1.4;
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-nav-02__list .link-02 span {
    display: block;
  }
}
.l-nav-02__list .link-02 span::after {
  border-top: 2px solid #C3B071;
  border-right: 2px solid #C3B071;
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  right: 1px;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .l-nav-02__list .link-02 span::after {
    border-top-color: #928C51;
    border-right-color: #928C51;
    width: calc(18 / 750 * 100vw);
    height: calc(18 / 750 * 100vw);
    top: calc(50% - (8 / 750 * 100vw));
  }
}

.l-nav-02.l-nav-02-open {
  width: 100%;
}
.l-nav-02.l-nav-02-open .l-nav-02__btn {
  top: 100px;
  transition: 0.24s ease-in;
}
.l-nav-02.l-nav-02-open .l-nav-02__btn::after {
  transform: rotate(0);
}
.l-nav-02.l-nav-02-open .l-nav-02__btn .text-s.text-open {
  display: block;
}
.l-nav-02.l-nav-02-open .l-nav-02__btn .text-s.text-close {
  display: none;
}
.l-nav-02.l-nav-02-open .l-nav-02__body {
  transform: scale(1, 0);
}

.l-nav-03 {
  background: #D5F0EC;
  width: 100%;
  height: 50px;
  padding-left: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  order: 1;
}
@media screen and (max-width: 767px) {
  .l-nav-03 {
    background: rgba(9, 8, 77, 0.6);
    height: auto;
    margin-top: calc(84 / 750 * 100vw);
    padding: calc(28 / 750 * 100vw) calc(40 / 750 * 100vw) calc(68 / 750 * 100vw);
    align-items: flex-start;
    flex-direction: column;
    order: 3;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-03.nav-03-en {
    margin-top: calc(160 / 750 * 100vw);
  }
}
.l-nav-03__sns, .l-nav-03__list {
  display: flex;
}
.l-nav-03__sns {
  margin-right: 44px;
}
@media screen and (max-width: 767px) {
  .l-nav-03__sns {
    margin-right: 0;
    align-items: center;
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-03__sns.nav-03__sns-en {
    margin-right: 33px;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-03__sns .list-03__sns-item {
    margin-top: calc(56 / 750 * 100vw);
  }
}
.l-nav-03__sns .list-03__sns-item:nth-child(n+2) {
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .l-nav-03__sns .list-03__sns-item:nth-child(n+2) {
    margin-left: calc(40 / 750 * 100vw);
  }
}
.l-nav-03__sns .list-03__sns-item a {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .l-nav-03__sns .list-03__sns-item a:hover {
    opacity: 0.7;
  }
}
.l-nav-03__sns .list-03__sns-item .link-tw img {
  width: 28px;
}
@media screen and (max-width: 767px) {
  .l-nav-03__sns .list-03__sns-item .link-tw img {
    width: calc(70 / 750 * 100vw);
  }
}
.l-nav-03__sns .list-03__sns-item .link-yt img {
  width: 28px;
}
@media screen and (max-width: 767px) {
  .l-nav-03__sns .list-03__sns-item .link-yt img {
    width: calc(80 / 750 * 100vw);
  }
}
.l-nav-03__sns .list-03__sns-item .link-insta img {
  width: 28px;
}
@media screen and (max-width: 767px) {
  .l-nav-03__sns .list-03__sns-item .link-insta img {
    width: calc(68 / 750 * 100vw);
  }
}
.l-nav-03__list {
  margin-right: 28px;
}
@media screen and (max-width: 767px) {
  .l-nav-03__list {
    width: calc(560 / 750 * 100vw);
    margin-right: 0;
    flex-wrap: wrap;
    order: 1;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-03__list.nav-03__list-en {
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-03__list .list-03-item:nth-child(n+2) {
    margin-left: 30px;
  }
}
@media screen and (max-width: 767px) {
  .l-nav-03__list .list-03-item:nth-child(2n) {
    margin-left: calc(60 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .l-nav-03__list .list-03-item:nth-child(n+3) {
    margin-top: calc(16 / 750 * 100vw);
  }
}
.l-nav-03__list .link-03 {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.4;
  display: block;
}
@media screen and (max-width: 767px) {
  .l-nav-03__list .link-03 {
    font-size: calc(28 / 750 * 100vw);
    color: #fff;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 768px) {
  .l-nav-03__list .link-03:hover {
    color: #C3B071;
  }
}
.l-nav-03__list .link-03.link-03-en {
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .l-nav__contents-open .l-page__main,
.l-nav__contents-open .l-page__footer {
    position: relative;
  }
  .l-nav__contents-open .l-page__main::after,
.l-nav__contents-open .l-page__footer::after {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
  }
  .l-nav__contents-open .l-header__nav::after {
    width: 100vw;
    height: 60px;
    top: 0;
    left: 0;
  }
  .l-nav__contents-open .l-header {
    border-bottom-color: #2e4160;
    border-bottom-width: 2px;
  }
  .l-nav__contents-open .l-nav__body {
    visibility: visible;
    opacity: 1;
    right: 0;
  }
  .l-nav__contents-open .l-nav__btn {
    background: #2e4160;
  }
  .l-nav__contents-open .l-nav__btn span {
    background: #fff;
    width: 42px;
    left: 12px;
  }
  .l-nav__contents-open .l-nav__btn span:nth-child(1) {
    transform: translateY(10px) rotate(-40deg);
  }
  .l-nav__contents-open .l-nav__btn span:nth-child(2) {
    opacity: 0;
  }
  .l-nav__contents-open .l-nav__btn span:nth-child(3) {
    transform: translateY(-13px) rotate(40deg);
  }
}

/*========================================
  ページ全体のレイアウト
========================================*/
.l-page__box {
  margin-bottom: 125px;
}
@media screen and (max-width: 767px) {
  .l-page__box {
    margin-bottom: calc(200 / 750 * 100vw);
  }
}
.l-page__box:last-child {
  margin-bottom: 0;
}

.l-page__news {
  display: flex;
  gap: 0 90px;
}
@media screen and (max-width: 767px) {
  .l-page__news {
    flex-wrap: wrap;
    gap: calc(120 / 750 * 100vw) 0;
  }
}

.l-page__news-body {
  width: 770px;
}
@media screen and (max-width: 767px) {
  .l-page__news-body {
    width: 100%;
  }
}

.l-page__news-side {
  width: 360px;
}
@media screen and (max-width: 767px) {
  .l-page__news-side {
    width: 100%;
  }
}

.l-page__col {
  display: flex;
  gap: 0 50px;
}
@media screen and (max-width: 767px) {
  .l-page__col {
    flex-wrap: wrap;
    gap: calc(80 / 750 * 100vw) 0;
  }
}

.l-page__col-body {
  width: 960px;
}
@media screen and (max-width: 767px) {
  .l-page__col-body {
    width: 100%;
    order: 2;
  }
}

.l-page__col-side {
  width: 210px;
}
@media screen and (max-width: 767px) {
  .l-page__col-side {
    width: 100%;
    order: 1;
  }
}

/*========================================
  下層ページヘッダー
========================================*/
.l-page__header {
  min-height: 350px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .l-page__header {
    min-height: calc(370 / 750 * 100vw);
    margin-bottom: calc(20 / 750 * 100vw);
  }
}
.l-page__header-inner {
  padding-top: 84px;
  padding-bottom: 152px;
}
@media screen and (max-width: 767px) {
  .l-page__header-inner {
    padding-top: calc(184 / 750 * 100vw);
    padding-bottom: calc(36 / 750 * 100vw);
  }
}
.l-page__header-ttl {
  font-weight: normal;
  letter-spacing: 0.15em;
}
.l-page__header-ttl .ttl-item {
  display: block;
}
.l-page__header-ttl .ttl-item:last-child {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .l-page__header-ttl .ttl-item:last-child {
    margin-top: calc(10 / 750 * 100vw);
  }
}
.l-page__header-ttl .ttl-01 {
  background: #B3CEC8;
  border-radius: 5px;
  padding: 7px 41px 8px 38px;
  font-family: "Noto Serif JP", serif;
  font-size: 3.5rem;
  color: #fff;
  line-height: 1.4;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .l-page__header-ttl .ttl-01 {
    padding: calc(20 / 750 * 100vw) calc(30 / 750 * 100vw);
    font-size: calc(36 / 750 * 100vw);
  }
}
.l-page__header-ttl .ttl-02 {
  background: #fff;
  border-radius: 5px;
  padding: 8px 40px;
  color: #B3CEC8;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .l-page__header-ttl .ttl-02 {
    padding: calc(6 / 750 * 100vw) calc(30 / 750 * 100vw);
    font-size: calc(24 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .en .l-page__header {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .en .l-page__header-inner {
    padding-top: calc(36 / 750 * 100vw);
    display: flex;
    align-items: center;
  }
}

.l-page__header.page-header__bg-01 {
  background: url(/assets/img/bg/bg-page-header-01-pc.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-01 {
    background: url(/assets/img/bg/bg-page-header-01-sp.jpg) no-repeat 50% 0;
    background-size: cover;
  }
}
.l-page__header.page-header__bg-students {
  background: url(/assets/img/bg/bg-students-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-students {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-graduate {
  background: url(/assets/img/bg/bg-graduate-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-graduate {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-general {
  background: url(/assets/img/bg/bg-general-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-general {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-intro {
  background: url(/assets/img/bg/bg-intro-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-intro {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-faculty {
  background: url(/assets/img/bg/bg-faculty-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-faculty {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-nyusi {
  background: url(/assets/img/bg/bg-nyusi-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-nyusi {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-research {
  background: url(/assets/img/bg/bg-research-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-research {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-international {
  background: url(/assets/img/bg/bg-international-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-international {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-education {
  background: url(/assets/img/bg/bg-education-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-education {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-campuslife {
  background: url(/assets/img/bg/bg-campuslife-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-campuslife {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-syusyoku {
  background: url(/assets/img/bg/bg-syusyoku-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-syusyoku {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-juken {
  background: url(/assets/img/bg/bg-juken-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-juken {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-news {
  background: url(/assets/img/bg/bg-prize_t-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-news {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-event_calendar {
  background: url(/assets/img/bg/bg-prize_t-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-event_calendar {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-media {
  background: url(/assets/img/bg/bg-prize_t-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-media {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-prize_s {
  background: url(/assets/img/bg/bg-prize_t-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-prize_s {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-prize_t {
  background: url(/assets/img/bg/bg-prize_t-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-prize_t {
    background-position: 50% 50%;
  }
}
.l-page__header.page-header__bg-en {
  background: url(/assets/img/bg/bg-en-header.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .l-page__header.page-header__bg-en {
    background-position: 50% 50%;
  }
}

/*========================================
  breadcrumb
========================================*/
.l-breadcrumb {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb {
    margin-bottom: calc(70 / 750 * 100vw);
  }
}
.l-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
}
.l-breadcrumb li {
  padding-left: 0;
  font-size: 1.4rem;
  font-size: normal;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb li {
    font-size: calc(24 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .l-breadcrumb li:nth-child(n+2) {
    margin-top: 0;
  }
}
.l-breadcrumb li:not(:first-child) {
  margin-left: 4px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb li:not(:first-child) {
    margin-left: calc(22 / 750 * 100vw);
  }
}
.l-breadcrumb li:not(:first-child)::before {
  content: "-";
  margin-right: 4px;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb li:not(:first-child)::before {
    margin-right: calc(22 / 750 * 100vw);
  }
}
.l-breadcrumb li:not(:last-child)::before {
  color: #9ED2B1;
}
.l-breadcrumb a {
  font-size: 1.4rem;
  color: #9ED2B1;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb a {
    font-size: calc(24 / 750 * 100vw);
  }
}

.news .l-breadcrumb li:nth-child(2)::before {
  color: #646464;
}

/*========================================
  editor
========================================*/
.c-editor-col--2 > a,
.c-editor-col--3 > a,
.c-editor-col--4 > a {
  display: block;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-editor-col--2 > a:hover,
.c-editor-col--3 > a:hover,
.c-editor-col--4 > a:hover {
    text-decoration: underline;
  }
}
.c-editor-col--2 > a:hover img,
.c-editor-col--3 > a:hover img,
.c-editor-col--4 > a:hover img {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-editor-col--2 > a:hover img,
.c-editor-col--3 > a:hover img,
.c-editor-col--4 > a:hover img {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .c-editor-col--2 > a.c-btn:hover,
.c-editor-col--3 > a.c-btn:hover,
.c-editor-col--4 > a.c-btn:hover {
    text-decoration: none;
  }
}
.c-editor-col--2 .notes,
.c-editor-col--3 .notes,
.c-editor-col--4 .notes {
  margin-top: 8px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-editor-col--2 .notes,
.c-editor-col--3 .notes,
.c-editor-col--4 .notes {
    margin-top: calc(10 / 750 * 100vw);
  }
}

.c-editor-col--2 {
  width: calc(50% - 30px);
  max-width: 580px;
}
@media screen and (max-width: 767px) {
  .c-editor-col--2 {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .c-editor-col--2:nth-child(n+3) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-editor-col--2:nth-child(n+2) {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.c-editor-col--3 {
  width: calc(380 / 1220 * 100%);
  max-width: 380px;
}
@media screen and (max-width: 767px) {
  .c-editor-col--3 {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .c-editor-col--3:not(:nth-child(3n)) {
    margin-right: calc(40 / 1220 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-editor-col--3:nth-child(n+4) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .c-editor-col--3:nth-child(n+2) {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.c-editor-col--4 {
  width: calc(270 / 1220 * 100%);
  max-width: 270px;
}
@media screen and (max-width: 767px) {
  .c-editor-col--4 {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .c-editor-col--4:not(:nth-child(4n)) {
    margin-right: calc(46 / 1220 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-editor-col--4:nth-child(n+5) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .c-editor-col--4:nth-child(n+2) {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.c-editor-pict {
  border-radius: 5px;
  width: 100%;
  object-fit: cover;
  font-family: "object-fit: cover";
}
.c-editor-pict.item-pict-01 {
  height: 466px;
}
@media screen and (max-width: 767px) {
  .c-editor-pict.item-pict-01 {
    height: calc(312 / 750 * 100vw);
  }
}
.c-editor-pict.item-pict-02 {
  height: 284px;
}
@media screen and (max-width: 767px) {
  .c-editor-pict.item-pict-02 {
    height: calc(312 / 750 * 100vw);
  }
}
.c-editor-pict.item-pict-03 {
  height: 186px;
}
@media screen and (max-width: 767px) {
  .c-editor-pict.item-pict-03 {
    height: calc(312 / 750 * 100vw);
  }
}
.c-editor-pict.item-pict-04 {
  height: 130px;
}
@media screen and (max-width: 767px) {
  .c-editor-pict.item-pict-04 {
    height: calc(312 / 750 * 100vw);
  }
}

.c-editor-youtube {
  width: calc(100% - 220px);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .c-editor-youtube {
    width: 100%;
    max-width: none;
  }
}
.c-editor-youtube__inner {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
  position: relative;
}
.c-editor-youtube__inner iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.c-editor__wrap .c-editor__header {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__header {
    margin-bottom: calc(60 / 750 * 100vw);
  }
}
.c-editor__wrap .c-editor__header .entry-title {
  border-bottom: 2px solid #D9D9D9;
  margin-bottom: 15px;
  padding-bottom: 10px;
  font-size: 3rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__header .entry-title {
    margin-bottom: calc(10 / 750 * 100vw);
    padding-bottom: calc(20 / 750 * 100vw);
    font-size: calc(36 / 750 * 100vw);
  }
}
.c-editor__wrap .c-editor__header .entry-meta {
  text-align: right;
}
.c-editor__wrap .c-editor__header .entry-meta time {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__header .entry-meta time {
    font-size: calc(32 / 750 * 100vw);
  }
}
.c-editor__wrap .c-editor__content div,
.c-editor__wrap .c-editor__content p,
.c-editor__wrap .c-editor__content ul,
.c-editor__wrap .c-editor__content ol,
.c-editor__wrap .c-editor__content dl {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__content div,
.c-editor__wrap .c-editor__content p,
.c-editor__wrap .c-editor__content ul,
.c-editor__wrap .c-editor__content ol,
.c-editor__wrap .c-editor__content dl {
    margin-top: calc(40 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
  }
}
.c-editor__wrap .c-editor__content div:first-child,
.c-editor__wrap .c-editor__content p:first-child,
.c-editor__wrap .c-editor__content ul:first-child,
.c-editor__wrap .c-editor__content ol:first-child,
.c-editor__wrap .c-editor__content dl:first-child {
  margin-top: 5px;
}
.c-editor__wrap .c-editor__content div:last-child,
.c-editor__wrap .c-editor__content p:last-child,
.c-editor__wrap .c-editor__content ul:last-child,
.c-editor__wrap .c-editor__content ol:last-child,
.c-editor__wrap .c-editor__content dl:last-child {
  margin-bottom: 5px;
}
.c-editor__wrap .c-editor__content ul a + ul,
.c-editor__wrap .c-editor__content ul a + ol,
.c-editor__wrap .c-editor__content ol a + ul,
.c-editor__wrap .c-editor__content ol a + ol {
  margin-top: 5px;
  margin-bottom: 5px;
}
.c-editor__wrap .c-editor__content figcaption {
  margin-top: 5px;
}
.c-editor__wrap .c-editor__content.c-editor-cms div,
.c-editor__wrap .c-editor__content.c-editor-cms ul,
.c-editor__wrap .c-editor__content.c-editor-cms ol,
.c-editor__wrap .c-editor__content.c-editor-cms dl,
.c-editor__wrap .c-editor__content.c-editor-cms table,
.c-editor__wrap .c-editor__content.c-editor-cms figure {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.c-editor__wrap .c-editor__content.c-editor-cms div:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms ul:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms ol:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms dl:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms table:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms figure:first-child {
  margin-top: 0;
}
.c-editor__wrap .c-editor__content.c-editor-cms div:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms ul:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms ol:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms dl:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms table:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms figure:last-child {
  margin-bottom: 0;
}
.c-editor__wrap .c-editor__content.c-editor-cms h5,
.c-editor__wrap .c-editor__content.c-editor-cms h6,
.c-editor__wrap .c-editor__content.c-editor-cms p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.c-editor__wrap .c-editor__content.c-editor-cms h5:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms h6:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms p:first-child {
  margin-top: 0;
}
.c-editor__wrap .c-editor__content.c-editor-cms h5:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms h6:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms p:last-child {
  margin-bottom: 0;
}
.c-editor__wrap .c-editor__content.c-editor-cms h5 {
  font-size: 1.7rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__content.c-editor-cms h5 {
    font-size: calc(28 / 750 * 100vw);
  }
}
.c-editor__wrap .c-editor__content.c-editor-cms h6 {
  font-weight: 500;
}
.c-editor__wrap .c-editor__content.c-editor-cms a {
  color: #C3B071;
  text-decoration: underline;
}
@media (hover: hover) {
  .c-editor__wrap .c-editor__content.c-editor-cms a:hover {
    text-decoration: none;
  }
}
.c-editor__wrap .c-editor__content.c-editor-cms img {
  width: auto;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__content.c-editor-cms img {
    width: 100%;
    max-width: none;
  }
}
.c-editor__wrap .c-editor__content.c-editor-cms li:nth-child(n+2) {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__content.c-editor-cms li:nth-child(n+2) {
    margin-top: calc(10 / 750 * 100vw);
  }
}
.c-editor__wrap .c-editor__content.c-editor-cms li li:first-child {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__content.c-editor-cms li li:first-child {
    margin-top: calc(10 / 750 * 100vw);
  }
}
.c-editor__wrap .c-editor__content.c-editor-cms dl dt {
  font-weight: 500;
}
.c-editor__wrap .c-editor__content.c-editor-cms dl dt:nth-of-type(n + 2) {
  margin-top: 0.5em;
}
.c-editor__wrap .c-editor__content.c-editor-cms dl dd {
  margin-left: 1em;
}
.c-editor__wrap .c-editor__content.c-editor-cms figcaption {
  margin-top: 0.6em;
}
.c-editor__wrap .c-editor__content.c-editor-cms table th,
.c-editor__wrap .c-editor__content.c-editor-cms table td {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__content.c-editor-cms table th,
.c-editor__wrap .c-editor__content.c-editor-cms table td {
    font-size: calc(28 / 750 * 100vw);
  }
}
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--1,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--2,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--3,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--4 {
  margin-top: 3.5em;
  margin-bottom: 3.5em;
}
@media screen and (max-width: 767px) {
  .c-editor__wrap .c-editor__content.c-editor-cms .u-col--1,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--2,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--3,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--4 {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
  }
}
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--1:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--2:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--3:first-child,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--4:first-child {
  margin-top: 0;
}
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--1:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--2:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--3:last-child,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--4:last-child {
  margin-bottom: 0;
}
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--2,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--3,
.c-editor__wrap .c-editor__content.c-editor-cms .u-col--4 {
  gap: 2em 0;
}
@media screen and (min-width: 768px) {
  .c-editor__wrap .c-editor__content.c-editor-cms figure.c-editor-col--2,
.c-editor__wrap .c-editor__content.c-editor-cms figure.c-editor-col--3,
.c-editor__wrap .c-editor__content.c-editor-cms figure.c-editor-col--4 {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.c-editor__wrap figure.u-col--1 a[target=_blank]::after,
.c-editor__wrap figure.c-editor-col--2 a[target=_blank]::after,
.c-editor__wrap figure.c-editor-col--3 a[target=_blank]::after,
.c-editor__wrap figure.c-editor-col--4 a[target=_blank]::after {
  display: none;
}

.c-editor-cms a[target=_blank]::after,
.c-editor-cms a[href*=".pdf"]::after,
.c-editor-list-cms a[target=_blank] .item-ttl::after,
.c-editor-list-cms a[href*=".pdf"] .item-ttl::after,
.c-editor__content.c-editor-cms figure a[target=_blank] figcaption::after {
  content: "";
  width: 16px;
  height: 16px;
  margin-left: 3px;
  margin-right: 5px;
  display: inline-block;
  vertical-align: -2px;
}
@media screen and (max-width: 767px) {
  .c-editor-cms a[target=_blank]::after,
.c-editor-cms a[href*=".pdf"]::after,
.c-editor-list-cms a[target=_blank] .item-ttl::after,
.c-editor-list-cms a[href*=".pdf"] .item-ttl::after,
.c-editor__content.c-editor-cms figure a[target=_blank] figcaption::after {
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(10 / 750 * 100vw);
  }
}

.c-editor-cms a[target=_blank]::after,
.c-editor-list-cms a[target=_blank] .item-ttl::after,
.c-editor__content.c-editor-cms figure a[target=_blank] figcaption::after {
  background: url(/assets/img/icon/icon-other.svg) no-repeat 0 0;
  background-size: contain;
}

.c-editor-cms a[href*=".pdf"]::after,
.c-editor-list-cms a[href*=".pdf"] .item-ttl::after {
  background: url(/assets/img/icon/icon-pdf.svg) no-repeat 0 0;
  background-size: contain;
}

.c-editor-cms__box:not(:last-child) {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .c-editor-cms__box:not(:last-child) {
    margin-bottom: calc(140 / 750 * 100vw);
  }
}

.c-editor__back-btn {
  width: 160px;
  margin: 40px 0 0 auto;
}
@media screen and (max-width: 767px) {
  .c-editor__back-btn {
    width: calc(320 / 750 * 100vw);
    margin: calc(60 / 750 * 100vw) auto 0;
  }
}

/*========================================
  アンカーリンク
========================================*/
.c-anc-link {
  margin-top: -160px;
  padding-top: 160px;
}
@media screen and (max-width: 767px) {
  .c-anc-link {
    margin-top: calc(-140 / 750 * 100vw);
    padding-top: calc(140 / 750 * 100vw);
  }
}

.c-anc-margin-40 {
  margin-top: -120px;
}
@media screen and (max-width: 767px) {
  .c-anc-margin-40 {
    margin-top: calc(-90 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .c-editor-col--2.c-anc-margin-40sp {
    margin-top: calc(-90 / 750 * 100vw);
  }
}

.c-anc-margin-90 {
  margin-top: -90px;
}
@media screen and (max-width: 767px) {
  .c-anc-margin-90 {
    margin-top: calc(-60 / 750 * 100vw);
  }
}

.c-anc-margin-60 {
  margin-top: -60px;
}
@media screen and (max-width: 767px) {
  .c-anc-margin-60 {
    margin-top: calc(20 / 750 * 100vw);
  }
}

/*========================================
  background
========================================*/
.c-bg-green {
  background-color: #D5F0EC;
}

.c-bg-white {
  background-color: #fff;
}

.c-bg-gray {
  background-color: #E8E8E8;
}

.c-bg-red {
  background-color: #FDE8E8;
}

.c-bg-line__green {
  border: 1px solid #B3CEC8;
  border-radius: 5px;
  width: calc(100% - 60px);
  margin-left: auto;
  margin-right: auto;
  padding: 40px;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-bg-line__green {
    width: 100%;
    padding: calc(50 / 750 * 100vw) calc(40 / 750 * 100vw);
    font-size: calc(28 / 750 * 100vw);
  }
}

.c-bg-line__notes {
  border: 1px solid #FF0000;
  border-radius: 5px;
  width: calc(100% - 60px);
  margin-left: auto;
  margin-right: auto;
  padding: 40px;
  font-size: 1.8rem;
  color: #FF0000;
}
@media screen and (max-width: 767px) {
  .c-bg-line__notes {
    width: 100%;
    padding: calc(50 / 750 * 100vw) calc(40 / 750 * 100vw);
    font-size: calc(28 / 750 * 100vw);
  }
}

.c-bg-line__gray {
  border: 1px solid #707070;
}

/*========================================
  ボタン
========================================*/
.c-btn-item {
  margin-top: 25px;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .c-btn-item {
    margin-top: calc(40 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
  }
}

.c-btn {
  min-width: 336px;
  line-height: 1.3;
  text-align: left;
  display: inline-block;
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-btn {
    width: 100%;
    min-width: 0;
  }
}
.c-btn::after {
  border-top: 2px solid #C2BD6E;
  border-right: 2px solid #C2BD6E;
  content: "";
  width: 10px;
  height: 10px;
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-btn::after {
    border-top-width: 3px;
    border-right-width: 3px;
    width: calc(24 / 750 * 100vw);
    height: calc(24 / 750 * 100vw);
    right: calc(40 / 750 * 100vw);
  }
}

.c-btn-group {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-btn-group {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .c-btn-group .c-btn-group-item {
    margin-left: 10px;
    margin-right: 10px;
  }
}
.c-btn-group .c-btn {
  width: calc(336 / 1220 * 100vw);
  min-width: 0;
  max-width: 336px;
}
@media screen and (max-width: 767px) {
  .c-btn-group .c-btn {
    width: 100%;
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-group-item:nth-child(n+2) {
    margin-top: calc(40 / 750 * 100vw);
  }
}

.btn-white-01,
.btn-white-02 {
  border: 1px solid #707070;
  font-size: 2rem;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-white-01,
.btn-white-02 {
    font-size: calc(40 / 750 * 100vw);
  }
}
.btn-white-01::after,
.btn-white-02::after {
  display: none;
}
@media screen and (min-width: 768px) {
  .btn-white-01:hover,
.btn-white-02:hover {
    background: #D5F0EC;
  }
}
.btn-white-01 span,
.btn-white-02 span {
  padding-right: 24px;
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-white-01 span,
.btn-white-02 span {
    padding-right: calc(40 / 750 * 100vw);
  }
}
.btn-white-01 span::after,
.btn-white-02 span::after {
  border-top: 2px solid #C2BD6E;
  border-right: 2px solid #C2BD6E;
  content: "";
  width: 10px;
  height: 10px;
  display: block;
  position: absolute;
  top: calc(50% - 4px);
  right: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-white-01 span::after,
.btn-white-02 span::after {
    border-top-width: 3px;
    border-right-width: 3px;
    width: calc(24 / 750 * 100vw);
    height: calc(24 / 750 * 100vw);
    top: calc(50% - (10 / 750 * 100vw));
  }
}

.btn-white-01 {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .btn-white-01 {
    padding: calc(36 / 750 * 100vw) calc(80 / 750 * 100vw) calc(36 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.btn-white-02 {
  border-radius: 5px;
  padding: 30px 20px;
}
@media screen and (max-width: 767px) {
  .btn-white-02 {
    padding: calc(36 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.u-col--link-3 .c-btn.btn-white-02 {
  width: 100%;
  min-width: 0;
  max-width: 366px;
  min-height: 85px;
  padding: 5px 20px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .u-col--link-3 .c-btn.btn-white-02 {
    max-width: none;
    min-height: calc(130 / 750 * 100vw);
    padding: calc(10 / 750 * 100vw) calc(40 / 750 * 100vw) calc(13 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
  }
}
.u-col--link-3 .c-btn.btn-white-02 span::after {
  border-top-width: 3px;
  border-right-width: 3px;
  width: 12px;
  height: 12px;
}
@media screen and (max-width: 767px) {
  .u-col--link-3 .c-btn.btn-white-02 span::after {
    width: calc(24 / 750 * 100vw);
    height: calc(24 / 750 * 100vw);
  }
}

.btn-green-shadow {
  background: #D5F0EC;
  border: 2px solid #D5F0EC;
  border-radius: 5px;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.16);
  width: calc(540 / 1220 * 100vw);
  max-width: 540px;
  padding: 53px 70px 53px 30px;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  letter-spacing: 0.2em;
  line-height: 1.3;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-green-shadow {
    width: 100%;
    max-width: none;
    padding: calc(90 / 750 * 100vw) calc(100 / 750 * 100vw) calc(90 / 750 * 100vw) calc(40 / 750 * 100vw);
    font-size: calc(44 / 750 * 100vw);
  }
}
.btn-green-shadow::after {
  border-top: 3px solid #646464;
  border-right: 3px solid #646464;
  width: 12px;
  height: 12px;
  right: 30px;
}
@media screen and (max-width: 767px) {
  .btn-green-shadow::after {
    width: calc(24 / 750 * 100vw);
    height: calc(24 / 750 * 100vw);
    right: calc(40 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .btn-green-shadow:hover {
    background: #fff;
  }
}

.btn-green-list {
  border: 1px solid #B3CEC8;
  border-radius: 15px;
  width: 100%;
  min-width: 150px;
  max-width: none;
  padding: 4px 10px;
  font-size: 1.5rem;
  color: #B3CEC8;
  text-align: center;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-green-list {
    min-width: calc(270 / 750 * 100vw);
    padding: calc(14 / 750 * 100vw) 10px;
    font-size: calc(24 / 750 * 100vw);
  }
}
.btn-green-list::after {
  display: none;
}
@media screen and (min-width: 768px) {
  .btn-green-list:hover {
    background: #B3CEC8;
    color: #fff;
  }
}

.btn-gray {
  background: #F0F0F0;
  border-radius: 18px;
  padding: 10px 15px;
}
@media screen and (max-width: 767px) {
  .btn-gray {
    border-radius: calc(44 / 750 * 100vw);
    padding: calc(24 / 750 * 100vw) calc(36 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .btn-gray:hover {
    background: #646464;
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .btn-gray:hover::after {
    border-top-color: #fff;
    border-right-color: #fff;
  }
}
.btn-gray.btn-small {
  min-width: 125px;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .btn-gray.btn-small {
    font-size: calc(30 / 750 * 100vw);
  }
}
.btn-gray::after {
  border-top-color: #2F2F2F;
  border-right-color: #2F2F2F;
  width: 7px;
  height: 7px;
}
@media screen and (max-width: 767px) {
  .btn-gray::after {
    border-top-width: 2px;
    border-right-width: 2px;
    width: calc(16 / 750 * 100vw);
    height: calc(16 / 750 * 100vw);
  }
}

.c-btn-w-100 {
  width: 100%;
  max-width: none;
}

button.c-btn__list-more {
  background: none;
  border-top: 2px solid #D9D9D9;
  border-bottom: 2px solid #D9D9D9;
  width: 100%;
  margin: 20px auto 0;
  padding: 15px 10px;
  font-size: 1.6rem;
  color: #C3B071;
  text-align: center;
  display: block;
}
@media screen and (max-width: 767px) {
  button.c-btn__list-more {
    margin-top: calc(40 / 750 * 100vw);
    padding: calc(26 / 750 * 100vw) 10px;
    font-size: calc(32 / 750 * 100vw);
  }
}
button.c-btn__list-more span {
  padding-right: 25px;
  display: inline-block;
  position: relative;
}
button.c-btn__list-more span::after {
  border-top: 2px solid #C3B071;
  border-right: 2px solid #C3B071;
  content: "";
  width: 10px;
  height: 10px;
  margin-left: auto;
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  transform: translateY(-50%) rotate(135deg);
}
@media screen and (max-width: 767px) {
  button.c-btn__list-more span::after {
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    top: calc(50% - (4 / 750 * 100vw));
  }
}

button.c-btn__cms,
.c-btn__cms {
  background: none;
  border: 1px solid #707070;
  border-radius: 8px;
  width: 160px;
  padding: 7px 10px;
  font-size: 1.6rem;
  display: block;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  button.c-btn__cms,
.c-btn__cms {
    width: calc(320 / 750 * 100vw);
    margin: 0 auto;
    padding: calc(14 / 750 * 100vw) 10px;
    font-size: calc(32 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  button.c-btn__cms:hover,
.c-btn__cms:hover {
    background: #D5F0EC;
  }
}
button.c-btn__cms span,
.c-btn__cms span {
  padding-left: 25px;
  position: relative;
}
button.c-btn__cms span::before,
.c-btn__cms span::before {
  border-top: 2px solid #C3B071;
  border-right: 2px solid #C3B071;
  content: "";
  width: 10px;
  height: 10px;
  margin-left: auto;
  display: block;
  position: absolute;
  top: calc(50% + 2px);
  left: 0;
}
@media screen and (max-width: 767px) {
  button.c-btn__cms span::before,
.c-btn__cms span::before {
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    top: calc(50% + (4 / 750 * 100vw));
  }
}
button.c-btn__cms.btn-pagetop,
.c-btn__cms.btn-pagetop {
  color: #646464;
}
button.c-btn__cms.btn-pagetop span::before,
.c-btn__cms.btn-pagetop span::before {
  transform: translateY(-50%) rotate(-45deg);
}
button.c-btn__cms.btn-back span::before,
.c-btn__cms.btn-back span::before {
  transform: translateY(-50%) rotate(-135deg);
}

/*========================================
  container
========================================*/
.c-container, .c-container--full {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 10px;
  padding-right: 10px;
}
.c-container--full {
  max-width: 1240px;
}
@media screen and (max-width: 767px) {
  .c-container--full {
    padding-right: calc(40 / 750 * 100vw);
    padding-left: calc(40 / 750 * 100vw);
  }
}
.c-container--bg {
  padding: 80px 20px;
}
@media screen and (max-width: 767px) {
  .c-container--bg {
    padding: calc(70 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}
.c-container--bg__inner {
  border-radius: 5px;
  padding: 30px 77px;
}
@media screen and (max-width: 767px) {
  .c-container--bg__inner {
    padding: calc(50 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}
.c-container--bg__inner li:nth-child(n+2) {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .c-container--bg__inner li:nth-child(n+2) {
    margin-top: calc(70 / 750 * 100vw);
  }
}

/*========================================
  アイコン
========================================*/
.c-icon-pdf,
.c-icon-other {
  width: 19px;
  height: 19px;
  margin-left: 7px;
}
@media screen and (max-width: 767px) {
  .c-icon-pdf,
.c-icon-other {
    width: calc(38 / 750 * 100vw);
    height: calc(38 / 750 * 100vw);
    margin-left: calc(12 / 750 * 100vw);
  }
}
.c-icon-pdf__small,
.c-icon-other__small {
  width: 16px;
  height: 16px;
  margin-left: 3px;
  margin-right: 5px;
}
@media screen and (max-width: 767px) {
  .c-icon-pdf__small,
.c-icon-other__small {
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(10 / 750 * 100vw);
  }
}

.c-icon-pdf,
.c-icon-pdf__small {
  vertical-align: -2px;
}
@media screen and (max-width: 767px) {
  .c-icon-pdf,
.c-icon-pdf__small {
    vertical-align: calc(-6 / 750 * 100vw);
  }
}

.c-icon-other,
.c-icon-other__small {
  vertical-align: -2px;
}
@media screen and (max-width: 767px) {
  .c-icon-other,
.c-icon-other__small {
    vertical-align: calc(-6 / 750 * 100vw);
  }
}

.c-icon-word,
.c-icon-excel {
  width: 19px;
  height: 19px;
  margin-left: 7px;
  vertical-align: -3px;
}
@media screen and (max-width: 767px) {
  .c-icon-word,
.c-icon-excel {
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    margin-left: calc(12 / 750 * 100vw);
    vertical-align: calc(-6 / 750 * 100vw);
  }
}
.c-icon-word__small,
.c-icon-excel__small {
  width: 16px;
  height: 16px;
  margin-left: 3px;
  margin-right: 5px;
  vertical-align: -3px;
}
@media screen and (max-width: 767px) {
  .c-icon-word__small,
.c-icon-excel__small {
    width: calc(30 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(10 / 750 * 100vw);
    vertical-align: calc(-6 / 750 * 100vw);
  }
}

.c-icon-narani {
  width: 25px;
}
@media screen and (max-width: 767px) {
  .c-icon-narani {
    width: calc(36 / 750 * 100vw);
  }
}

.c-icon-nwu {
  width: 25px;
}
@media screen and (max-width: 767px) {
  .c-icon-nwu {
    width: calc(40 / 750 * 100vw);
  }
}

/*========================================
  modal
========================================*/
.remodal-overlay {
  background: rgba(70, 70, 70, 0.4);
}

.remodal-close {
  background: #B8CDC8;
  border-radius: 50%;
  width: 70px;
  height: 70px;
  top: -35px;
  left: inherit;
  right: -35px;
}
@media screen and (max-width: 767px) {
  .remodal-close {
    width: calc(88 / 750 * 100vw);
    height: calc(88 / 750 * 100vw);
    top: calc(-44 / 750 * 100vw);
    right: calc(-44 / 750 * 100vw);
  }
}
.remodal-close::before {
  background: url(/assets/img/icon/icon-close.svg) no-repeat 0 0;
  background-size: contain;
  content: "";
  width: 36px;
  height: 35px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .remodal-close::before {
    width: calc(44 / 750 * 100vw);
    height: calc(43 / 750 * 100vw);
  }
}

.c-modal {
  border-radius: 5px;
  width: 94%;
  max-width: 1175px;
  height: 80%;
  padding: 70px 18px 70px 88px;
  color: #646464;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .c-modal {
    width: 90%;
    max-width: none;
    height: 70%;
    padding: calc(60 / 750 * 100vw) calc(20 / 750 * 100vw) calc(60 / 750 * 100vw) calc(50 / 750 * 100vw);
  }
}
.c-modal__inner {
  height: 100%;
}
.c-modal__ttl {
  border-bottom: 4px dotted #B3CEC8;
  margin: 0 70px 50px 0;
  padding: 0 30px 10px;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  letter-spacing: 0.2em;
  line-height: 1.4;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .c-modal__ttl {
    border-bottom-width: 2px;
    margin: 0 calc(30 / 750 * 100vw) calc(40 / 750 * 100vw) 0;
    padding: 0 calc(30 / 750 * 100vw) calc(20 / 750 * 100vw);
    font-size: calc(36 / 750 * 100vw);
    letter-spacing: 0.05em;
  }
}
.c-modal__box {
  padding-right: 70px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-modal__box {
    padding-right: calc(30 / 750 * 100vw);
  }
}
.c-modal__box p {
  margin: 10px 0;
}
.c-modal__box p:first-child {
  margin-top: 0;
}
.c-modal__box figure {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .c-modal__box figure {
    margin-top: calc(50 / 750 * 100vw);
  }
}
.c-modal__box .box-ttl {
  border-bottom: 2px solid #D9D9D9;
  margin: 85px 0 30px;
  padding-bottom: 5px;
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .c-modal__box .box-ttl {
    margin: calc(60 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
  }
}
.c-modal__box .box-col-2 {
  margin-top: 40px;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .c-modal__box .box-col-2 {
    margin-top: calc(50 / 750 * 100vw);
  }
}
.c-modal__box .col-item {
  width: 48%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-modal__box .col-item {
    width: 100%;
  }
}
.c-modal__box .pict-item {
  border-radius: 10px;
}
.c-modal__box .text-small {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-modal__box .text-small {
    font-size: calc(24 / 750 * 100vw);
  }
}

/*========================================
  sliders
========================================*/
.p-top__hero {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .p-top__hero {
    margin-bottom: calc(100 / 750 * 100vw);
  }
}
.p-top__hero-slider {
  max-height: 564px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top__hero-slider {
    height: calc(1026 / 750 * 100vw);
    max-height: none;
  }
}
.p-top__hero .item a:hover span {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-top__hero .item a:hover span {
    opacity: 0.7;
  }
}
.p-top__hero .item span {
  background-size: cover;
  background-position: 50% 0;
  background-repeat: no-repeat;
  width: 100vw;
  height: calc(564 / 1440 * 100vw);
  display: block;
}
@media screen and (max-width: 767px) {
  .p-top__hero .item span {
    height: calc(1026 / 750 * 100vw);
  }
}
.p-top__hero .slick-slider {
  max-height: 564px;
}
@media screen and (max-width: 767px) {
  .p-top__hero .slick-slider {
    max-height: none;
  }
}
.p-top__hero .slick-slide {
  line-height: 0;
}
.p-top__hero .slick-prev,
.p-top__hero .slick-next {
  width: 30px;
  height: 30px;
  top: inherit;
  bottom: 20px;
  transition: 0.3s;
  transform: translate(0);
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .p-top__hero .slick-prev,
.p-top__hero .slick-next {
    width: calc(90 / 750 * 100vw);
    height: calc(122 / 750 * 100vw);
    bottom: calc(30 / 750 * 100vw);
  }
}
.p-top__hero .slick-prev::before,
.p-top__hero .slick-next::before {
  display: none;
}
.p-top__hero .slick-prev {
  background: url(/assets/img/top/icon-prev-pc-01.png) no-repeat 0 0;
  background-size: contain;
  left: inherit;
  right: 54px;
}
@media screen and (min-width: 1220px) {
  .p-top__hero .slick-prev {
    right: calc(50% - 540px);
  }
}
@media screen and (max-width: 767px) {
  .p-top__hero .slick-prev {
    background: url(/assets/img/top/icon-prev-sp.png) no-repeat 0 0;
    background-size: contain;
    left: calc(40 / 750 * 100vw);
    right: inherit;
  }
}
@media screen and (min-width: 768px) {
  .p-top__hero .slick-prev:hover {
    background: url(/assets/img/top/icon-prev-pc-02.png) no-repeat 0 0;
    background-size: contain;
  }
}
.p-top__hero .slick-next {
  background: url(/assets/img/top/icon-next-pc-01.png) no-repeat 0 0;
  background-size: contain;
  right: 10px;
}
@media screen and (min-width: 1220px) {
  .p-top__hero .slick-next {
    right: calc(50% - 584px);
  }
}
@media screen and (max-width: 767px) {
  .p-top__hero .slick-next {
    background: url(/assets/img/top/icon-next-sp.png) no-repeat 0 0;
    background-size: contain;
    right: calc(40 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-top__hero .slick-next:hover {
    background: url(/assets/img/top/icon-next-pc-02.png) no-repeat 0 0;
    background-size: contain;
  }
}

/*========================================
  title
========================================*/
.c-ttl__h2-01.ttl-01 {
  margin-bottom: 35px;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01.ttl-01 {
    margin-bottom: calc(40 / 750 * 100%);
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01.ttl-01 span {
    display: block;
  }
}
.c-ttl__h2-01.ttl-01 .ttl-jp {
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01.ttl-01 .ttl-jp {
    margin-right: 0;
    display: block;
  }
}
.c-ttl__h2-01.ttl-02 {
  margin-bottom: 45px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01.ttl-02 {
    margin-bottom: calc(90 / 750 * 100%);
  }
}
.c-ttl__h2-01.ttl-02 span {
  display: block;
}
.c-ttl__h2-01.ttl-02 .ttl-en {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01.ttl-02 .ttl-en {
    margin-top: 0;
  }
}
.c-ttl__h2-01.ttl-03 {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01.ttl-03 {
    margin-bottom: calc(100 / 750 * 100vw);
    text-align: center;
  }
}
.c-ttl__h2-01.ttl-03 span {
  display: block;
}
.c-ttl__h2-01.ttl-03 .ttl-en {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01.ttl-03 .ttl-en {
    margin-top: 0;
  }
}
.c-ttl__h2-01 .ttl-jp {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01 .ttl-jp {
    font-size: calc(60 / 750 * 100vw);
  }
}
.c-ttl__h2-01 .ttl-en {
  font-family: "Roboto", sans-serif;
  color: #B3CEC8;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .c-ttl__h2-01 .ttl-en {
    font-size: calc(24 / 750 * 100vw);
  }
}

.p-top__program-inner .c-ttl__h2-01.ttl-02 {
  margin-bottom: 20px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-top__program-inner .c-ttl__h2-01.ttl-02 {
    margin-bottom: calc(70 / 750 * 100vw);
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .p-top__program-inner .c-ttl__h2-01.ttl-02 .ttl-jp {
    letter-spacing: 0.11em;
  }
}

.c-ttl__h3-01 {
  font-family: "Noto Serif JP", serif;
}
.c-ttl__h3-01.ttl-01 {
  font-size: 2.2rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-ttl__h3-01.ttl-01 {
    font-size: calc(44 / 750 * 100vw);
  }
}
.c-ttl__h3-01.ttl-02 {
  font-size: calc(30 / 1220 * 100vw);
  letter-spacing: 0.13em;
  line-height: 1.3;
}
@media screen and (min-width: 1220px) {
  .c-ttl__h3-01.ttl-02 {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl__h3-01.ttl-02 {
    font-size: calc(60 / 750 * 100vw);
  }
}

.c-ttl-01 {
  margin-bottom: 40px;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  letter-spacing: 0.2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-ttl-01 {
    margin-bottom: calc(60 / 750 * 100vw);
    font-size: calc(40 / 750 * 100vw);
  }
}

.c-editor__content.c-editor-cms h2,
.c-ttl-02 {
  border-top: 2px solid #B3CEC8;
  border-bottom: 2px solid #B3CEC8;
  margin-bottom: 35px;
  padding: 11px 0;
  font-size: 2.4rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms h2,
.c-ttl-02 {
    font-size: calc(32 / 750 * 100vw);
    margin-bottom: calc(50 / 750 * 100vw);
    padding: calc(16 / 750 * 100vw) 0;
  }
}
.c-editor__content.c-editor-cms h2.c-ttl-link a,
.c-ttl-02.c-ttl-link a {
  display: flex;
  align-items: flex-end;
}
.c-editor__content.c-editor-cms h2.c-ttl-link span,
.c-ttl-02.c-ttl-link span {
  padding-right: 20px;
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms h2.c-ttl-link span,
.c-ttl-02.c-ttl-link span {
    padding-right: calc(30 / 750 * 100vw);
  }
}
.c-editor__content.c-editor-cms h2.c-ttl-link span::after,
.c-ttl-02.c-ttl-link span::after {
  border-top: 3px solid #C2BD6E;
  border-right: 3px solid #C2BD6E;
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  top: calc(50% + 3px);
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms h2.c-ttl-link span::after,
.c-ttl-02.c-ttl-link span::after {
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    top: calc(50% + (2 / 750 * 100vw));
  }
}
@media screen and (min-width: 768px) {
  .c-editor__content.c-editor-cms h2.c-ttl-link span:hover,
.c-ttl-02.c-ttl-link span:hover {
    color: #C3B071;
  }
}

.c-editor__content.c-editor-cms h3,
.c-ttl-03 {
  margin-bottom: 20px;
  padding-left: 30px;
  font-size: 2rem;
  letter-spacing: 0.15em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms h3,
.c-ttl-03 {
    font-size: calc(30 / 750 * 100vw);
    margin-bottom: calc(30 / 750 * 100vw);
    padding-left: calc(50 / 750 * 100vw);
  }
}
.c-editor__content.c-editor-cms h3::before,
.c-ttl-03::before {
  background: #B3CEC8;
  border-radius: 50%;
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms h3::before,
.c-ttl-03::before {
    width: calc(30 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
    top: calc(10 / 750 * 100vw);
  }
}
.c-editor__content.c-editor-cms h3.no-before,
.c-ttl-03.no-before {
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms h3.no-before,
.c-ttl-03.no-before {
    padding-left: 0;
  }
}
.c-editor__content.c-editor-cms h3.no-before::before,
.c-ttl-03.no-before::before {
  display: none;
}

.c-editor__content.c-editor-cms h4,
.c-ttl-04 {
  margin-bottom: 10px;
  font-size: 1.8rem;
  color: #C3B071;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms h4,
.c-ttl-04 {
    margin-bottom: calc(30 / 750 * 100vw);
    font-size: calc(28 / 750 * 100vw);
  }
}

.c-ttl-05 {
  border-bottom: 2px solid #D9D9D9;
  margin-bottom: 30px;
  padding-bottom: 10px;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-ttl-05 {
    margin-bottom: calc(50 / 750 * 100vw);
    padding-bottom: calc(20 / 750 * 100vw);
    font-size: calc(40 / 750 * 100vw);
  }
}
.c-ttl-05.c-ttl-link {
  display: flex;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-ttl-05.c-ttl-link:hover {
    color: #C2BD6E;
    cursor: pointer;
  }
}
.c-ttl-05.c-ttl-link a {
  display: flex;
  align-items: flex-end;
}
.c-ttl-05.c-ttl-link span {
  padding-right: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-ttl-05.c-ttl-link span {
    padding-right: calc(50 / 750 * 100vw);
  }
}
.c-ttl-05.c-ttl-link span::after {
  border-top: 3px solid #C2BD6E;
  border-right: 3px solid #C2BD6E;
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  top: calc(50% + 3px);
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-ttl-05.c-ttl-link span::after {
    width: calc(24 / 750 * 100vw);
    height: calc(24 / 750 * 100vw);
    top: calc(50% + (6 / 750 * 100vw));
  }
}

.c-sitemap-box .c-ttl-05 {
  margin-bottom: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-sitemap-box .c-ttl-05 {
    margin-bottom: calc(20 / 750 * 100vw);
    padding-bottom: calc(10 / 750 * 100vw);
    font-size: calc(36 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-sitemap-box .c-ttl-05.c-ttl-link {
    padding-right: 0;
    right: 0;
  }
}
.c-sitemap-box .c-ttl-05.c-ttl-link::after {
  top: calc(50% + 2px);
}

.c-ttl__bg-01,
.c-ttl__bg-02 {
  min-height: 350px;
  margin-bottom: 90px;
  padding: 140px 0;
  text-align: center;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-ttl__bg-01,
.c-ttl__bg-02 {
    min-height: calc(752 / 750 * 100vw);
    margin-bottom: calc(160 / 750 * 100vw);
    padding: calc(100 / 750 * 100vw) 0;
  }
}
.c-ttl__bg-01 .ttl-item span,
.c-ttl__bg-02 .ttl-item span {
  background: #B3CEC8;
  border-radius: 5px;
  max-width: 1000px;
  padding: 4px 40px;
  font-family: "Noto Serif JP", serif;
  font-size: 3.5rem;
  letter-spacing: 0.15em;
  color: #fff;
  text-align: center;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .c-ttl__bg-01 .ttl-item span,
.c-ttl__bg-02 .ttl-item span {
    max-width: 90%;
    padding: calc(12 / 750 * 100vw) calc(60 / 750 * 100vw);
    font-size: calc(44 / 750 * 100vw);
  }
}

.c-ttl__bg-01 {
  background: url(/assets/img/bg/bg-h-01.jpg) no-repeat 50% 50%;
  background-size: cover;
}

.c-ttl__bg-02 {
  background: url(/assets/img/bg/bg-h-02.jpg) no-repeat 50% 50%;
  background-size: cover;
}

/*========================================
  list
========================================*/
.c-list__dotted,
.c-list__num-01,
.c-list__num-02,
.c-link__list-after,
.c-link__list-before {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-list__dotted,
.c-list__num-01,
.c-list__num-02,
.c-link__list-after,
.c-link__list-before {
    font-size: calc(28 / 750 * 100vw);
  }
}
.c-list__dotted li:nth-child(n+2),
.c-list__num-01 li:nth-child(n+2),
.c-list__num-02 li:nth-child(n+2),
.c-link__list-after li:nth-child(n+2),
.c-link__list-before li:nth-child(n+2) {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-list__dotted li:nth-child(n+2),
.c-list__num-01 li:nth-child(n+2),
.c-list__num-02 li:nth-child(n+2),
.c-link__list-after li:nth-child(n+2),
.c-link__list-before li:nth-child(n+2) {
    margin-top: calc(10 / 750 * 100vw);
  }
}
.c-list__dotted li a,
.c-list__num-01 li a,
.c-list__num-02 li a,
.c-link__list-after li a,
.c-link__list-before li a {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-list__dotted li a,
.c-list__num-01 li a,
.c-list__num-02 li a,
.c-link__list-after li a,
.c-link__list-before li a {
    font-size: calc(28 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .c-list__dotted li a.u-fs-content-16,
.c-list__num-01 li a.u-fs-content-16,
.c-list__num-02 li a.u-fs-content-16,
.c-link__list-after li a.u-fs-content-16,
.c-link__list-before li a.u-fs-content-16 {
    font-size: 1.6rem;
  }
}
.c-list__dotted li ol,
.c-list__dotted li ul,
.c-list__num-01 li ol,
.c-list__num-01 li ul,
.c-list__num-02 li ol,
.c-list__num-02 li ul,
.c-link__list-after li ol,
.c-link__list-after li ul,
.c-link__list-before li ol,
.c-link__list-before li ul {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-list__dotted li ol,
.c-list__dotted li ul,
.c-list__num-01 li ol,
.c-list__num-01 li ul,
.c-list__num-02 li ol,
.c-list__num-02 li ul,
.c-link__list-after li ol,
.c-link__list-after li ul,
.c-link__list-before li ol,
.c-link__list-before li ul {
    margin-top: calc(10 / 750 * 100vw);
  }
}
.c-list__dotted .list-row,
.c-list__num-01 .list-row,
.c-list__num-02 .list-row,
.c-link__list-after .list-row,
.c-link__list-before .list-row {
  display: flex;
}
.c-list__dotted .list-row li,
.c-list__num-01 .list-row li,
.c-list__num-02 .list-row li,
.c-link__list-after .list-row li,
.c-link__list-before .list-row li {
  margin-left: 0;
}
.c-list__dotted .list-row li:nth-child(n+2),
.c-list__num-01 .list-row li:nth-child(n+2),
.c-list__num-02 .list-row li:nth-child(n+2),
.c-link__list-after .list-row li:nth-child(n+2),
.c-link__list-before .list-row li:nth-child(n+2) {
  margin-top: 0;
  margin-left: 40px;
}
@media screen and (max-width: 767px) {
  .c-list__dotted .list-row li:nth-child(n+2),
.c-list__num-01 .list-row li:nth-child(n+2),
.c-list__num-02 .list-row li:nth-child(n+2),
.c-link__list-after .list-row li:nth-child(n+2),
.c-link__list-before .list-row li:nth-child(n+2) {
    margin-left: calc(80 / 750 * 100vw);
  }
}
.c-list__dotted .text-small,
.c-list__num-01 .text-small,
.c-list__num-02 .text-small,
.c-link__list-after .text-small,
.c-link__list-before .text-small {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-list__dotted .text-small,
.c-list__num-01 .text-small,
.c-list__num-02 .text-small,
.c-link__list-after .text-small,
.c-link__list-before .text-small {
    font-size: calc(24 / 750 * 100vw);
  }
}

.c-editor__content.c-editor-cms ul > li,
.c-list__dotted > li,
.c-list__dotted ul > li {
  padding-left: 25px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms ul > li,
.c-list__dotted > li,
.c-list__dotted ul > li {
    padding-left: calc(36 / 750 * 100vw);
  }
}
.c-editor__content.c-editor-cms ul > li::before,
.c-list__dotted > li::before,
.c-list__dotted ul > li::before {
  background: #B3CEC8;
  border-radius: 50%;
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
  top: 12px;
  left: 8px;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms ul > li::before,
.c-list__dotted > li::before,
.c-list__dotted ul > li::before {
    width: calc(12 / 750 * 100vw);
    height: calc(12 / 750 * 100vw);
    top: calc(16 / 750 * 100vw);
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .c-editor__content.c-editor-cms ul a:hover,
.c-list__dotted a:hover,
.c-list__dotted ul a:hover {
    color: #C3B071;
  }
}

.c-link__list-after ul,
.c-link__list-after ol,
.c-link__list-before ul,
.c-link__list-before ol {
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .c-link__list-after ul,
.c-link__list-after ol,
.c-link__list-before ul,
.c-link__list-before ol {
    margin-left: calc(30 / 750 * 100vw);
  }
}

.c-editor__content.c-editor-cms ol > li,
.c-list__num-01 > li,
.c-list__num-02 > li {
  padding-left: 25px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms ol > li,
.c-list__num-01 > li,
.c-list__num-02 > li {
    padding-left: calc(40 / 750 * 100vw);
  }
}
.c-editor__content.c-editor-cms ol > li::before,
.c-list__num-01 > li::before,
.c-list__num-02 > li::before {
  font-weight: normal;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .c-editor__content.c-editor-cms ol a:hover,
.c-list__num-01 a:hover,
.c-list__num-02 a:hover {
    color: #C3B071;
  }
}

.c-editor__content.c-editor-cms ol,
.c-list__num-01 {
  counter-reset: num-01;
}
.c-editor__content.c-editor-cms ol > li::before,
.c-list__num-01 > li::before {
  color: #B3CEC8;
  counter-increment: num-01;
  content: counter(num-01) ".";
}

.c-list__num-02 {
  counter-reset: num-02;
}
.c-list__num-02 > li::before {
  counter-increment: num-02;
  content: counter(num-02) ".";
}

.c-editor__content.c-editor-cms ol > li li::before {
  color: inherit;
}

.c-link__list-after li > a,
p.c-link__list-after a {
  padding-right: 12px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-link__list-after li > a,
p.c-link__list-after a {
    padding-right: calc(18 / 750 * 100vw);
  }
}
.c-link__list-after li > a::after,
p.c-link__list-after a::after {
  border-top: 2px solid #C3B071;
  border-right: 2px solid #C3B071;
  content: "";
  width: 7px;
  height: 7px;
  display: block;
  position: absolute;
  bottom: 8px;
  right: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-link__list-after li > a::after,
p.c-link__list-after a::after {
    width: calc(14 / 750 * 100vw);
    height: calc(14 / 750 * 100vw);
    bottom: calc(10 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .c-link__list-after li > a:hover,
p.c-link__list-after a:hover {
    color: #C3B071;
  }
}

.c-link__list-before li > a,
p.c-link__list-before a {
  padding-left: 18px;
  display: block;
  position: relative;
}
.c-link__list-before li > a::before,
p.c-link__list-before a::before {
  border-top: 2px solid #C3B071;
  border-right: 2px solid #C3B071;
  content: "";
  width: 7px;
  height: 7px;
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-link__list-before li > a::before,
p.c-link__list-before a::before {
    width: calc(14 / 750 * 100vw);
    height: calc(14 / 750 * 100vw);
    top: calc(10 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .c-link__list-before li > a:hover,
p.c-link__list-before a:hover {
    color: #C3B071;
  }
}

/*========================================
  table
========================================*/
.c-editor__content.c-editor-cms table,
.c-table {
  border: 2px solid #707070;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms table,
.c-table {
    border-width: 1px;
  }
}
.c-editor__content.c-editor-cms table th,
.c-editor__content.c-editor-cms table td,
.c-table th,
.c-table td {
  padding: 15px;
  font-size: 1.8rem;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms table th,
.c-editor__content.c-editor-cms table td,
.c-table th,
.c-table td {
    padding: calc(20 / 750 * 100vw) calc(16 / 750 * 100vw);
    font-size: calc(22 / 750 * 100vw);
  }
}
.c-editor__content.c-editor-cms table th.item-center,
.c-editor__content.c-editor-cms table td.item-center,
.c-table th.item-center,
.c-table td.item-center {
  text-align: center;
}
.c-editor__content.c-editor-cms table th.item-left,
.c-editor__content.c-editor-cms table td.item-left,
.c-table th.item-left,
.c-table td.item-left {
  text-align: left;
}
.c-editor__content.c-editor-cms table th.item-right,
.c-editor__content.c-editor-cms table td.item-right,
.c-table th.item-right,
.c-table td.item-right {
  text-align: right;
}
.c-editor__content.c-editor-cms table th.item-top,
.c-editor__content.c-editor-cms table td.item-top,
.c-table th.item-top,
.c-table td.item-top {
  vertical-align: top;
}
.c-editor__content.c-editor-cms table th.item-bottom,
.c-editor__content.c-editor-cms table td.item-bottom,
.c-table th.item-bottom,
.c-table td.item-bottom {
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms table th a,
.c-editor__content.c-editor-cms table th .c-list__dotted,
.c-editor__content.c-editor-cms table th .c-list__num-01,
.c-editor__content.c-editor-cms table th .c-list__num-02,
.c-editor__content.c-editor-cms table th .c-link__list-after,
.c-editor__content.c-editor-cms table th .c-link__list-before,
.c-editor__content.c-editor-cms table td a,
.c-editor__content.c-editor-cms table td .c-list__dotted,
.c-editor__content.c-editor-cms table td .c-list__num-01,
.c-editor__content.c-editor-cms table td .c-list__num-02,
.c-editor__content.c-editor-cms table td .c-link__list-after,
.c-editor__content.c-editor-cms table td .c-link__list-before,
.c-table th a,
.c-table th .c-list__dotted,
.c-table th .c-list__num-01,
.c-table th .c-list__num-02,
.c-table th .c-link__list-after,
.c-table th .c-link__list-before,
.c-table td a,
.c-table td .c-list__dotted,
.c-table td .c-list__num-01,
.c-table td .c-list__num-02,
.c-table td .c-link__list-after,
.c-table td .c-link__list-before {
    font-size: calc(22 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms table th .c-list__dotted > li,
.c-editor__content.c-editor-cms table th .c-list__dotted ul > li,
.c-editor__content.c-editor-cms table td .c-list__dotted > li,
.c-editor__content.c-editor-cms table td .c-list__dotted ul > li,
.c-table th .c-list__dotted > li,
.c-table th .c-list__dotted ul > li,
.c-table td .c-list__dotted > li,
.c-table td .c-list__dotted ul > li {
    padding-left: calc(18 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms table th .c-list__dotted > li::before,
.c-editor__content.c-editor-cms table th .c-list__dotted ul > li::before,
.c-editor__content.c-editor-cms table td .c-list__dotted > li::before,
.c-editor__content.c-editor-cms table td .c-list__dotted ul > li::before,
.c-table th .c-list__dotted > li::before,
.c-table th .c-list__dotted ul > li::before,
.c-table td .c-list__dotted > li::before,
.c-table td .c-list__dotted ul > li::before {
    width: calc(8 / 750 * 100vw);
    height: calc(8 / 750 * 100vw);
    top: calc(14 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms table th .c-icon-pdf,
.c-editor__content.c-editor-cms table th .c-icon-other,
.c-editor__content.c-editor-cms table td .c-icon-pdf,
.c-editor__content.c-editor-cms table td .c-icon-other,
.c-table th .c-icon-pdf,
.c-table th .c-icon-other,
.c-table td .c-icon-pdf,
.c-table td .c-icon-other {
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    margin-left: calc(6 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-editor__content.c-editor-cms table th .c-icon-word,
.c-editor__content.c-editor-cms table th .c-icon-excel,
.c-editor__content.c-editor-cms table td .c-icon-word,
.c-editor__content.c-editor-cms table td .c-icon-excel,
.c-table th .c-icon-word,
.c-table th .c-icon-excel,
.c-table td .c-icon-word,
.c-table td .c-icon-excel {
    width: calc(30 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
    margin-left: calc(6 / 750 * 100vw);
  }
}
.c-editor__content.c-editor-cms table th,
.c-table th {
  background: #D5F0EC;
  border-bottom: 1px solid #707070;
  border-right: 1px solid #707070;
  font-weight: 400;
  word-break: keep-all;
}
.c-editor__content.c-editor-cms table td,
.c-table td {
  border-bottom: 1px solid #707070;
  border-right: 1px solid #707070;
  text-align: center;
  word-break: break-all;
}

.en .c-table td {
  word-break: keep-all;
}

.c-table-2color tr:nth-child(1) th {
  background: #B3CEC8;
  border-bottom: none;
  color: #fff;
}
.c-table-2color tr:nth-child(n+2) th {
  border-bottom: 1px solid #707070;
}

@media screen and (max-width: 767px) {
  .c-table-sp__scroll {
    border-bottom: none;
    display: block;
    overflow-x: scroll;
  }
}
@media screen and (max-width: 767px) {
  .c-table-sp__scroll th {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .c-table-sp__scroll td {
    word-break: keep-all;
  }
}

@media screen and (min-width: 768px) {
  .c-table-sp__notes {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .c-table-sp__notes {
    margin-bottom: 5px;
    font-size: calc(24 / 750 * 100vw);
  }
}

.c-table-left th,
.c-table-left td {
  text-align: left;
}
.c-table-left-th th {
  text-align: left;
}
.c-table-left-td td {
  text-align: left;
}

.c-table-right th,
.c-table-right td {
  text-align: right;
}
.c-table-right-th th {
  text-align: right;
}
.c-table-right-td td {
  text-align: right;
}

.c-table-keepall {
  word-break: keep-all;
}
.c-table-keepall-td td {
  word-break: keep-all;
}

@media screen and (min-width: 768px) {
  .p-officer-classification.c-table th,
.p-officer-classification.c-table td,
.nyusi .p-kakomon1__table.c-table th,
.nyusi .p-kakomon1__table.c-table td {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  .p-officer-classification.c-table th,
.nyusi .p-kakomon1__table.c-table th {
    padding: 15px 3px;
    word-break: break-all;
  }
}

@media screen and (min-width: 768px) {
  .p-officer-classification.c-table td {
    padding: 15px 0;
  }
}

@media screen and (min-width: 768px) {
  .en .p-officer-classification.c-table th,
.en .p-officer-classification.c-table td {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .en .p-officer-classification.c-table th {
    word-break: keep-all;
  }
}

@media screen and (min-width: 768px) {
  .nyusi .p-kakomon1__table.c-table th,
.nyusi .p-kakomon1__table.c-table td,
.nyusi .p-kakomon1__table.c-table li,
.nyusi .p-kakomon1__table.c-table a {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .nyusi .p-kakomon1__table.c-table td {
    padding: 15px 10px;
  }
}
@media screen and (max-width: 767px) {
  .nyusi .p-kakomon1__table.c-table li,
.nyusi .p-kakomon1__table.c-table a {
    font-size: calc(22 / 750 * 100vw);
  }
}
.nyusi .p-kakomon1__table.c-table .w-01 {
  width: 17%;
}
.nyusi .p-kakomon1__table.c-table .w-02 {
  width: 18%;
}
.nyusi .p-kakomon1__table.c-table .w-03,
.nyusi .p-kakomon1__table.c-table .w-04,
.nyusi .p-kakomon1__table.c-table .w-05,
.nyusi .p-kakomon1__table.c-table .w-06,
.nyusi .p-kakomon1__table.c-table .w-07 {
  width: 13%;
}
.nyusi .p-nyusi4__table .w-01 {
  width: 67%;
}
.nyusi .p-nyusi4__table .w-02 {
  width: 33%;
}

.intro .p-recruit__table-01 .w-01 {
  width: 12%;
}
.intro .p-recruit__table-01 .w-02,
.intro .p-recruit__table-01 .w-03 {
  width: 14%;
}
.intro .p-recruit__table-01 .w-04 {
  width: 25%;
}
.intro .p-recruit__table-01 .w-05 {
  width: 15%;
}
.intro .p-recruit__table-01 .w-06 {
  width: 20%;
}
.intro .p-recruit__table-02 .w-01,
.intro .p-recruit__table-02 .w-04 {
  width: 16%;
}
.intro .p-recruit__table-02 .w-02,
.intro .p-recruit__table-02 .w-03 {
  width: 24%;
}
.intro .p-recruit__table-02 .w-05 {
  width: 20%;
}

.nyusi .p-daigakuinnittei__table-01 .w-01 {
  width: 37%;
}
.nyusi .p-daigakuinnittei__table-01 .w-02 {
  width: 22%;
}
.nyusi .p-daigakuinnittei__table-01 .w-03 {
  width: 20%;
}
.nyusi .p-daigakuinnittei__table-01 .w-04 {
  width: 20%;
}
.nyusi .p-daigakuinnittei__table-02 .w-01 {
  width: 40%;
}
.nyusi .p-daigakuinnittei__table-02 .w-02,
.nyusi .p-daigakuinnittei__table-02 .w-03 {
  width: 30%;
}

.c-table__cms-box {
  width: 100%;
}
.c-table__cms-box th, .c-table__cms-box td {
  border: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .c-table__cms-box th, .c-table__cms-box td {
    font-size: calc(30 / 750 * 100vw);
  }
}
.c-table__cms-box th {
  background: #B3CEC8;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}
.c-table__cms-box a {
  color: #C3B071;
  text-decoration: underline;
}
.c-table__cms-box .box-01 {
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  word-break: keep-all;
}
@media screen and (max-width: 767px) {
  .c-table__cms-box .box-01 {
    padding: calc(16 / 750 * 100vw);
  }
}
.c-table__cms-box .box-col {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-table__cms-box .box-col::before, .c-table__cms-box .box-col::after {
    background: #707070;
    content: "";
    width: 1px;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-table__cms-box .box-col .box-title-02,
.c-table__cms-box .box-col .box-title-03,
.c-table__cms-box .box-col .box-text-02,
.c-table__cms-box .box-col .box-text-03 {
    position: relative;
  }
  .c-table__cms-box .box-col .box-title-02::before,
.c-table__cms-box .box-col .box-title-03::before,
.c-table__cms-box .box-col .box-text-02::before,
.c-table__cms-box .box-col .box-text-03::before {
    background: #707070;
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box .box-col-inner {
    display: flex;
    position: relative;
    overflow-wrap: break-word;
  }
}
.c-table__cms-box .box-title-01,
.c-table__cms-box .box-title-02 {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-table__cms-box .box-title-01,
.c-table__cms-box .box-title-02,
.c-table__cms-box .box-title-03,
.c-table__cms-box .box-text-01,
.c-table__cms-box .box-text-02,
.c-table__cms-box .box-text-03 {
  padding: 0.7em 1em;
}
.c-table__cms-box.cms-event-cal .box-01 {
  width: 65px;
}
@media screen and (max-width: 767px) {
  .c-table__cms-box.cms-event-cal .box-01 {
    width: calc(90 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-table__cms-box.cms-event-cal .box-col {
    width: calc(100% - (90 / 750 * 100vw));
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-event-cal .box-col::before {
    left: calc(459 / 830 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-event-cal .box-col::after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-event-cal .box-title-01,
.c-table__cms-box.cms-event-cal .box-text-01 {
    width: calc(460 / 830 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-event-cal .box-title-02,
.c-table__cms-box.cms-event-cal .box-text-02 {
    width: calc(370 / 830 * 100%);
  }
}
.c-table__cms-box.cms-media .box-01 {
  width: 120px;
}
@media screen and (max-width: 767px) {
  .c-table__cms-box.cms-media .box-01 {
    width: calc(180 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-table__cms-box.cms-media .box-col {
    width: calc(100% - (180 / 750 * 100vw));
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-media .box-col::before {
    left: calc(699 / 840 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-media .box-col::after {
    display: none;
  }
}
.c-table__cms-box.cms-media .box-col-inner {
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-media .box-title-01,
.c-table__cms-box.cms-media .box-text-01 {
    width: calc(700 / 840 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-media .box-title-02,
.c-table__cms-box.cms-media .box-text-02 {
    width: calc(140 / 840 * 100%);
  }
}
.c-table__cms-box.cms-media .box-text-02 {
  text-align: center;
}
.c-table__cms-box.cms-prize .box-01 {
  width: 110px;
}
@media screen and (max-width: 767px) {
  .c-table__cms-box.cms-prize .box-01 {
    width: calc(180 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-table__cms-box.cms-prize .box-col {
    width: calc(100% - (180 / 750 * 100vw));
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-prize .box-col::before {
    left: calc(189 / 850 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-prize .box-col::after {
    left: calc(349 / 850 * 100%);
  }
}
.c-table__cms-box.cms-prize .box-col-inner {
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-prize .box-title-01,
.c-table__cms-box.cms-prize .box-text-01 {
    width: calc(190 / 850 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-prize .box-title-02,
.c-table__cms-box.cms-prize .box-text-02 {
    width: calc(160 / 850 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-table__cms-box.cms-prize .box-title-03,
.c-table__cms-box.cms-prize .box-text-03 {
    width: calc(500 / 850 * 100%);
  }
}

/*========================================
  tab
========================================*/
.c-tablist {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .c-tablist {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(20 / 750 * 100vw) calc(14 / 750 * 100vw);
  }
}
.c-tablist .tab,
.c-tablist .tab-link {
  background: none;
  border: 1px solid #B3CEC8;
  border-radius: 20px;
  padding: 5px 2px;
  font-size: 1.5rem;
  color: #B3CEC8;
  letter-spacing: 0.1em;
  text-align: center;
  display: block;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-tablist .tab,
.c-tablist .tab-link {
    border-radius: calc(44 / 750 * 100vw);
    padding: calc(18 / 750 * 100vw) 2px;
    font-size: calc(30 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .c-tablist .tab:hover,
.c-tablist .tab-link:hover {
    background: #B3CEC8;
    color: #fff;
    cursor: pointer;
  }
}
.c-tablist .tab.js-active,
.c-tablist .tab-link.js-active {
  background: #B3CEC8;
  color: #fff;
}
.c-tablist.list-category {
  margin-bottom: 30px;
}

.c-tabpanel {
  height: 300px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .c-tabpanel {
    height: calc(960 / 750 * 100vw);
    margin-top: calc(50 / 750 * 100vw);
  }
}
.c-tabpanel .panel-inner {
  width: calc(100% - 30px);
}
@media screen and (max-width: 767px) {
  .c-tabpanel .panel-inner {
    width: calc(100% - (30 / 750 * 100vw));
  }
}
.c-tabpanel .panel {
  display: none;
}
.c-tabpanel .panel.js-show {
  display: block;
}

.c-tabpanel__top {
  width: 100%;
  height: 515px;
}
@media screen and (max-width: 767px) {
  .c-tabpanel__top {
    height: calc(1330 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .c-tabpanel__top.js-top-pc {
    height: 515px;
  }
}

.c-tabpanel__iframe {
  width: 100%;
  height: 300px;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-tabpanel__iframe {
    height: calc(960 / 750 * 100vw);
    margin-top: calc(20 / 750 * 100vw);
  }
}

/*========================================
  リンク
========================================*/
.c-item-link {
  padding-right: 13px;
  font-size: 1.2rem;
  display: inline-block;
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-item-link {
    padding-right: calc(36 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
  }
}
.c-item-link::after {
  border-top: 2px solid #2F2F2F;
  border-right: 2px solid #2F2F2F;
  content: "";
  width: 7px;
  height: 7px;
  display: block;
  position: absolute;
  top: calc(50% - 3px);
  right: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-item-link::after {
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    top: calc(50% - calc(8 / 750 * 100vw));
  }
}
@media screen and (min-width: 768px) {
  .c-item-link:hover {
    color: #B3CEC8;
  }
}
@media screen and (min-width: 768px) {
  .c-item-link:hover::after {
    border-top-color: #B3CEC8;
    border-right-color: #B3CEC8;
  }
}
.c-item-link.item-large {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-item-link.item-large {
    font-size: calc(30 / 750 * 100vw);
    display: block;
  }
}

.c-item-link__yellow {
  padding-right: 12px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-item-link__yellow {
    font-size: calc(30 / 750 * 100vw);
    padding-right: calc(40 / 750 * 100vw);
  }
}
.c-item-link__yellow::after {
  border-top: 2px solid #C3B071;
  border-right: 2px solid #C3B071;
  content: "";
  width: 7px;
  height: 7px;
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-item-link__yellow::after {
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    top: calc(50% - calc(6 / 750 * 100vw));
  }
}
@media screen and (min-width: 768px) {
  .c-item-link__yellow:hover {
    color: #C3B071;
  }
}

.p-top__features-colbox .item-text-box .c-item-link {
  display: block;
}

.c-graduate__system .c-item-link__yellow:after {
  border-top-width: 3px;
  border-right-width: 3px;
  width: 12px;
  height: 12px;
  top: calc(50% - 4px);
  right: 0;
}
@media screen and (max-width: 767px) {
  .c-graduate__system .c-item-link__yellow:after {
    width: calc(24 / 750 * 100vw);
    height: calc(24 / 750 * 100vw);
    top: calc(50% - (10 / 750 * 100vw));
  }
}

.c-link__bnr-item {
  width: calc(580 / 1220 * 100%);
  max-width: 580px;
}
@media screen and (max-width: 767px) {
  .c-link__bnr-item {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .c-link__bnr-item:nth-child(n+3) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .c-link__bnr-item:nth-child(n+2) {
    margin-top: calc(60 / 750 * 100vw);
  }
}
.c-link__bnr-link {
  display: block;
}
@media screen and (min-width: 768px) {
  .c-link__bnr-link:hover img {
    opacity: 0.7;
    transition: 0.3s;
  }
}
.c-link__bnr-link .bnr-pict {
  width: 100%;
  height: calc(250 / 580 * 100%);
  object-fit: cover;
  font-family: "object-fit: cover";
}
@media screen and (max-width: 767px) {
  .c-link__bnr-link .bnr-pict {
    height: calc(288 / 750 * 100vw);
  }
}
.c-link__bnr-link .item-text {
  margin-top: 10px;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-link__bnr-link .item-text {
    margin-top: calc(10 / 750 * 100vw);
    font-size: calc(36 / 750 * 100vw);
  }
}

.c-link__bnr-bg-item {
  width: calc(580 / 1220 * 100%);
  max-width: 580px;
}
@media screen and (max-width: 767px) {
  .c-link__bnr-bg-item {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .c-link__bnr-bg-item:nth-child(n+3) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .c-link__bnr-bg-item:nth-child(n+2) {
    margin-top: calc(60 / 750 * 100vw);
  }
}
.c-link__bnr-bg-link {
  display: block;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-link__bnr-bg-link:hover {
    opacity: 0.7;
  }
}
.c-link__bnr-bg-link .item-bg-pict {
  box-shadow: 40px 46px 0 0 rgba(179, 206, 200, 0.5);
  width: calc(540 / 580 * 100%);
  height: calc(250 / 580 * 100%);
  object-fit: cover;
  font-family: "object-fit: cover";
}
@media screen and (max-width: 767px) {
  .c-link__bnr-bg-link .item-bg-pict {
    box-shadow: calc(44 / 750 * 100vw) calc(52 / 750 * 100vw) 0 0 rgba(179, 206, 200, 0.5);
    width: calc(620 / 670 * 100%);
    height: calc(290 / 750 * 100vw);
  }
}
.c-link__bnr-bg-link .item-bg-text {
  margin: 24px 40px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  line-height: 1.4;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .c-link__bnr-bg-link .item-bg-text {
    margin: calc(26 / 750 * 100vw) calc(44 / 750 * 100vw) 0 0;
    font-size: calc(36 / 750 * 100vw);
  }
}
.c-link__bnr-bg-link .item-bg-text .text-small {
  font-size: 2.3rem;
}
@media screen and (max-width: 767px) {
  .c-link__bnr-bg-link .item-bg-text .text-small {
    font-size: calc(28 / 750 * 100vw);
  }
}

.no-click {
  pointer-events: none;
}

/*========================================
  テキスト装飾
========================================*/
.c-text-yellow {
  color: #C3B071;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .c-text-yellow:hover {
    text-decoration: none;
  }
}
.c-text-yellow-nounder {
  color: #C3B071;
}

.c-text-red {
  color: #FF3B3B;
}

.c-text-red-02 {
  color: #FF0000;
}

.c-text-green {
  color: #468590;
}

.c-text-green-light {
  color: #B3CEC8;
}

.c-text-blue {
  color: #1313C4;
}

.c-text-bold {
  font-weight: 700;
}

.c-text-owrap {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.c-text-keepall {
  word-break: keep-all;
}

.c-text-nowrap {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .c-hover-yellow:hover {
    color: #C3B071;
  }
}

.c-text-through {
  text-decoration: line-through;
}

.c-text-small {
  font-size: 80%;
}

.c-text-bg-red01 {
  background: #FDE8E8;
}

.c-text-bg-green01 {
  background: #D5F0EC;
}

/*========================================
  sitemap
========================================*/
.c-sitemap__col--1 {
  border-radius: 10px;
  width: 100%;
  padding: 25px 30px 10px;
}
@media screen and (max-width: 767px) {
  .c-sitemap__col--1 {
    padding: calc(30 / 750 * 100vw) calc(40 / 750 * 100vw) calc(10 / 750 * 100vw);
  }
}

.c-sitemap__col--2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .c-sitemap__col--2 {
    display: block;
  }
}
.c-sitemap__col--2 .c-sitemap-item {
  border-radius: 10px;
  width: calc(600 / 1220 * 100%);
  max-width: 600px;
  padding: 20px 30px 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-sitemap__col--2 .c-sitemap-item {
    width: 100%;
    max-width: none;
    padding: calc(30 / 750 * 100vw) calc(40 / 750 * 100vw) calc(10 / 750 * 100vw);
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .c-sitemap__col--2 .c-sitemap-item:nth-child(n+3) {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .c-sitemap__col--2 .c-sitemap-item:nth-child(n+2) {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.c-sitemap-box:nth-of-type(n + 2) {
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .c-sitemap-box:nth-of-type(n + 2) {
    margin-top: calc(60 / 750 * 100vw);
  }
}

.c-sitemap__list {
  margin: 0 0 5px -80px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-sitemap__list {
    margin: 0;
    display: block;
  }
}
.c-sitemap__list li {
  margin: 0 0 10px 80px;
}
@media screen and (max-width: 767px) {
  .c-sitemap__list li {
    margin: 0 0 calc(20 / 750 * 100vw);
  }
}
.c-sitemap__list .item-link {
  padding-right: 24px;
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-sitemap__list .item-link {
    padding-right: calc(50 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
  }
}
.c-sitemap__list .item-link::after {
  border-top: 3px solid #C2BD6E;
  border-right: 3px solid #C2BD6E;
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  right: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-sitemap__list .item-link::after {
    width: calc(24 / 750 * 100vw);
    height: calc(24 / 750 * 100vw);
    top: calc(50% - (8 / 750 * 100vw));
  }
}
@media screen and (min-width: 768px) {
  .c-sitemap__list .item-link:hover {
    color: #C2BD6E;
  }
}

/*========================================
  box-shadow
========================================*/
.c-box-shadow {
  box-shadow: 0 0 7px 2px rgba(100, 100, 100, 0.16);
}

/*========================================
  graduate
========================================*/
.c-graduate {
  overflow: hidden;
}

.c-graduate__inner {
  padding: 240px 0 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-graduate__inner {
    padding: calc(230 / 750 * 100vw) 0 calc(10 / 750 * 100vw);
  }
}
.c-graduate__inner:nth-child(n+2) {
  margin-top: 68px;
}
@media screen and (max-width: 767px) {
  .c-graduate__inner:nth-child(n+2) {
    margin-top: calc(130 / 750 * 100vw);
  }
}
.c-graduate__inner.graduate-01::before, .c-graduate__inner.graduate-02::before, .c-graduate__inner.graduate-03::before, .c-graduate__inner.graduate-04::before {
  content: "";
  width: calc(100% - (50% - 300px));
  height: 324px;
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .c-graduate__inner.graduate-01::before, .c-graduate__inner.graduate-02::before, .c-graduate__inner.graduate-03::before, .c-graduate__inner.graduate-04::before {
    width: 100%;
    height: calc(270 / 750 * 100vw);
  }
}
.c-graduate__inner.graduate-01::before, .c-graduate__inner.graduate-03::before {
  border-radius: 0 5px 5px 0;
  right: 430px;
}
@media screen and (min-width: 1220px) {
  .c-graduate__inner.graduate-01::before, .c-graduate__inner.graduate-03::before {
    right: calc(50% - 300px);
  }
}
@media screen and (max-width: 767px) {
  .c-graduate__inner.graduate-01::before, .c-graduate__inner.graduate-03::before {
    border-radius: 5px;
    right: 0;
  }
}
.c-graduate__inner.graduate-02::before, .c-graduate__inner.graduate-04::before {
  border-radius: 5px 0 0 5px;
  left: 430px;
}
@media screen and (min-width: 1220px) {
  .c-graduate__inner.graduate-02::before, .c-graduate__inner.graduate-04::before {
    left: calc(50% - 300px);
  }
}
@media screen and (max-width: 767px) {
  .c-graduate__inner.graduate-02::before, .c-graduate__inner.graduate-04::before {
    border-radius: 5px;
    left: 0;
  }
}
.c-graduate__inner.graduate-01::before {
  background: url(/assets/img/bg/bg-graduate-01.jpg) no-repeat 0 0;
  background-size: cover;
}
.c-graduate__inner.graduate-02::before {
  background: url(/assets/img/bg/bg-graduate-02.jpg) no-repeat 100% 0;
  background-size: cover;
}
.c-graduate__inner.graduate-03::before {
  background: url(/assets/img/bg/bg-graduate-03.jpg) no-repeat 0 0;
  background-size: cover;
}
.c-graduate__inner.graduate-04::before {
  background: url(/assets/img/bg/bg-graduate-04.jpg) no-repeat 0 0;
  background-size: cover;
}

.c-graduate__box {
  background: #fff;
  border-radius: 10px;
  width: 90%;
  max-width: 900px;
  min-height: 326px;
  padding: 30px 40px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .c-graduate__box {
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: calc(60 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}
.c-graduate__box.box-right {
  margin-left: auto;
  margin-right: 0;
}

.c-graduate__link {
  margin-left: -10px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-graduate__link {
    margin-left: calc(-12 / 750 * 100vw);
  }
}
.c-graduate__link .item-list {
  margin: 0 10px 10px;
}
@media screen and (max-width: 767px) {
  .c-graduate__link .item-list {
    margin: 0 calc(12 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
}

.c-graduate__list {
  margin: 10px 0;
}
@media screen and (max-width: 767px) {
  .c-graduate__list {
    margin: calc(20 / 750 * 100vw) 0;
  }
}
.c-graduate__list .item-list {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-graduate__list .item-list {
    display: block;
  }
}
.c-graduate__list .item-list:nth-child(n+2) {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-graduate__list .item-list:nth-child(n+2) {
    margin-top: calc(30 / 750 * 100vw);
  }
}
.c-graduate__list .item-list .text-large {
  width: 160px;
  padding-right: 10px;
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-graduate__list .item-list .text-large {
    width: 100%;
    padding-right: 0;
    font-size: calc(36 / 750 * 100vw);
    display: block;
  }
}
.c-graduate__list .item-list .text-small {
  width: calc(100% - 160px);
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-graduate__list .item-list .text-small {
    width: 100%;
    margin-top: calc(10 / 750 * 100vw);
    font-size: calc(28 / 750 * 100vw);
    display: block;
  }
}

.c-graduate__system {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
}
.c-graduate__system .item-list {
  margin: 10px 35px 0 0;
}
@media screen and (max-width: 767px) {
  .c-graduate__system .item-list {
    width: 100%;
    margin: calc(40 / 750 * 100vw) 0 0;
  }
}
.c-graduate__system .item-link {
  padding-right: 24px;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-graduate__system .item-link {
    padding-right: calc(40 / 750 * 100vw);
    font-size: calc(36 / 750 * 100vw);
    line-height: 1.4;
    display: block;
  }
}
.c-graduate__system .item-link .text-medium {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-graduate__system .item-link .text-medium {
    font-size: calc(28 / 750 * 100vw);
  }
}

/*========================================
  SNS
========================================*/
.c-sns {
  margin-top: 80px;
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .c-sns {
    margin-top: calc(120 / 750 * 100vw);
    margin-bottom: calc(120 / 750 * 100vw);
  }
}
.c-sns__list {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-sns__list li:nth-child(n+2) {
  margin-left: 65px;
}
@media screen and (max-width: 767px) {
  .c-sns__list li:nth-child(n+2) {
    margin-left: calc(80 / 750 * 100vw);
  }
}
.c-sns__list .icon-tw {
  width: 45px;
}
@media screen and (max-width: 767px) {
  .c-sns__list .icon-tw {
    width: calc(90 / 750 * 100vw);
  }
}
.c-sns__list .icon-yt {
  width: 45px;
}
@media screen and (max-width: 767px) {
  .c-sns__list .icon-yt {
    width: calc(90 / 750 * 100vw);
  }
}
.c-sns__list .icon-insta {
  width: 40px;
}
@media screen and (max-width: 767px) {
  .c-sns__list .icon-insta {
    width: calc(80 / 750 * 100vw);
  }
}

/*========================================
  Google Map
========================================*/
.c-gmap iframe[src*="www.google.com/maps"] {
  width: 100%;
  height: 400px;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-gmap iframe[src*="www.google.com/maps"] {
    height: calc(600 / 750 * 100vw);
  }
}

/*========================================
  hero
========================================*/
.p-top__hero-info {
  width: 100%;
  display: flex;
}
.p-top__hero-info-ttl {
  background: #b10000;
  width: 242px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-top__hero-info-ttl {
    width: calc(200 / 750 * 100vw);
    padding: calc(16 / 750 * 100vw) 0;
    font-size: calc(32 / 750 * 100vw);
    line-height: 1.4;
    text-align: center;
  }
}
.p-top__hero-info-inner {
  background: #D5F0EC;
  width: 100%;
  padding: 13px 10px;
}
@media screen and (max-width: 767px) {
  .p-top__hero-info-inner {
    padding: calc(12 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
}
.p-top__hero-info-list {
  display: flex;
  flex-wrap: wrap;
}
.p-top__hero-info-list .list-item {
  width: 100%;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-top__hero-info-list .list-item {
    font-size: calc(26 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-top__hero-info-list .list-item a:hover {
    color: #C3B071;
  }
}

.p-top__hero.hero-en .p-top__hero-info.info-en .p-top__hero-info-ttl {
  background: #962399;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-top__hero.hero-en .p-top__hero-info.info-en .p-top__hero-info-ttl {
    font-size: calc(30 / 750 * 100vw);
    line-height: 1.3;
  }
}
.p-top__hero.hero-en .p-top__hero-info.info-en .p-top__hero-info-inner {
  padding: 8px 20px;
}
@media screen and (max-width: 767px) {
  .p-top__hero.hero-en .p-top__hero-info.info-en .p-top__hero-info-inner {
    padding: calc(16 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
}
.p-top__hero.hero-en .p-top__hero-info.info-en .p-top__hero-info-inner .inner-text {
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-top__hero.hero-en .p-top__hero-info.info-en .p-top__hero-info-inner .inner-text {
    font-size: calc(30 / 750 * 100vw);
    line-height: 1.3;
  }
}

/*========================================
  accordion
========================================*/
.c-accordion__contents {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .c-accordion__contents {
    margin-top: calc(40 / 750 * 100vw);
  }
}
.c-accordion__contents:first-child {
  margin-top: 0;
}
.c-accordion__contents:first-child .c-accordion__ttl::after {
  top: calc(50% - 4px);
  transform: rotate(-45deg);
}
.c-accordion__contents:first-child.js-accordion__open .c-accordion__ttl::after {
  top: calc(50% - 8px);
  transform: rotate(135deg);
}
.c-accordion__contents:first-child .c-accordion__text {
  display: block;
}
.c-accordion__contents.js-accordion__open .c-accordion__ttl::after {
  top: calc(50% - 4px);
  transform: rotate(-45deg);
}
.c-accordion__ttl {
  background: #ECF3F1;
  padding: 12px 50px 12px 10px;
  font-size: 2.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-accordion__ttl {
    padding: calc(20 / 750 * 100vw) calc(80 / 750 * 100vw) calc(20 / 750 * 100vw) calc(20 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
  }
}
.c-accordion__ttl::after {
  border-top: 3px solid #C2BD6E;
  border-right: 3px solid #C2BD6E;
  content: "";
  width: 14px;
  height: 14px;
  display: block;
  position: absolute;
  top: calc(50% - 8px);
  right: 15px;
  transform: rotate(135deg);
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-accordion__ttl::after {
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
    right: calc(24 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .c-accordion__ttl:hover {
    cursor: pointer;
  }
}
.c-accordion__text {
  background: #FAFAFA;
  padding: 20px;
  display: none;
}
@media screen and (max-width: 767px) {
  .c-accordion__text {
    padding: calc(30 / 750 * 100vw);
  }
}

/*========================================
  CMS sidebar
========================================*/
.c-sidebar__search {
  margin-bottom: 27px;
}
@media screen and (max-width: 767px) {
  .c-sidebar__search {
    margin-bottom: calc(44 / 750 * 100vw);
  }
}
.c-sidebar__search.search-small {
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .c-sidebar__search.search-small {
    margin-bottom: calc(76 / 750 * 100vw);
  }
}
.c-sidebar__search input[type=search] {
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}
.c-sidebar__search .search-title {
  margin-bottom: 10px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-sidebar__search .search-title {
    margin-bottom: calc(10 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
  }
}
.c-sidebar__search form {
  display: flex;
}
.c-sidebar__search .search-field {
  border: 1px solid #B3CEC8;
  width: calc(100% - 46px);
  padding: 5px 15px;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .c-sidebar__search .search-field.field-small {
    width: calc(100% - 33px);
    padding: 5px;
  }
}
.c-sidebar__search .search-submit {
  background: #B3CEC8;
  width: 46px;
  height: 46px;
}
.c-sidebar__search .search-submit img {
  width: 29px;
  height: 29px;
}
@media screen and (min-width: 768px) {
  .c-sidebar__search .search-submit.submit-small {
    width: 33px;
    height: 39px;
  }
  .c-sidebar__search .search-submit.submit-small img {
    width: 19px;
    height: 19px;
  }
}

.c-sidebar__category .category-icon {
  margin-right: 10px;
  display: block;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .c-sidebar__category .category-icon {
    margin-right: calc(20 / 750 * 100vw);
  }
}
.c-sidebar__category .category-icon img {
  vertical-align: baseline;
}
.c-sidebar__category .list-news .category-icon-01 {
  width: 22px;
  height: 22px;
}
@media screen and (max-width: 767px) {
  .c-sidebar__category .list-news .category-icon-01 {
    width: calc(40 / 750 * 100vw);
    height: calc(40 / 750 * 100vw);
  }
}
.c-sidebar__category .list-news .category-icon-02 {
  width: 22px;
  height: 22px;
}
@media screen and (max-width: 767px) {
  .c-sidebar__category .list-news .category-icon-02 {
    width: calc(40 / 750 * 100vw);
    height: calc(40 / 750 * 100vw);
  }
}
.c-sidebar__category .list-news .category-icon-03 {
  width: 22px;
  height: 22px;
}
@media screen and (max-width: 767px) {
  .c-sidebar__category .list-news .category-icon-03 {
    width: calc(40 / 750 * 100vw);
    height: calc(40 / 750 * 100vw);
  }
}
.c-sidebar__category .list-news .category-icon-04 {
  width: 25px;
  height: 25px;
}
@media screen and (max-width: 767px) {
  .c-sidebar__category .list-news .category-icon-04 {
    width: calc(48 / 750 * 100vw);
    height: calc(48 / 750 * 100vw);
  }
}

.c-sidebar__acc-title {
  padding: 18px 30px 18px 10px;
  font-size: 1.5rem;
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-sidebar__acc-title {
    font-size: calc(30 / 750 * 100vw);
  }
}
.c-sidebar__acc-title::before, .c-sidebar__acc-title::after {
  background: #C3B071;
  content: "";
  width: 12px;
  height: 2px;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  transition: 0.3s;
}
.c-sidebar__acc-title::after {
  transform: translateY(-50%) rotate(90deg);
}
.c-sidebar__acc-title.js-acc-open::after {
  transform: translateY(-50%) rotate(0);
}
@media screen and (min-width: 768px) {
  .c-sidebar__acc-title:hover {
    cursor: pointer;
    color: #C3B071;
  }
}
.c-sidebar__acc-title.ttl-main {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
.c-sidebar__acc-title button {
  background: none;
  padding: 0;
  font-size: 1.5rem;
  color: #646464;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-sidebar__acc-title button {
    font-size: calc(30 / 750 * 100vw);
  }
}

.c-sidebar__list.js-acc-body {
  display: none;
}
.c-sidebar__list .list-link {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-sidebar__list .list-link {
    font-size: calc(28 / 750 * 100vw);
  }
}
.c-sidebar__list .list-link:not(:last-child) {
  border-bottom: 1px dotted #707070;
}

.c-sidebar__list-sub {
  background: #F7FAF9;
  border-top: 1px dotted #707070;
  display: none;
}
.c-sidebar__list-sub li:nth-child(n+2) {
  border-top: 1px solid #E3E3E3;
}
.c-sidebar__list-sub a {
  padding: 11px 12px 11px 20px;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  transition: 0.3s;
}
.c-sidebar__list-sub a::after {
  border-top: 2px solid #C3B071;
  border-right: 2px solid #C3B071;
  content: "";
  width: 8px;
  height: 8px;
  margin-left: auto;
  display: block;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-sidebar__list-sub a::after {
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .c-sidebar__list-sub a:hover {
    color: #C3B071;
  }
}
.c-sidebar__list-sub span {
  width: calc(100% - 10px);
}
@media screen and (max-width: 767px) {
  .c-sidebar__list-sub span {
    width: calc(100% - (30 / 750 * 100vw));
  }
}

.c-sidebar__list.list-news .list-link a {
  padding: 20px 20px 20px 15px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-sidebar__list.list-news .list-link a {
    padding: calc(28 / 750 * 100vw) calc(28 / 750 * 100vw) calc(28 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
}
.c-sidebar__list.list-news .list-link a::after {
  border-top: 2px solid #646464;
  border-right: 2px solid #646464;
  content: "";
  width: 10px;
  height: 10px;
  margin-left: auto;
  display: block;
  flex-shrink: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-sidebar__list.list-news .list-link a::after {
    width: calc(20 / 750 * 100vw);
    height: calc(20 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .c-sidebar__list.list-news .list-link a:hover::after {
    border-top-color: #C3B071;
    border-right-color: #C3B071;
  }
}

/*========================================
  news
========================================*/
.c-news__header {
  margin-bottom: 35px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1em;
}
.c-news__header.news-cms {
  width: calc(770 / 1240 * 100vw);
  max-width: 770px;
}
@media screen and (max-width: 767px) {
  .c-news__header {
    margin-bottom: calc(50 / 750 * 100%);
  }
}
.c-news__header .c-ttl__h2-01.ttl-01 {
  margin-bottom: 0;
}

.c-news__header-link {
  display: flex;
  gap: 0 7px;
}
@media screen and (max-width: 767px) {
  .c-news__header-link {
    gap: 0 calc(14 / 750 * 100vw);
  }
}
.c-news__header-link.news-header-top {
  width: 257px;
}
@media screen and (max-width: 767px) {
  .c-news__header-link.news-header-top {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .c-news__header-link.news-header-top li {
    width: calc((100% - (14 / 750 * 100vw) / 2));
  }
}
.c-news__header-link.news-header-cms {
  width: 125px;
}
@media screen and (max-width: 767px) {
  .c-news__header-link.news-header-cms {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .c-news__header-link.news-header-cms li {
    width: calc(328 / 750 * 100vw);
  }
}

.c-news-list .list-item {
  border-bottom: 1px dotted #707070;
}
.c-news-list .item-nolink,
.c-news-list .link-item {
  padding: 12px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  transition: 0.3s;
}
.c-news-list .item-nolink .item-ttl {
  width: calc(100% - 120px);
}
@media screen and (max-width: 767px) {
  .c-news-list .item-nolink .item-ttl {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .c-news-list .link-item:hover {
    color: #B3CEC8;
  }
}
@media screen and (min-width: 768px) {
  .c-news-list .link-item:hover .meta-category {
    border-color: #B3CEC8;
  }
}
.c-news-list .link-item .item-ttl {
  width: calc(100% - 270px);
}
@media screen and (max-width: 767px) {
  .c-news-list .link-item .item-ttl {
    width: 100%;
  }
}
.c-news-list .item-time {
  width: 70px;
  margin-right: 20px;
  font-size: 1.2rem;
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-news-list .item-time {
    width: calc(170 / 750 * 100vw);
    margin-right: calc(60 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
  }
}
.c-news-list .meta-category {
  border: 1px solid #707070;
  border-radius: 14px;
  width: 127px;
  margin-right: 40px;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-news-list .meta-category {
    border-radius: calc(28 / 750 * 100vw);
    margin-right: 0;
    font-size: calc(30 / 750 * 100vw);
    width: calc(254 / 750 * 100vw);
  }
}
.c-news-list .item-ttl {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-news-list .item-ttl {
    margin-top: calc(20 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
  }
}
@media (768px <= width <= 990px) {
  .c-news-list.news-list-cms .item-ttl {
    width: 100%;
    margin-top: 10px;
  }
}

/*========================================
  TOP
========================================*/
.p-top__contents {
  justify-content: space-between;
}

.p-top__news {
  width: calc(660 / 1220 * 100%);
  max-width: 660px;
}
@media screen and (max-width: 767px) {
  .p-top__news {
    width: 100%;
    max-width: none;
  }
}
.p-top__news-inner {
  height: 515px;
}
@media screen and (max-width: 767px) {
  .p-top__news-inner {
    height: calc(1330 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .p-top__news-inner.js-top-pc {
    height: 515px;
  }
}
.p-top__news-link {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 10px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link {
    margin-top: calc(60 / 750 * 100vw);
    grid-template-columns: repeat(2, 1fr);
    gap: calc(22 / 750 * 100vw);
  }
}
.p-top__news-link .item-link {
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .item-link {
    width: calc(320 / 750 * 100vw);
    text-align: center;
  }
}
.p-top__news-link a {
  background: #D5F0EC;
  box-shadow: 2px 2px 0 0 #b3cec8;
  border-radius: 10px;
  width: 100%;
  padding: 20px 10px;
  font-size: 1.5rem;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-top__news-link a {
    padding: calc(40 / 750 * 100vw) 10px;
    font-size: calc(30 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-top__news-link a:hover {
    background: #B3CEC8;
    box-shadow: 2px 2px 0 0 #88b4aa;
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .p-top__news-link a:hover .link-icon img {
    opacity: 0;
  }
}
.p-top__news-link .link-icon {
  margin-bottom: 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon {
    margin-bottom: calc(20 / 750 * 100vw);
  }
}
.p-top__news-link .link-icon::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top__news-link .link-icon img {
  position: relative;
  z-index: 1;
}
.p-top__news-link .link-icon-01 {
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon-01 {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
  }
}
.p-top__news-link .link-icon-01::before {
  background: url(/assets/img/icon/icon-calender-white.svg) no-repeat 0 0;
  background-size: contain;
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon-01::before {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
  }
}
.p-top__news-link .link-icon-02 {
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon-02 {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
  }
}
.p-top__news-link .link-icon-02::before {
  background: url(/assets/img/icon/icon-media-white.svg) no-repeat 0 0;
  background-size: contain;
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon-02::before {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
  }
}
.p-top__news-link .link-icon-03 {
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon-03 {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
  }
}
.p-top__news-link .link-icon-03::before {
  background: url(/assets/img/icon/icon-trophy-white.svg) no-repeat 0 0;
  background-size: contain;
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon-03::before {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
  }
}
.p-top__news-link .link-icon-04 {
  width: 41px;
  height: 41px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon-04 {
    width: calc(82 / 750 * 100vw);
    height: calc(82 / 750 * 100vw);
  }
}
.p-top__news-link .link-icon-04::before {
  background: url(/assets/img/icon/icon-badge-white.svg) no-repeat 0 0;
  background-size: contain;
  width: 41px;
  height: 41px;
}
@media screen and (max-width: 767px) {
  .p-top__news-link .link-icon-04::before {
    width: calc(82 / 750 * 100vw);
    height: calc(82 / 750 * 100vw);
  }
}

.p-top__system {
  width: calc(460 / 1220 * 100%);
  max-width: 460px;
  margin-top: 85px;
}
@media screen and (max-width: 767px) {
  .p-top__system {
    width: 100%;
    max-width: none;
    margin-top: calc(90 / 750 * 100%);
  }
}
.p-top__system-inner {
  height: 660px; /*元は480px*/
}
@media screen and (max-width: 767px) {
  .p-top__system-inner {
    height: calc(600 / 750 * 100vw);
  }
}
.p-top__system-list {
  width: calc(430 / 460 * 100%);
  max-width: 430px;
}
@media screen and (max-width: 767px) {
  .p-top__system-list {
    width: calc(632 / 750 * 100vw);
    max-width: none;
  }
}
.p-top__system-list a {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-top__system-list a:hover {
    opacity: 0.5;
  }
}
.p-top__system-list .item-list:nth-child(n+2) {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-top__system-list .item-list:nth-child(n+2) {
    margin-top: calc(20 / 750 * 100vw);
  }
}

.p-top__features {
  margin-top: 74px;
  padding-top: 74px;
  padding-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .p-top__features {
    margin-top: calc(140 / 750 * 100vw);
    padding-top: calc(64 / 750 * 100vw);
    padding-bottom: calc(120 / 750 * 100vw);
  }
}
.p-top__features-colbox {
  justify-content: space-between;
}
.p-top__features-colbox .item-box {
  width: calc(590 / 1220 * 100%);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top__features-colbox .item-box {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .p-top__features-colbox .item-box:nth-child(n+3) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-top__features-colbox .item-box:nth-child(n+2) {
    margin-top: calc(80 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-top__features-colbox .item-thumb-link:hover .item-thumb {
    box-shadow: 0 0 0 0 #B3CEC8;
  }
}
@media screen and (min-width: 768px) {
  .p-top__features-colbox .item-thumb-link:hover .item-link {
    color: #B3CEC8;
  }
}
@media screen and (min-width: 768px) {
  .p-top__features-colbox .item-thumb-link:hover .item-link::after {
    border-top-color: #B3CEC8;
    border-right-color: #B3CEC8;
  }
}
.p-top__features-colbox .item-thumb {
  background: #fff;
  box-shadow: 10px 10px 0 0 #B3CEC8;
  border-radius: 5px;
  width: calc(580 / 590 * 100%);
  height: calc(100% - 10px);
  padding: 30px;
  position: relative;
  transition: 0.3s;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top__features-colbox .item-thumb {
    box-shadow: 6px 6px 0 0 #B3CEC8;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    padding: calc(52 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}
.p-top__features-colbox .item-pict {
  border-radius: 5px;
  width: 100%;
  height: calc(266 / 1220 * 100vw);
  max-height: 266px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top__features-colbox .item-pict {
    border-radius: 10px;
    height: calc(400 / 750 * 100vw);
  }
}
.p-top__features-colbox .item-pict img {
  width: 100%;
  height: calc(266 / 1220 * 100vw);
  object-fit: cover;
  font-family: "object-fit: cover";
}
@media screen and (max-width: 767px) {
  .p-top__features-colbox .item-pict img {
    height: calc(400 / 750 * 100vw);
  }
}
.p-top__features-colbox .item-text-box {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-top__features-colbox .item-text-box {
    margin-top: calc(46 / 750 * 100vw);
  }
}
.p-top__features-colbox .item-link {
  margin: 13px 2px 0 0;
  text-align: right;
}

.p-top__departure {
  max-width: 1440px;
  margin: 146px auto 0;
}
@media screen and (max-width: 767px) {
  .p-top__departure {
    max-width: none;
    margin-top: calc(220/ 750 * 100vw);
  }
}
.p-top__departure .item-box {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-top__departure .item-box {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-top__departure .item-box:nth-child(n+3) {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-top__departure .item-box:nth-child(n+2) {
    margin-top: calc(80/ 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-top__departure .item-box:nth-child(odd) .departure-box {
    margin-left: auto;
    margin-right: calc(50 / 1220 * 100vw);
  }
}
@media screen and (min-width: 1220px) {
  .p-top__departure .item-box:nth-child(odd) .departure-box {
    margin-right: 50px;
  }
}
@media screen and (min-width: 768px) {
  .p-top__departure .item-box:nth-child(even) .departure-box {
    margin-left: calc(50 / 1220 * 100vw);
    margin-right: auto;
  }
}
@media screen and (min-width: 1220px) {
  .p-top__departure .item-box:nth-child(even) .departure-box {
    margin-left: 50px;
  }
}
.p-top__departure .item-box--full {
  width: 100%;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-top__departure .item-box--full {
    margin-top: calc(80/ 750 * 100vw);
  }
}
.p-top__departure .item-box--full .departure-box {
  margin-left: auto;
  margin-right: auto;
}
.p-top__departure .item-pict img {
  border-radius: 10px;
  object-fit: cover;
  font-family: "object-fit: cover";
}
@media screen and (max-width: 767px) {
  .p-top__departure .item-pict img {
    width: 100%;
    height: calc(604 / 750 * 100vw);
  }
}
.p-top__departure .departure-box {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 7px 2px rgba(0, 0, 0, 0.16);
  width: calc(560 / 620 * 100%);
  max-width: 560px;
  min-height: 156px;
  margin-top: -30px;
  padding: 26px 20px 20px 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top__departure .departure-box {
    width: calc(670 / 750 * 100vw);
    max-width: none;
    min-height: auto;
    margin: calc(-20 / 750 * 100vw) auto 0;
    padding: calc(52 / 750 * 100vw) calc(80 / 750 * 100vw) calc(80 / 750 * 100vw);
  }
}
.p-top__departure .departure-box .departure-list {
  max-width: 400px;
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-top__departure .departure-box .departure-list {
    max-width: none;
    margin-top: calc(70 / 750 * 100vw);
  }
}
@media screen and (max-width: 830px) and (min-width: 768px) {
  .p-top__departure .departure-box .departure-list.item-list-03 li:nth-child(1) {
    margin-left: 1.2rem;
  }
}
@media screen and (max-width: 830px) and (min-width: 768px) {
  .p-top__departure .departure-box .departure-list.item-list-03 li:nth-child(3) {
    margin-right: 40px;
  }
}
@media screen and (min-width: 768px) {
  .p-top__departure .departure-box .departure-list.item-list-03 li:nth-child(4) {
    margin-left: 1.2rem;
  }
}
@media screen and (max-width: 830px) and (min-width: 768px) {
  .p-top__departure .departure-box .departure-list.item-list-03 li:nth-child(4) {
    margin-left: 0;
  }
}
@media screen and (max-width: 830px) and (min-width: 768px) {
  .p-top__departure .departure-box .departure-list.item-list-03 li:nth-child(5) {
    margin-left: 1.2rem;
  }
}
.p-top__departure .departure-box .departure-list li {
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-top__departure .departure-box .departure-list li:nth-child(-n+2), .p-top__departure .departure-box .departure-list li:nth-child(4) {
    margin-right: calc(40 / 560 * 100%);
  }
}
@media screen and (min-width: 1220px) {
  .p-top__departure .departure-box .departure-list li:nth-child(-n+2), .p-top__departure .departure-box .departure-list li:nth-child(4) {
    margin-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-top__departure .departure-box .departure-list li:nth-child(odd) {
    margin-right: calc(36 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .p-top__departure .departure-box .departure-list li:nth-child(n+3) {
    margin-top: calc(16 / 750 * 100vw);
  }
}

.p-top__subsidiary {
  margin-top: 90px;
  margin-bottom: 90px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary {
    margin-top: calc(220 / 750 * 100vw);
    margin-bottom: calc(200 / 948 * 100%);
    flex-wrap: wrap;
  }
}
.p-top__subsidiary-ttl {
  width: 210px;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-ttl {
    width: 100%;
    margin-right: 0;
  }
}
.p-top__subsidiary-inner {
  width: calc(948 / 1220 *100%);
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-inner {
    width: 100%;
    display: block;
  }
}
.p-top__subsidiary-inner .item-box {
  width: calc(300 / 948 * 100%);
  max-width: 300px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-inner .item-box {
    width: 100%;
    max-width: none;
  }
}
.p-top__subsidiary-inner .item-box:first-child .item-name-en {
  top: 50px;
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-inner .item-box:first-child .item-name-en {
    top: calc(260 / 948 * 100%);
  }
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-inner .item-box:nth-child(n+2) {
    margin-top: calc(72 / 948 * 100%);
  }
}
.p-top__subsidiary-inner .item-box:nth-child(n+2) .item-name-en {
  top: 33px;
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-inner .item-box:nth-child(n+2) .item-name-en {
    top: calc(180 / 948 * 100%);
  }
}
.p-top__subsidiary-inner .item-box a {
  display: block;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-top__subsidiary-inner .item-box a:hover {
    opacity: 0.5;
  }
}
.p-top__subsidiary-inner .item-pict {
  box-shadow: 20px 20px 0 0 rgba(179, 206, 200, 0.5);
  border-radius: 10px;
  width: calc(280 / 300 * 100%);
  height: 129px;
  object-fit: cover;
  font-family: "object-fit: cover";
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-inner .item-pict {
    box-shadow: calc(44 / 750 * 100vw) calc(52 / 750 * 100vw) 0 0 rgba(179, 206, 200, 0.5);
    width: calc(626 / 750 * 100vw);
    height: calc(288 / 750 * 100vw);
  }
}
.p-top__subsidiary-inner .item-name-jp {
  margin-right: 13px;
  font-family: "Noto Serif JP", serif;
  font-size: calc(22 / 1220 * 100vw);
  letter-spacing: 0.15em;
  line-height: 33px;
  text-align: right;
  position: relative;
}
@media screen and (min-width: 1220px) {
  .p-top__subsidiary-inner .item-name-jp {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-inner .item-name-jp {
    margin-right: calc(52 / 750 * 100vw);
    font-size: calc(48 / 750 * 100vw);
    line-height: calc(100 / 750 * 100vw);
  }
}
.p-top__subsidiary-inner .item-name-en {
  font-size: 1rem;
  color: #fff;
  position: absolute;
  left: calc(280 / 300 * 100%);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (min-width: 1220px) {
  .p-top__subsidiary-inner .item-name-en {
    left: 283px;
  }
}
@media screen and (max-width: 767px) {
  .p-top__subsidiary-inner .item-name-en {
    font-size: calc(20 / 750 * 100vw);
    left: calc(628 / 750 * 100vw);
  }
}

.p-top__program {
  padding-top: 74px;
  padding-bottom: 83px;
}
@media screen and (max-width: 767px) {
  .p-top__program {
    padding-top: calc(76 / 948 * 100%);
    padding-bottom: calc(116 / 948 * 100%);
  }
}
.p-top__program-list {
  border-radius: 5px;
  padding: 50px calc(108 / 1220 * 100%);
  align-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-top__program-list {
    padding: calc(46 / 750 * 100vw) calc(40 / 750 * 100vw) calc(34 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(1) {
    order: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(2) {
    order: 3;
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(3) {
    order: 5;
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(4) {
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(5) {
    order: 4;
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(6) {
    order: 6;
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(-n+2), .p-top__program-list li:nth-child(n+4):not(:nth-child(n+6)) {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(-n+3) {
    width: calc(502 / 1004 * 100%);
    max-width: 502px;
    margin-right: calc(130 / 1004 * 100%);
  }
}
@media screen and (min-width: 1220px) {
  .p-top__program-list li:nth-child(-n+3) {
    margin-right: 130px;
  }
}
@media screen and (min-width: 768px) {
  .p-top__program-list li:nth-child(n+4) {
    width: calc(370 / 1004 * 100%);
    max-width: 370px;
  }
}
@media screen and (max-width: 767px) {
  .p-top__program-list li:nth-child(n+2) {
    margin-top: calc(70 / 750 * 100vw);
  }
}

/*========================================
  TOP English
========================================*/
.p-top__info-en {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .p-top__info-en {
    padding: 0;
  }
}
.p-top__info-en-inner {
  background: #F2F2F2;
  padding: 35px 110px;
}
@media screen and (max-width: 767px) {
  .p-top__info-en-inner {
    padding: calc(80 / 750 * 100vw) calc(40 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
  }
}

/*========================================
  under-page
========================================*/
@media screen and (min-width: 768px) {
  .p-overview__text {
    width: 640px;
    margin: 0 auto;
  }
}

.p-today__bn .c-btn {
  width: 100%;
  min-width: 0;
}

.p-history__emblem {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-history__emblem figcaption {
  width: calc(100% - 70px);
}
.p-history__emblem .item-pict {
  width: 54px;
}

.p-logo__2col {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-logo__2col .item-pict {
  width: 100px;
}
.p-logo__2col .item-text {
  width: calc(100% - 120px);
}

.p-logo__item {
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-logo__item {
    text-align: center;
  }
}
.p-logo__item .item-text {
  width: 500px;
}
@media screen and (max-width: 767px) {
  .p-logo__item .item-text {
    width: calc(600 / 750 * 100vw);
  }
}

.p-nyusi4-telemail {
  width: 300px;
}
.p-nyusi4-djc {
  width: 220px;
}
.p-nyusi4-qr {
  width: 80px;
}

.p-facility__box:nth-of-type(n + 2) {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-facility__box:nth-of-type(n + 2) {
    margin-top: calc(120 / 1220 * 100%);
  }
}
.p-facility__box-pict {
  width: 270px;
  margin: 0 auto;
  text-align: center;
}
.p-facility__box-text {
  width: calc(100% - 310px);
}
@media screen and (max-width: 767px) {
  .p-facility__box-text {
    width: 100%;
    margin-top: calc(90 / 1220 * 100%);
  }
}

.p-syusyoku__anc {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.p-syusyoku__anc li:nth-child(n+2) {
  margin-left: 20px;
}
.p-syusyoku__anc a {
  padding-right: 14px;
  position: relative;
}
.p-syusyoku__anc a::after {
  border-top: 2px solid #C3B071;
  border-right: 2px solid #C3B071;
  content: "";
  width: 7px;
  height: 7px;
  display: block;
  position: absolute;
  bottom: 8px;
  right: 0;
  transform: rotate(135deg);
}
@media screen and (max-width: 767px) {
  .p-syusyoku__anc a::after {
    width: calc(14 / 750 * 100vw);
    height: calc(14 / 750 * 100vw);
    bottom: calc(10 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-syusyoku__anc a:hover {
    color: #C3B071;
  }
}

.p-dx-plan__img01 {
  max-width: 659px;
}
@media screen and (max-width: 767px) {
  .p-dx-plan__img01 {
    max-width: none;
  }
}
.p-dx-plan__img02 {
  max-width: 779px;
}
@media screen and (max-width: 767px) {
  .p-dx-plan__img02 {
    max-width: none;
  }
}
.p-dx-plan__img03 {
  max-width: 874px;
}
@media screen and (max-width: 767px) {
  .p-dx-plan__img03 {
    max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .p-event-cal__attention {
    font-size: calc(30 / 750 * 100vw);
  }
}

.p-event__organization {
  margin-top: 25px;
  display: flex;
  gap: 0 30px;
}
@media screen and (max-width: 767px) {
  .p-event__organization {
    margin: calc(30 / 750 * 100vw) 0;
    gap: 0 calc(40 / 750 * 100vw);
  }
}
.p-event__organization li {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
@media screen and (max-width: 767px) {
  .p-event__organization li {
    gap: 0 calc(20 / 750 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .p-event__organization-name {
    font-size: calc(30 / 750 * 100vw);
  }
}

.p-event-cal__notes {
  margin-bottom: 0.5em;
  font-size: 1.4rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-event-cal__notes {
    margin: 0.2em 0 1em;
    font-size: calc(30 / 750 * 100vw);
    text-align: left;
  }
}

.p-event-cal__title {
  display: flex;
  gap: 0 7px;
}
@media screen and (max-width: 767px) {
  .p-event-cal__title {
    gap: 0 calc(12 / 750 * 100vw);
  }
}

.p-event-cal__ttl-text {
  width: calc(100% - 32px);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-event-cal__ttl-text {
    width: calc(100% - (52 / 750 * 100vw));
  }
}

.p-event-cal__detail {
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .p-event-cal__detail {
    margin-left: calc((52 / 750 * 100vw));
  }
}

.p-event-cal__list li span {
  margin-right: 5px;
}

.p-event-cal__link {
  margin: 30px 0 0 18px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-event-cal__link {
    margin: calc(60 / 750 * 100vw) calc(30 / 750 * 100vw) 0;
    flex-wrap: wrap;
  }
}

.p-event-cal__link-year {
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
}
@media screen and (max-width: 767px) {
  .p-event-cal__link-year {
    width: 100%;
    margin-bottom: calc(80 / 750 * 100vw);
    gap: calc(20 / 750 * 100vw) 0;
  }
}
.p-event-cal__link-year a {
  color: #C3B071;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .p-event-cal__link-year a:hover {
    text-decoration: none;
  }
}
.p-event-cal__link-year .item-year,
.p-event-cal__link-year .item-month {
  display: flex;
  gap: 0 15px;
}
@media screen and (max-width: 767px) {
  .p-event-cal__link-year .item-year,
.p-event-cal__link-year .item-month {
    font-size: calc(32 / 750 * 100vw);
    gap: calc(20 / 750 * 100vw) calc(28 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .p-event-cal__link-year .item-year {
    width: 100%;
  }
}
.p-event-cal__link-year .item-year dt {
  word-break: keep-all;
}
@media screen and (max-width: 767px) {
  .p-event-cal__link-year .item-year dt {
    width: calc(100 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .p-event-cal__link-year .item-month {
    flex-wrap: wrap;
  }
}

/*========================================
 * column
========================================*/
@media screen and (min-width: 768px) {
  .u-col, .u-col--3, .u-col--4, .u-col--2 {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .u-col, .u-col--3, .u-col--4, .u-col--2 {
    display: block;
  }
}
.u-col--1 {
  width: calc(100% - 220px);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .u-col--1 {
    width: 100%;
    max-width: none;
  }
}
.u-col--1:nth-of-type(n + 2) {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .u-col--1:nth-of-type(n + 2) {
    margin-top: calc(50 / 750 * 100vw);
  }
}
.u-col--2 {
  justify-content: space-between;
}
.u-col--end {
  align-items: flex-end;
}

@media screen and (min-width: 768px) {
  .u-col--float__left, .u-col--float__right {
    width: calc(580 / 1220 * 100vw);
    max-width: 580px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .u-col--float__left, .u-col--float__right {
    margin-bottom: calc(20 / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .u-col--float__left {
    float: left;
    margin-right: 40px;
  }
}
@media screen and (min-width: 768px) {
  .u-col--float__right {
    float: right;
    margin-left: 40px;
  }
}

.u-col--cf {
  content: "";
  display: table;
  clear: both;
}

.u-col--pict__box:nth-of-type(n + 2) {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .u-col--pict__box:nth-of-type(n + 2) {
    margin-top: calc(120 / 1220 * 100%);
  }
}
.u-col--pict__box .u-col--2 .left-item {
  width: calc(540 / 1220 * 100%);
  max-width: 540px;
}
@media screen and (max-width: 767px) {
  .u-col--pict__box .u-col--2 .left-item {
    width: 100%;
    max-width: none;
  }
}
.u-col--pict__box .u-col--2 .left-item a {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .u-col--pict__box .u-col--2 .left-item a:hover img {
    opacity: 0.7;
    transition: 0.3s;
  }
}
.u-col--pict__box .u-col--2 .left-item .notes {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .u-col--pict__box .u-col--2 .left-item .notes {
    margin-top: calc(10 / 750 * 100vw);
  }
}
.u-col--pict__box .u-col--2 .right-item {
  width: calc(620 / 1220 * 100%);
  max-width: 620px;
}
@media screen and (max-width: 767px) {
  .u-col--pict__box .u-col--2 .right-item {
    width: 100%;
    max-width: none;
    margin-top: calc(120 / 1220 * 100%);
  }
}
.u-col--pict__box .item-link {
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .u-col--pict__box .item-link {
    margin-top: calc(30 / 1220 * 100%);
    text-align: right;
  }
}

.u-col--link-3 {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .u-col--link-3 {
    display: block;
  }
}
.u-col--link-3 .u-col-item {
  width: calc(366 / 1220 * 100%);
  max-width: 366px;
  display: flex;
}
@media screen and (max-width: 767px) {
  .u-col--link-3 .u-col-item {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .u-col--link-3 .u-col-item:nth-child(n+4) {
    margin-top: 25px;
  }
}
@media screen and (min-width: 768px) {
  .u-col--link-3 .u-col-item:not(:nth-child(3n)) {
    margin-right: calc(60 / 1220 * 100%);
  }
}
@media screen and (max-width: 767px) {
  .u-col--link-3 .u-col-item:nth-child(n+2) {
    margin-top: calc(50 / 1220 * 100%);
  }
}

.u-col--inner-2col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.u-col--inner-2col .inner-2col-left {
  width: calc(200 / 580 * 100%);
  max-width: 200px;
}
.u-col--inner-2col .inner-2col-right {
  width: calc(360 / 580 * 100%);
  max-width: 360px;
}
.u-col--inner-2col .inner-2col-right li:nth-child(n+2) {
  margin-top: 10px;
}
.u-col--inner-2col .inner-2col-right span {
  display: block;
}
.u-col--inner-2col .inner-2col-right .c-btn {
  width: auto;
  min-width: 0;
  max-width: 260px;
}

/******************************
 * font size
 ******************************/
.u-fs-11 {
  font-size: 1.1rem;
}

.u-fs-12 {
  font-size: 1.2rem;
}

.u-fs-13 {
  font-size: 1.3rem;
}

.u-fs-14 {
  font-size: 1.4rem;
}

.u-fs-15 {
  font-size: 1.5rem;
}

.u-fs-16 {
  font-size: 1.6rem;
}

.u-fs-17 {
  font-size: 1.7rem;
}

.u-fs-18 {
  font-size: 1.8rem;
}

.u-fs-19 {
  font-size: 1.9rem;
}

.u-fs-20 {
  font-size: 2rem;
}

.u-fs-21 {
  font-size: 2.1rem;
}

.u-fs-22 {
  font-size: 2.2rem;
}

.u-fs-23 {
  font-size: 2.3rem;
}

.u-fs-24 {
  font-size: 2.4rem;
}

.u-fs-25 {
  font-size: 2.5rem;
}

.u-fs-26 {
  font-size: 2.6rem;
}

.u-fs-27 {
  font-size: 2.7rem;
}

.u-fs-28 {
  font-size: 2.8rem;
}

.u-fs-29 {
  font-size: 2.9rem;
}

.u-fs-30 {
  font-size: 3rem;
}

@media screen and (max-width: 767px) {
  .u-SP-fs-1 {
    font-size: 1vw;
  }

  .u-SP-fs-2 {
    font-size: 2vw;
  }

  .u-SP-fs-3 {
    font-size: 3vw;
  }

  .u-SP-fs-4 {
    font-size: 4vw;
  }

  .u-SP-fs-5 {
    font-size: 5vw;
  }

  .u-SP-fs-6 {
    font-size: 6vw;
  }

  .u-SP-fs-7 {
    font-size: 7vw;
  }

  .u-SP-fs-8 {
    font-size: 8vw;
  }

  .u-SP-fs-9 {
    font-size: 9vw;
  }

  .u-SP-fs-10 {
    font-size: 10vw;
  }

  .u-SP-fs-11 {
    font-size: 11vw;
  }

  .u-SP-fs-12 {
    font-size: 12vw;
  }

  .u-SP-fs-13 {
    font-size: 13vw;
  }

  .u-SP-fs-14 {
    font-size: 14vw;
  }

  .u-SP-fs-15 {
    font-size: 15vw;
  }

  .u-SP-fs-16 {
    font-size: 16vw;
  }

  .u-SP-fs-17 {
    font-size: 17vw;
  }

  .u-SP-fs-18 {
    font-size: 18vw;
  }

  .u-SP-fs-19 {
    font-size: 19vw;
  }

  .u-SP-fs-20 {
    font-size: 20vw;
  }

  .u-SP-fs-21 {
    font-size: 21vw;
  }

  .u-SP-fs-22 {
    font-size: 22vw;
  }

  .u-SP-fs-23 {
    font-size: 23vw;
  }

  .u-SP-fs-24 {
    font-size: 24vw;
  }

  .u-SP-fs-25 {
    font-size: 25vw;
  }

  .u-SP-fs-26 {
    font-size: 26vw;
  }

  .u-SP-fs-27 {
    font-size: 27vw;
  }

  .u-SP-fs-28 {
    font-size: 28vw;
  }

  .u-SP-fs-29 {
    font-size: 29vw;
  }

  .u-SP-fs-30 {
    font-size: 30vw;
  }
}
.u-fs-content-14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .u-fs-content-14 {
    font-size: calc(22 / 750 * 100vw);
  }
}

.u-fs-content-16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .u-fs-content-16 {
    font-size: calc(28 / 750 * 100vw);
  }
}

.u-fs-content-18 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .u-fs-content-18 {
    font-size: calc(28 / 750 * 100vw);
  }
}

/*========================================
 * hidden
 *
 * クラス : u-hidden-{MQ}
========================================*/
@media screen and (max-width: 767px) {
  .u-hidden-ltSP {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .u-hidden-ltTAB {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-hidden-gtTAB {
    display: none;
  }
}
@media screen and (min-width: 992px) {
  .u-hidden-gtPC {
    display: none;
  }
}

/*========================================
 * margin
 *
 * クラス : u-m{t,l,r,b}-0 ~ u-m{t,l,r,b}-45
 * ※ スマホのときは u-SP-m{t,l,r,b}-0 ~ u-SP-m{t,l,r,b}-45
 * ステップ : 0 ~ 45 : PC 5ずつ、SP 1ずつ
========================================*/
.u-mt-0 {
  margin-top: 0px;
}

.u-ml-0 {
  margin-left: 0px;
}

.u-mr-0 {
  margin-right: 0px;
}

.u-mb-0 {
  margin-bottom: 0px;
}

.u-mt-5 {
  margin-top: 5px;
}

.u-ml-5 {
  margin-left: 5px;
}

.u-mr-5 {
  margin-right: 5px;
}

.u-mb-5 {
  margin-bottom: 5px;
}

.u-mt-10 {
  margin-top: 10px;
}

.u-ml-10 {
  margin-left: 10px;
}

.u-mr-10 {
  margin-right: 10px;
}

.u-mb-10 {
  margin-bottom: 10px;
}

.u-mt-15 {
  margin-top: 15px;
}

.u-ml-15 {
  margin-left: 15px;
}

.u-mr-15 {
  margin-right: 15px;
}

.u-mb-15 {
  margin-bottom: 15px;
}

.u-mt-20 {
  margin-top: 20px;
}

.u-ml-20 {
  margin-left: 20px;
}

.u-mr-20 {
  margin-right: 20px;
}

.u-mb-20 {
  margin-bottom: 20px;
}

.u-mt-25 {
  margin-top: 25px;
}

.u-ml-25 {
  margin-left: 25px;
}

.u-mr-25 {
  margin-right: 25px;
}

.u-mb-25 {
  margin-bottom: 25px;
}

.u-mt-30 {
  margin-top: 30px;
}

.u-ml-30 {
  margin-left: 30px;
}

.u-mr-30 {
  margin-right: 30px;
}

.u-mb-30 {
  margin-bottom: 30px;
}

.u-mt-35 {
  margin-top: 35px;
}

.u-ml-35 {
  margin-left: 35px;
}

.u-mr-35 {
  margin-right: 35px;
}

.u-mb-35 {
  margin-bottom: 35px;
}

.u-mt-40 {
  margin-top: 40px;
}

.u-ml-40 {
  margin-left: 40px;
}

.u-mr-40 {
  margin-right: 40px;
}

.u-mb-40 {
  margin-bottom: 40px;
}

.u-mt-45 {
  margin-top: 45px;
}

.u-ml-45 {
  margin-left: 45px;
}

.u-mr-45 {
  margin-right: 45px;
}

.u-mb-45 {
  margin-bottom: 45px;
}

.u-mt-50 {
  margin-top: 50px;
}

.u-ml-50 {
  margin-left: 50px;
}

.u-mr-50 {
  margin-right: 50px;
}

.u-mb-50 {
  margin-bottom: 50px;
}

.u-mt-55 {
  margin-top: 55px;
}

.u-ml-55 {
  margin-left: 55px;
}

.u-mr-55 {
  margin-right: 55px;
}

.u-mb-55 {
  margin-bottom: 55px;
}

.u-mt-60 {
  margin-top: 60px;
}

.u-ml-60 {
  margin-left: 60px;
}

.u-mr-60 {
  margin-right: 60px;
}

.u-mb-60 {
  margin-bottom: 60px;
}

.u-mt-65 {
  margin-top: 65px;
}

.u-ml-65 {
  margin-left: 65px;
}

.u-mr-65 {
  margin-right: 65px;
}

.u-mb-65 {
  margin-bottom: 65px;
}

.u-mt-70 {
  margin-top: 70px;
}

.u-ml-70 {
  margin-left: 70px;
}

.u-mr-70 {
  margin-right: 70px;
}

.u-mb-70 {
  margin-bottom: 70px;
}

.u-mt-75 {
  margin-top: 75px;
}

.u-ml-75 {
  margin-left: 75px;
}

.u-mr-75 {
  margin-right: 75px;
}

.u-mb-75 {
  margin-bottom: 75px;
}

.u-mt-80 {
  margin-top: 80px;
}

.u-ml-80 {
  margin-left: 80px;
}

.u-mr-80 {
  margin-right: 80px;
}

.u-mb-80 {
  margin-bottom: 80px;
}

.u-mt-85 {
  margin-top: 85px;
}

.u-ml-85 {
  margin-left: 85px;
}

.u-mr-85 {
  margin-right: 85px;
}

.u-mb-85 {
  margin-bottom: 85px;
}

.u-mt-90 {
  margin-top: 90px;
}

.u-ml-90 {
  margin-left: 90px;
}

.u-mr-90 {
  margin-right: 90px;
}

.u-mb-90 {
  margin-bottom: 90px;
}

.u-mt-95 {
  margin-top: 95px;
}

.u-ml-95 {
  margin-left: 95px;
}

.u-mr-95 {
  margin-right: 95px;
}

.u-mb-95 {
  margin-bottom: 95px;
}

.u-mt-100 {
  margin-top: 100px;
}

.u-ml-100 {
  margin-left: 100px;
}

.u-mr-100 {
  margin-right: 100px;
}

.u-mb-100 {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .u-SP-mt-0 {
    margin-top: 0vw;
  }

  .u-SP-ml-0 {
    margin-left: 0vw;
  }

  .u-SP-mr-0 {
    margin-right: 0vw;
  }

  .u-SP-mb-0 {
    margin-bottom: 0vw;
  }

  .u-SP-mt-1 {
    margin-top: 1vw;
  }

  .u-SP-ml-1 {
    margin-left: 1vw;
  }

  .u-SP-mr-1 {
    margin-right: 1vw;
  }

  .u-SP-mb-1 {
    margin-bottom: 1vw;
  }

  .u-SP-mt-2 {
    margin-top: 2vw;
  }

  .u-SP-ml-2 {
    margin-left: 2vw;
  }

  .u-SP-mr-2 {
    margin-right: 2vw;
  }

  .u-SP-mb-2 {
    margin-bottom: 2vw;
  }

  .u-SP-mt-3 {
    margin-top: 3vw;
  }

  .u-SP-ml-3 {
    margin-left: 3vw;
  }

  .u-SP-mr-3 {
    margin-right: 3vw;
  }

  .u-SP-mb-3 {
    margin-bottom: 3vw;
  }

  .u-SP-mt-4 {
    margin-top: 4vw;
  }

  .u-SP-ml-4 {
    margin-left: 4vw;
  }

  .u-SP-mr-4 {
    margin-right: 4vw;
  }

  .u-SP-mb-4 {
    margin-bottom: 4vw;
  }

  .u-SP-mt-5 {
    margin-top: 5vw;
  }

  .u-SP-ml-5 {
    margin-left: 5vw;
  }

  .u-SP-mr-5 {
    margin-right: 5vw;
  }

  .u-SP-mb-5 {
    margin-bottom: 5vw;
  }

  .u-SP-mt-6 {
    margin-top: 6vw;
  }

  .u-SP-ml-6 {
    margin-left: 6vw;
  }

  .u-SP-mr-6 {
    margin-right: 6vw;
  }

  .u-SP-mb-6 {
    margin-bottom: 6vw;
  }

  .u-SP-mt-7 {
    margin-top: 7vw;
  }

  .u-SP-ml-7 {
    margin-left: 7vw;
  }

  .u-SP-mr-7 {
    margin-right: 7vw;
  }

  .u-SP-mb-7 {
    margin-bottom: 7vw;
  }

  .u-SP-mt-8 {
    margin-top: 8vw;
  }

  .u-SP-ml-8 {
    margin-left: 8vw;
  }

  .u-SP-mr-8 {
    margin-right: 8vw;
  }

  .u-SP-mb-8 {
    margin-bottom: 8vw;
  }

  .u-SP-mt-9 {
    margin-top: 9vw;
  }

  .u-SP-ml-9 {
    margin-left: 9vw;
  }

  .u-SP-mr-9 {
    margin-right: 9vw;
  }

  .u-SP-mb-9 {
    margin-bottom: 9vw;
  }

  .u-SP-mt-10 {
    margin-top: 10vw;
  }

  .u-SP-ml-10 {
    margin-left: 10vw;
  }

  .u-SP-mr-10 {
    margin-right: 10vw;
  }

  .u-SP-mb-10 {
    margin-bottom: 10vw;
  }

  .u-SP-mt-11 {
    margin-top: 11vw;
  }

  .u-SP-ml-11 {
    margin-left: 11vw;
  }

  .u-SP-mr-11 {
    margin-right: 11vw;
  }

  .u-SP-mb-11 {
    margin-bottom: 11vw;
  }

  .u-SP-mt-12 {
    margin-top: 12vw;
  }

  .u-SP-ml-12 {
    margin-left: 12vw;
  }

  .u-SP-mr-12 {
    margin-right: 12vw;
  }

  .u-SP-mb-12 {
    margin-bottom: 12vw;
  }

  .u-SP-mt-13 {
    margin-top: 13vw;
  }

  .u-SP-ml-13 {
    margin-left: 13vw;
  }

  .u-SP-mr-13 {
    margin-right: 13vw;
  }

  .u-SP-mb-13 {
    margin-bottom: 13vw;
  }

  .u-SP-mt-14 {
    margin-top: 14vw;
  }

  .u-SP-ml-14 {
    margin-left: 14vw;
  }

  .u-SP-mr-14 {
    margin-right: 14vw;
  }

  .u-SP-mb-14 {
    margin-bottom: 14vw;
  }

  .u-SP-mt-15 {
    margin-top: 15vw;
  }

  .u-SP-ml-15 {
    margin-left: 15vw;
  }

  .u-SP-mr-15 {
    margin-right: 15vw;
  }

  .u-SP-mb-15 {
    margin-bottom: 15vw;
  }

  .u-SP-mt-16 {
    margin-top: 16vw;
  }

  .u-SP-ml-16 {
    margin-left: 16vw;
  }

  .u-SP-mr-16 {
    margin-right: 16vw;
  }

  .u-SP-mb-16 {
    margin-bottom: 16vw;
  }

  .u-SP-mt-17 {
    margin-top: 17vw;
  }

  .u-SP-ml-17 {
    margin-left: 17vw;
  }

  .u-SP-mr-17 {
    margin-right: 17vw;
  }

  .u-SP-mb-17 {
    margin-bottom: 17vw;
  }

  .u-SP-mt-18 {
    margin-top: 18vw;
  }

  .u-SP-ml-18 {
    margin-left: 18vw;
  }

  .u-SP-mr-18 {
    margin-right: 18vw;
  }

  .u-SP-mb-18 {
    margin-bottom: 18vw;
  }

  .u-SP-mt-19 {
    margin-top: 19vw;
  }

  .u-SP-ml-19 {
    margin-left: 19vw;
  }

  .u-SP-mr-19 {
    margin-right: 19vw;
  }

  .u-SP-mb-19 {
    margin-bottom: 19vw;
  }

  .u-SP-mt-20 {
    margin-top: 20vw;
  }

  .u-SP-ml-20 {
    margin-left: 20vw;
  }

  .u-SP-mr-20 {
    margin-right: 20vw;
  }

  .u-SP-mb-20 {
    margin-bottom: 20vw;
  }
}
.u-mb-content-5 {
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-5 {
    margin-bottom: calc(10 / 750 * 100vw);
  }
}

.u-mb-content-10 {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-10 {
    margin-bottom: calc(20 / 750 * 100vw);
  }
}

.u-mb-content-20 {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-20 {
    margin-bottom: calc(30 / 750 * 100vw);
  }
}

.u-mb-content-30 {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-30 {
    margin-bottom: calc(40 / 750 * 100vw);
  }
}

.u-mb-content-40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-40 {
    margin-bottom: calc(50 / 750 * 100vw);
  }
}

.u-mb-content-50 {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-50 {
    margin-bottom: calc(60 / 750 * 100vw);
  }
}

.u-mb-content-60 {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-60 {
    margin-bottom: calc(70 / 750 * 100vw);
  }
}

.u-mb-content-70 {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-70 {
    margin-bottom: calc(80 / 750 * 100vw);
  }
}

.u-mb-content-80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-80 {
    margin-bottom: calc(100 / 750 * 100vw);
  }
}

.u-mb-content-90 {
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-90 {
    margin-bottom: calc(120 / 750 * 100vw);
  }
}

.u-mb-content-100 {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .u-mb-content-100 {
    margin-bottom: calc(160 / 750 * 100vw);
  }
}

.u-mt-content-5 {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-5 {
    margin-top: calc(10 / 750 * 100vw);
  }
}

.u-mt-content-10 {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-10 {
    margin-top: calc(20 / 750 * 100vw);
  }
}

.u-mt-content-20 {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-20 {
    margin-top: calc(30 / 750 * 100vw);
  }
}

.u-mt-content-30 {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-30 {
    margin-top: calc(40 / 750 * 100vw);
  }
}

.u-mt-content-40 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-40 {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.u-mt-content-50 {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-50 {
    margin-top: calc(60 / 750 * 100vw);
  }
}

.u-mt-content-60 {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-60 {
    margin-top: calc(70 / 750 * 100vw);
  }
}

.u-mt-content-70 {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-70 {
    margin-top: calc(80 / 750 * 100vw);
  }
}

.u-mt-content-80 {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-80 {
    margin-top: calc(100 / 750 * 100vw);
  }
}

.u-mt-content-90 {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-90 {
    margin-top: calc(120 / 750 * 100vw);
  }
}

.u-mt-content-100 {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .u-mt-content-100 {
    margin-top: calc(160 / 750 * 100vw);
  }
}

/*========================================
 * padding
 *
 * クラス : u-p{t,l,r,b}-0 ~ u-p{t,l,r,b}-45
 * ※ スマホのときは u-SP-p{t,l,r,b}-0 ~ u-SP-p{t,l,r,b}-45
 * ステップ : 0 ~ 45 : 5 ずつ
========================================*/
.u-pt-0 {
  padding-top: 0px;
}

.u-pl-0 {
  padding-left: 0px;
}

.u-pr-0 {
  padding-right: 0px;
}

.u-pb-0 {
  padding-bottom: 0px;
}

.u-pt-5 {
  padding-top: 5px;
}

.u-pl-5 {
  padding-left: 5px;
}

.u-pr-5 {
  padding-right: 5px;
}

.u-pb-5 {
  padding-bottom: 5px;
}

.u-pt-10 {
  padding-top: 10px;
}

.u-pl-10 {
  padding-left: 10px;
}

.u-pr-10 {
  padding-right: 10px;
}

.u-pb-10 {
  padding-bottom: 10px;
}

.u-pt-15 {
  padding-top: 15px;
}

.u-pl-15 {
  padding-left: 15px;
}

.u-pr-15 {
  padding-right: 15px;
}

.u-pb-15 {
  padding-bottom: 15px;
}

.u-pt-20 {
  padding-top: 20px;
}

.u-pl-20 {
  padding-left: 20px;
}

.u-pr-20 {
  padding-right: 20px;
}

.u-pb-20 {
  padding-bottom: 20px;
}

.u-pt-25 {
  padding-top: 25px;
}

.u-pl-25 {
  padding-left: 25px;
}

.u-pr-25 {
  padding-right: 25px;
}

.u-pb-25 {
  padding-bottom: 25px;
}

.u-pt-30 {
  padding-top: 30px;
}

.u-pl-30 {
  padding-left: 30px;
}

.u-pr-30 {
  padding-right: 30px;
}

.u-pb-30 {
  padding-bottom: 30px;
}

.u-pt-35 {
  padding-top: 35px;
}

.u-pl-35 {
  padding-left: 35px;
}

.u-pr-35 {
  padding-right: 35px;
}

.u-pb-35 {
  padding-bottom: 35px;
}

.u-pt-40 {
  padding-top: 40px;
}

.u-pl-40 {
  padding-left: 40px;
}

.u-pr-40 {
  padding-right: 40px;
}

.u-pb-40 {
  padding-bottom: 40px;
}

.u-pt-45 {
  padding-top: 45px;
}

.u-pl-45 {
  padding-left: 45px;
}

.u-pr-45 {
  padding-right: 45px;
}

.u-pb-45 {
  padding-bottom: 45px;
}

@media screen and (max-width: 767px) {
  .u-SP-pt-0 {
    padding-top: 0vw;
  }

  .u-SP-pl-0 {
    padding-left: 0vw;
  }

  .u-SP-pr-0 {
    padding-right: 0vw;
  }

  .u-SP-pb-0 {
    padding-bottom: 0vw;
  }

  .u-SP-pt-5 {
    padding-top: 5vw;
  }

  .u-SP-pl-5 {
    padding-left: 5vw;
  }

  .u-SP-pr-5 {
    padding-right: 5vw;
  }

  .u-SP-pb-5 {
    padding-bottom: 5vw;
  }

  .u-SP-pt-10 {
    padding-top: 10vw;
  }

  .u-SP-pl-10 {
    padding-left: 10vw;
  }

  .u-SP-pr-10 {
    padding-right: 10vw;
  }

  .u-SP-pb-10 {
    padding-bottom: 10vw;
  }

  .u-SP-pt-15 {
    padding-top: 15vw;
  }

  .u-SP-pl-15 {
    padding-left: 15vw;
  }

  .u-SP-pr-15 {
    padding-right: 15vw;
  }

  .u-SP-pb-15 {
    padding-bottom: 15vw;
  }

  .u-SP-pt-20 {
    padding-top: 20vw;
  }

  .u-SP-pl-20 {
    padding-left: 20vw;
  }

  .u-SP-pr-20 {
    padding-right: 20vw;
  }

  .u-SP-pb-20 {
    padding-bottom: 20vw;
  }

  .u-SP-pt-25 {
    padding-top: 25vw;
  }

  .u-SP-pl-25 {
    padding-left: 25vw;
  }

  .u-SP-pr-25 {
    padding-right: 25vw;
  }

  .u-SP-pb-25 {
    padding-bottom: 25vw;
  }

  .u-SP-pt-30 {
    padding-top: 30vw;
  }

  .u-SP-pl-30 {
    padding-left: 30vw;
  }

  .u-SP-pr-30 {
    padding-right: 30vw;
  }

  .u-SP-pb-30 {
    padding-bottom: 30vw;
  }

  .u-SP-pt-35 {
    padding-top: 35vw;
  }

  .u-SP-pl-35 {
    padding-left: 35vw;
  }

  .u-SP-pr-35 {
    padding-right: 35vw;
  }

  .u-SP-pb-35 {
    padding-bottom: 35vw;
  }

  .u-SP-pt-40 {
    padding-top: 40vw;
  }

  .u-SP-pl-40 {
    padding-left: 40vw;
  }

  .u-SP-pr-40 {
    padding-right: 40vw;
  }

  .u-SP-pb-40 {
    padding-bottom: 40vw;
  }

  .u-SP-pt-45 {
    padding-top: 45vw;
  }

  .u-SP-pl-45 {
    padding-left: 45vw;
  }

  .u-SP-pr-45 {
    padding-right: 45vw;
  }

  .u-SP-pb-45 {
    padding-bottom: 45vw;
  }
}
/*========================================
 * スクリーンリーダーテキスト
========================================*/
.screen-reader-text,
.u-screen-reader {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/*========================================
 * text-align
========================================*/
.u-ta-left {
  text-align: left;
}
.u-ta-center {
  text-align: center;
}
.u-ta-right {
  text-align: right;
}

@media screen and (max-width: 767px) {
  .u-SP-ta-left {
    text-align: left;
  }
  .u-SP-ta-center {
    text-align: center;
  }
  .u-SP-ta-right {
    text-align: right;
  }
}
/*========================================
 * Width
========================================*/
.u-w-10 {
  width: 10%;
}

.u-w-20 {
  width: 20%;
}

.u-w-30 {
  width: 30%;
}

.u-w-40 {
  width: 40%;
}

.u-w-50 {
  width: 50%;
}

.u-w-60 {
  width: 60%;
}

.u-w-70 {
  width: 70%;
}

.u-w-80 {
  width: 80%;
}

.u-w-90 {
  width: 90%;
}

.u-w-100 {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .u-SP-w-10 {
    width: 10vw;
  }

  .u-SP-w-20 {
    width: 20vw;
  }

  .u-SP-w-30 {
    width: 30vw;
  }

  .u-SP-w-40 {
    width: 40vw;
  }

  .u-SP-w-50 {
    width: 50vw;
  }

  .u-SP-w-60 {
    width: 60vw;
  }

  .u-SP-w-70 {
    width: 70vw;
  }

  .u-SP-w-80 {
    width: 80vw;
  }

  .u-SP-w-90 {
    width: 90vw;
  }

  .u-SP-w-100 {
    width: 100vw;
  }

  .u-SP-w-auto {
    width: auto;
  }
}
.u-w-400 {
  width: 400px;
}
@media screen and (max-width: 767px) {
  .u-w-400 {
    width: 100%;
  }
}

.u-w-20p {
  width: 20%;
}

.u-w-30p {
  width: 30%;
}