@charset "UTF-8";

/*-------------wysiwyg-area-------------*/
.wysiwyg-area ul {
  list-style-type: disc;
  margin: 1em 0;
  padding-left: 20px;
}
.wysiwyg-area ol {
  list-style-type: decimal;
  margin: 1em 0;
  padding-left: 20px;
}

.c-fig figcaption,
.wysiwyg-area .c-fig figcaption {
  text-align: center;
}
.wysiwyg-area a {
  text-decoration: underline;
  color: #0059af;
}
.wysiwyg-area a:hover {
  text-decoration: none;
}

.wysiwyg-area h1,
.wysiwyg-area h2 {
  font-family: "Noto Sans Japanese";
}

.wysiwyg-area h1 {
  margin-top: 20px;
  letter-spacing: 0.05em;
  font-size: 171%;
  line-height: 1;
}
.wysiwyg-area h2 {
  margin: 50px 0 20px;
  font-size: 171%;
  line-height: 1.3636;
}

.wysiwyg-area strong {
  font-size: 100%;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .wysiwyg-area h2 {
    font-size: 157%;
  }
}
.wysiwyg-area h2 a {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .wysiwyg-area h2 a:hover {
    opacity: 0.7;
  }
}
.wysiwyg-area h2 .ico-arrow {
  font-size: 67%;
  color: #b6b6b8;
}
.wysiwyg-area h2 .ico-arrow:before {
  top: -2px;
  left: 7px;
}
.wysiwyg-area h2-line {
  margin-bottom: 10px;
  padding: 0 0 10px 10px;
  border-bottom: 2px solid #e8e8e8;
}

.wysiwyg-area h3 {
  margin: 40px 0 20px;
  font-size: 129%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .wysiwyg-area h3 {
    margin: 20px 0;
    font-size: 107%;
  }
}
.wysiwyg-area h3 .ico-arrow {
  font-size: 89%;
  color: #b6b6b8;
}
.wysiwyg-area h3 .ico-arrow:before {
  left: 4px;
}

.wysiwyg-area h4 {
  margin: 60px 0 20px;
  padding: 12px 0 12px 5px;
  font-size: 114%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .wysiwyg-area h4 {
    margin: 30px 0 20px;
    padding: 0;
    font-size: 100%;
    font-weight: normal;
    border: none;
  }
}
@media screen and (max-width: 767px) {
  .tab-contents .wysiwyg-area h4 {
    padding-bottom: 12px;
    font-size: 114%;
    font-weight: bold;
    border-bottom: 1px solid #d5d5d5;
  }
}

.wysiwyg-area h5 {
  margin: 60px 0 20px;
  padding: 12px 0 12px 5px;
  font-size: 114%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .wysiwyg-area h5 {
    margin: 30px 0 20px;
    padding: 0;
    font-size: 100%;
    font-weight: normal;
    border: none;
  }
}

.wysiwyg-area h6 {
  margin: 40px 0 20px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .wysiwyg-area h6 {
    margin: 20px 0;
    font-size: 86%;
  }
}

@media screen and (min-width: 768px) {
  .wysiwyg-area table {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .wysiwyg-area table th img,
  .wysiwyg-area table td img {
    max-width: 375px;
  }
}

.c-box-border .wysiwyg-area h3,
.c-box-border .wysiwyg-area h4,
.c-box-border .wysiwyg-area h5,
.c-box-border .wysiwyg-area h6 {
  margin-top: 0;
}

/*-------------/wysiwyg-area-------------*/

.contact_heat input[type="checkbox"] {
  position: relative;
  width: 30px;
  height: 30px;
  background: #eee;

  border: none;
  border-radius: 0;
  -webkit-appearance: none;
}

.contact_heat input[type="checkbox"]:checked:after {
  position: relative;
  top: 50%;
  left: 50%;
  display: inline-block;
  content: "\ea10";
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-family: "icomoon";
  font-size: 171%;
}

/*-------------image LR-------------*/

@media screen and (min-width: 768px) {
  .pc_img_maxw25per {
    max-width: 25% !important;
  }
  .pc_img_maxw33per {
    max-width: 33.33% !important;
  }
  .pc_img_maxw50per {
    max-width: 50% !important;
  }
  .pc_img_maxw66per {
    max-width: 66.66% !important;
  }
  .pc_img_maxw77per {
    max-width: 77.77% !important;
  }
  .pc_img_maxwfull {
    max-width: 100% !important;
  }
}

/*-------------/image LR-------------*/

/*-------------image 2-------------*/
.products .grid--12.gutter--40px {
  margin-top: 0px;
}
/*-------------/image 2-------------*/

/*-------------table -------------*/

.c-table-scroll-w480 th,
.c-table-scroll-w480 td {
  width: auto !important;
}

/*-------------/table -------------*/

/*-------------ir -------------*/
.c-heading-lv2 + .c-btn-download-wrap {
  width: 300px;
}
/*-------------/ir -------------*/

/*-------------common -------------*/
.text-r {
  text-align: right !important;
}
.text-l {
  text-align: left !important;
}
.text-c {
  text-align: center !important;
}

/*-------------/common -------------*/

/* 入力フォームエラー */
.error-message {
  color: #cf0000;
}

/*-------------- info ----------------*/
/* box-img-text-02
---------------------------------------------------------- */
.box-img-text-02 {
  display: -ms-flex;
  display: -webki-flex;
  display: flex;
  margin-bottom: 50px;
}
.box-img-text-02 .box-image {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 33.33%;
}
.box-img-text-02 .box-image img {
  max-width: 100%;
}
.box-img-text-02 .box-detail {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 20px;
}
.box-img-text-02.img-right .box-image {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
}
.box-img-text-02.img-right .box-detail {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
  padding-left: 0;
  padding-right: 20px;
}

.box-img-text-02 .box-detail > p {
  margin-bottom: 25px;
}
.box-img-text-02 .box-detail > p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .box-img-text-02 {
    display: block;
    margin-bottom: 25px;
  }
  .box-img-text-02 .box-image {
    width: auto;
    margin-bottom: 15px;
    text-align: center;
  }

  .box-img-text-02 .box-detail > p {
    margin-bottom: 15px;
  }
}

/*-------------- /info ----------------*/

/*-------------- top ----------------*/

.mod-notice-01 .box-title {
  vertical-align: middle !important;
}

.box-news ul li {
  border-bottom: 1px solid #c2c2c2;
  padding: 10px 0;
}

.box-news ul li:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

.mod-useful-list .box-useful .icon-10 {
  background: url("/n_mori/img/ico_useful_10.png") center top no-repeat;
}
@media screen and (max-width: 767px) {
  .list-top-useful .box-useful .icon-10 {
    background-size: 28px 20px;
  }
}

/*------------- /top ----------------*/

/*------------- 園内での撮影について ----------------*/
.photograph-box a {
  text-decoration: underline;
}
.photograph-box a:hover {
  text-decoration: none;
}

/*------------- table experience----------------*/
.experience-table {
  border: 1px solid #c2c2c2;
  margin-top: 1em;
}
.experience-table th {
  border-bottom: 1px solid #c2c2c2;
  padding: 6px;
  background-color: #f6f4f2;
  text-align: center;
}
.experience-table td {
  border-bottom: 1px solid #c2c2c2;
  padding: 6px;
  text-align: center;
}
.experience-table .celline-r {
  border-right: 1px solid #c2c2c2;
  text-align: left;
}

/*------------- 英語 ----------------*/
.eng .box-form-group .box-label,
.travel .box-form-group .box-label {
  width: 253px;
}

/*-------------学校行事でご来場の方へ /mori/others/school/----------------*/
.sec-cmn-01._other-txt {
  margin-bottom: 80px;
}
.btn-cmn-01 img {
  vertical-align: middle;
  margin: 0 0 5px 5px;
}
.sec-cmn-01._other-txt > p {
  margin-bottom: 40px;
}
.other-btn-wrap {
  display: grid;
  gap: 1em;
  width: fit-content;
  margin-bottom: 2em;
}
.other-btn-wrap .btn-cmn-01 {
  width: auto;
  padding-inline: 3.5em;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .other-btn-wrap .btn-cmn-01 {
    padding: 0.5em 2.5em 0.5em 2.5em;
  }
}

/* よくあるご質問 */
.faq-nav ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1em;
}
@media screen and (max-width: 767px) {
  .faq-nav ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
:not(:lang(ja)) .faq-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
}
:not(:lang(ja)) .faq-nav ul li {
  width: calc(100% / 3 - 1em);
}
.faq-nav ul a {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #85ae5c;
  background: #f6f4f2;
  transition: background-color 0.3s ease;
}
@media (any-hover: hover) {
  .faq-nav ul a:hover {
    text-decoration: none;
    background: color-mix(in sRGB, #f6f4f2 30%, white);
  }
}
@media (hover: none) {
  .faq-nav ul a:active {
    text-decoration: none;
    background: color-mix(in sRGB, #f6f4f2 30%, white);
  }
}
.faq-nav ul .faq-nav-item {
  display: grid;
  justify-items: center;
  align-items: end;
  gap: 0.3em;
  width: 100%;
  padding: 1.5em 1em 1em;
}
@media screen and (max-width: 767px) {
  .faq-nav ul .faq-nav-item {
    align-items: stretch;
    gap: 0.5em;
    padding: 1em 1em .5em;
    min-height: 105px;
  }
}
.faq-nav ul .faq-nav-item .faq-nav-ttl {
  font-family: "Sawarabi Mincho";
  text-align: center;
  word-break: break-word;
}
@media screen and (max-width: 767px) {
  .faq-nav ul .faq-nav-item .faq-nav-ttl {
    font-size: .688rem;
  }
}
.faq-nav ul .faq-nav-item img {
  width: 3em;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}
.faq-nav ul li:nth-child(n + 4):nth-child(-n + 5) .faq-nav-item img {
  width: 4em;
  aspect-ratio: 4 / 3;
}
.faq-nav ul a span {
  display: block;
  width: 100%;
  display: flex;
  place-content: center;
  background: #85ae5c;
  padding: 0.5em;
  margin-top: auto;
}
.faq-nav ul a span img {
  width: 1.2em;
  object-fit: contain;
  transition: translate 0.3s ease;
}
@media (any-hover: hover) {
  .faq-nav ul a:hover span img {
    translate: 0 2px;
  }
}
@media (hover: none) {
  .faq-nav ul a:active span img {
    translate: 0 2px;
  }
}
.faq-con .faq-main-ttl {
  display: flex;
  align-items: center;
  gap: .3em;
  font-family: "Sawarabi Mincho";
  font-size: 1.625rem;
  line-height: 1.3;
  padding-top: min(4em, 14dvw);
  margin-bottom: .5em;
}
@media screen and (max-width: 767px) {
  .faq-con .faq-main-ttl {
    font-size: 1.188rem;
  }
}   
.faq-con .faq-main-ttl::before {
  content: "";
  display: inline-block;
  width: 1.3em;
  height: auto;
  aspect-ratio: 1;
  background: no-repeat center / contain;
  vertical-align: bottom;
}
.faq-con#faq01 .faq-main-ttl::before {
  background-image: url("/n_mori/common/img/faq_icon01.png");
}
.faq-con#faq02 .faq-main-ttl::before {
  background-image: url("/n_mori/common/img/faq_icon02.png");
}
.faq-con#faq03 .faq-main-ttl::before {
  background-image: url("/n_mori/common/img/faq_icon03.png");
}
.faq-con#faq04 .faq-main-ttl::before {
  background-image: url("/n_mori/common/img/faq_icon04.png");
  width: 1.8em;
}
:lang(ja) .faq-con#faq05 .faq-main-ttl::before {
  background-image: url("/n_mori/common/img/faq_icon05.png");
  width: 1.8em;
}
:not(:lang(ja)) .faq-con#faq05 .faq-main-ttl::before {
  background-image: url("/n_mori/common/img/faq_icon06.png");
}
.faq-con#faq06 .faq-main-ttl::before {
  background-image: url("/n_mori/common/img/faq_icon06.png");
}
.faq-con .faq-accordion-box {
  font-family: "Sawarabi Mincho";
  background: #f4f4f1;
  padding: 3em;
}
@media screen and (max-width: 767px) {
  .faq-con .faq-accordion-box {
    padding: 2em 1em;
  }
}
.faq-con .faq-accordion-box details {
  font-size: 1.25rem;
  background: #fff;
  padding: 1em;
}
@media screen and (max-width: 767px) {
  .faq-con .faq-accordion-box details {
    font-size: .813rem;
  }
}
.faq-con .faq-accordion-box details:has(+ details) {
  margin-bottom: 1em;
}
.faq-con .faq-accordion-box details summary {
  display: flex;
  align-items: center;
  gap: .6em;
  list-style: none;
  cursor: pointer;
}
.faq-con .faq-accordion-box details summary::before {
  content: 'Q';
  display: inline-block;
  font-size: 1.625rem;
  color: #fff;
  text-align: center;
  width: 2em;
  min-width: 2em;
  height: auto;
  aspect-ratio: 1;
  line-height: 2;
  background: #85ae5c;
  margin-bottom: auto;
}
@media screen and (max-width: 767px) {
  .faq-con .faq-accordion-box details summary::before {
    font-size: 1.125rem;
  }
}
.faq-con .faq-accordion-box details summary::-webkit-details-marker {
  display: none;
}
.faq-con .faq-accordion-box details summary .accordion-btn {
  position: relative;
  min-width: 1.5em;
  height: 1.5em;
  margin-left: auto;
}
.faq-con .faq-accordion-box details .accordion-txt-wrap {
  display: flex;
  align-items: baseline;
  gap: .6em;
  border-top: 1px solid #f4f4f1;
  padding-block: 1em;
  margin-top: 1em;
}
.faq-con .faq-accordion-box details .accordion-txt-wrap::before {
  content: 'A';
  left: 0;
  top: .5em;
  font-size: 1.625rem;
  text-align: center;
  width: 2em;
  min-width: 2em;
  height: auto;
  aspect-ratio: 1;
  color: #fff;
  line-height: 2;
  background: #a6c2b1;
  border-radius: 50vw;
}
@media screen and (max-width: 767px) {
  .faq-con .faq-accordion-box details .accordion-txt-wrap::before {
    font-size: 1.125rem;
  }
}
.faq-con .faq-accordion-box details .accordion-txt-wrap .accordion-txt {
  overflow: hidden;
}
.faq-con .faq-accordion-box details .accordion-txt-wrap .accordion-txt a {
  display: block;
  color: #0060eb;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-indent: -1em;
  padding-left: 1em;
  margin-top: .5em;
}
.faq-con .faq-accordion-box details .accordion-txt-wrap .accordion-txt a::before {
  content: '＞';
}
.faq-con .faq-accordion-box details summary .accordion-btn::before,
.faq-con .faq-accordion-box details summary .accordion-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 1.3em;
  height: 2px;
  background: #777777;
  transition: rotate .3s ease;
}
.faq-con .faq-accordion-box details summary .accordion-btn::after {
  rotate: 90deg; 
}
.faq-con .faq-accordion-box details summary.is-active .accordion-btn::after {
  rotate: 0deg; 
}
.faq-con .faq-accordion-box details .accordion-table-wrap {
  overflow-y: auto;
  margin-top: 1em;
}
.faq-con .faq-accordion-box details .accordion-table-wrap table {
  width: 100%;
  min-width: 300px;
  border-collapse: collapse;
}
.faq-con .faq-accordion-box details .accordion-table-wrap table * {
  font-size: 1rem;
  word-break: auto-phrase;
  border: 1px solid;
  padding: .3em .5em;
}
@media screen and (max-width: 767px) {
  .faq-con .faq-accordion-box details .accordion-table-wrap table * {
    font-size: .625rem;
  }
}
:lang(ja) .faq-con .faq-accordion-box details .accordion-table-wrap table * {
  text-align: center;
}
/* scroll-bar  */
::-webkit-scrollbar {
  width: 10px;
  height: 7px;
}
::-webkit-scrollbar-track {
  width: 10px;
  border-radius: 10px;
  background: #ddd;
}
::-webkit-scrollbar-thumb {
  background: #832538;
  border-radius: 10px;
}
