@charset "UTF-8";
/* Scss Document */
html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

em {
  font-style: normal; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

img, svg {
  font-size: 0;
  line-height: 0;
  vertical-align: bottom; }

a img {
  border: none; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 400; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* Scss Document */
/*[class^="i-"] {
	display: inline-block;
	line-height: 1;
	svg {
		width: 100%;
		height: auto;
	}
}*/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* General Style
/* --------------------------------------------------- */
html {
  font-size: 62.5%;
  /* 16pxに625%を掛けると100pxになるよ！ */
  height: 100%;
  scroll-behavior: smooth;
  /* スムーススクロールを指定　*/
  scroll-padding-top: 50px; }

body {
  width: 100%;
  height: 100%;
  color: #000;
  background: #fff;
  text-align: center;
  line-height: 1;
  font-size: 1.4em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  -webkit-text-size-adjust: 100%; }
  @media print, screen and (min-width: 769px) {
    body {
      font-size: 1.6em; } }

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

a img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }

a:hover img {
  opacity: .7; }

.bvh {
  image-rendering: -webkit-optimize-contrast; }

/* レスポンシブルimages */
.rpimg {
  width: 100%;
  height: auto; }

/* レスポンシブルimages */
/* common                                      
/* --------------------------------------------------- */
/* header                                         
/* --------------------------------------------------- */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background-color: white;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media print, screen and (min-width: 980px) {
    #header {
      margin: 0 auto;
      right: 0;
      /*max-width: 1600px;*/ } }
  #header.show {
    -webkit-transform: translateY(-90px);
    transform: translateY(-90px); }
    @media print, screen and (min-width: 980px) {
      #header.show {
        -webkit-transform: translateY(-80px);
        transform: translateY(-80px); } }
  #header.is-in {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); }
    @media print, screen and (min-width: 980px) {
      #header.is-in {
        -webkit-transform: translateY(0px);
        transform: translateY(0px); } }
  #header.is-in {
    /*.gn a,.gn .a-tag{
    	@include head-ms-pc{
    		color:#fff;
    	}
    	&:after {
    		background-color: #fff;
    	}
    }*/ }
    @media print, screen and (min-width: 980px) {
      #header.is-in {
        background-color: #ddf2fb; } }
    @media print, screen and (min-width: 980px) {
      #header.is-in .header-inner {
        height: 50px; } }
    @media print, screen and (min-width: 980px) {
      #header.is-in .header-logo {
        width: 200px; } }
    @media print, screen and (min-width: 980px) {
      #header.is-in .nav-sns {
        display: none; } }

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  text-align: left;
  position: relative;
  height: 90px;
  padding: 0 min(5.4794520548vw, 24px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media print, screen and (min-width: 980px) {
    .header-inner {
      margin: 0 auto;
      max-width: 1040px;
      padding: 0 min(1.8867924528vw, 20px);
      height: 80px; } }
  .header-inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    background-color: #efefef;
    width: 100%;
    height: 38px; }
    @media print, screen and (min-width: 980px) {
      .header-inner::after {
        display: none; } }

.header-logo {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-image: url("../img/common/head_logo.png");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 47px 48px; }
  @media print, screen and (max-width: 979px) {
    .header-logo {
      background-size: 38px;
      padding-left: 48px;
      height: 36px; } }
  @media print, screen and (min-width: 980px) {
    .header-logo {
      padding-left: 60px;
      height: 44px; } }

.header-logo h1 {
  font-weight: 600;
  font-size: 1.6rem; }
  @media print, screen and (min-width: 980px) {
    .header-logo h1 {
      font-size: 2.2rem; } }
  .header-logo h1::before {
    content: "NPO法人";
    font-weight: 500;
    font-size: 84%;
    padding-right: 0.5em; }
  .header-logo h1 a, .header-logo h1 a:hover {
    color: #333;
    text-decoration: none; }

.header-logo h2 {
  font-size: 0.8rem;
  margin-top: 1em; }
  @media print, screen and (min-width: 980px) {
    .header-logo h2 {
      font-size: 1rem; } }

.header-logo {
  grid-row: 1 / 2;
  grid-column: 1 / 2; }

@media print, screen and (max-width: 979px) {
  #searchform {
    text-align: center;
    grid-row: 2 / 3;
    grid-column: 1 / 3;
    position: relative;
    z-index: 2; } }
@media print, screen and (min-width: 980px) {
  #searchform {
    grid-row: 1 / 2;
    grid-column: 2 / 3; } }
#searchform input[type="text"] {
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 0.5em;
  width: 200px;
  height: 2em; }
  #searchform input[type="text"]:focus {
    outline: #77b8f9 2px solid;
    border: 1px solid #0084FF; }
  #searchform input[type="text"].caution {
    border: 1px solid #FF0000; }
#searchform input[type="submit"] {
  font-family: 'Akshar', 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #fff;
  background-color: #003399;
  border: none;
  border-radius: 5px;
  padding: 3px 10px; }

#rap {
  text-align: left;
  padding: 0 min(6.8493150685vw, 30px); }
  @media print, screen and (min-width: 769px) {
    #rap {
      max-width: 1040px;
      padding: 0 min(1.8867924528vw, 20px);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 250px;
      column-gap: min(3.7735849057vw, 40px); } }
  #rap a, #rap a:visited, #rap a:active {
    color: #003399;
    text-decoration: none; }
  #rap a:hover {
    text-decoration: underline; }

#alpha {
  line-height: 1.8;
  padding: min(6.8493150685vw, 30px) 0; }
  @media print, screen and (min-width: 769px) {
    #alpha {
      padding: min(3.7735849057vw, 40px) 0; } }

#beta {
  background-color: #ddf4fc;
  border-radius: 2em 0 0 0;
  padding: 1em min(5.4794520548vw, 24px) 3em;
  margin-top: 1em; }
  @media print, screen and (min-width: 769px) {
    #beta {
      padding: 1em min(1.8867924528vw, 20px) 3em; } }

.content .pagename {
  color: #009999;
  font-size: 118%;
  border-bottom: double 3px #009999;
  padding: 0 0 0.5em; }

.content p + p, .content h2 + p, .content h2 + h3, .content h3 + h3 {
  margin-top: 1em; }

.content p + h2, .content h3 + h2, .content h3 + p {
  margin-top: 2em; }

.adobe-reader {
  background-color: #efefef;
  padding: 1em; }

#post-16963 p {
  font-size: 88%; }

.facebook-area {
  margin-top: 3em; }
  .facebook-area iframe {
    width: 100% !important; }

.copyright {
  display: block;
  color: #fff;
  background-color: #003399;
  padding: 1em;
  font-size: min(2.9680365297vw, 1.3rem); }
  @media print, screen and (min-width: 769px) {
    .copyright {
      font-size: min(1.320754717vw, 1.4rem); } }

/* コンタクトフォーム */
.wpcf7-form {
  background-color: #e8fae1;
  padding: 2em; }
  .wpcf7-form input[type="text"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="email"], .wpcf7-form input[type="date"], .wpcf7-form textarea, .wpcf7-form select {
    border-radius: 5px;
    border: 1px solid #ccc;
    padding: 0.5em;
    width: 100%;
    height: 46px; }
    .wpcf7-form input[type="text"]:focus, .wpcf7-form input[type="tel"]:focus, .wpcf7-form input[type="email"]:focus, .wpcf7-form input[type="date"]:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {
      outline: #77b8f9 2px solid;
      border: 1px solid #0084FF; }
    .wpcf7-form input[type="text"].caution, .wpcf7-form input[type="tel"].caution, .wpcf7-form input[type="email"].caution, .wpcf7-form input[type="date"].caution, .wpcf7-form textarea.caution, .wpcf7-form select.caution {
      border: 1px solid #FF0000; }
  .wpcf7-form textarea {
    width: 100%;
    height: 150px; }
    @media screen and (max-width: 480px) {
      .wpcf7-form textarea {
        height: 120px; } }
  .wpcf7-form .wpcf7-submit {
    font-family: 'Akshar', 'Noto Sans JP', sans-serif;
    font-weight: 600;
    padding: 1em;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    display: inline-block;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #fff !important;
    background-color: #339900;
    border: 1px solid #339900;
    border-radius: 2em;
    padding: 0.5em 2em;
    font-size: 1.6rem; }
    @media print, screen and (min-width: 769px) {
      .wpcf7-form .wpcf7-submit {
        font-size: 1.8rem; } }
    .wpcf7-form .wpcf7-submit:hover {
      color: #339900 !important;
      background-color: #fff; }

.inquiry {
  width: 100%; }

.inquiry th {
  text-align: left;
  font-size: 14px;
  color: #fff;
  background-color: #009999;
  padding: 0.5em;
  width: 30%; }

.inquiry tr:not(:last-child) {
  border-bottom: 1px solid #fff; }

.inquiry td {
  padding: 0.5em;
  background-color: #fff; }

.archive ul {
  padding: 0 0 0 15px;
  margin: 0;
  color: #666;
  counter-reset: number 0; }

.archive ul li {
  border-bottom: 1px dashed #ccc;
  padding-bottom: 1em;
  margin-bottom: 1em;
  list-style-type: decimal;
  list-style-position: inside;
  display: grid;
  position: relative;
  padding-left: 2em; }
  .archive ul li::before {
    counter-increment: number 1;
    content: counter(number) "";
    position: absolute;
    top: 0.3em;
    left: 0;
    width: 1.6em;
    height: 1.6em;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    color: #fff;
    background-color: #009999;
    font-size: 78%; }

.archive ul li a {
  order: 2; }

.archive ul li .date {
  order: 1;
  font-size: 88%; }

/* サイドバー */
.navigation {
  clear: both;
  text-align: center;
  padding: 2em 0 0; }
  .navigation a {
    color: #fff !important;
    padding: 0.25em 1em;
    background-color: #009999;
    border-radius: 5px; }
  .navigation .alignleft, .navigation .alignright {
    display: inline;
    margin: 0 0.5em; }

#beta ul li {
  position: relative;
  font-size: 88%;
  padding-left: 15px; }
  #beta ul li::before {
    position: absolute;
    top: 0.25em;
    left: 0;
    margin: auto;
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 2px solid #009999;
    border-right: 2px solid #009999;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
#beta .widget {
  line-height: 1.6; }
#beta .module_title {
  color: #009999;
  font-weight: 600;
  padding: 0 0 0.5em;
  border-bottom: 1px solid #009999;
  margin: 2em 0 1em; }
#beta #subscribe-text p {
  font-size: 1.2rem;
  margin-bottom: 1em; }
#beta #subscribe-email input[type="email"] {
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 0.5em;
  width: 100%;
  height: 46px; }
  #beta #subscribe-email input[type="email"]:focus {
    outline: #77b8f9 2px solid;
    border: 1px solid #0084FF; }
  #beta #subscribe-email input[type="email"].caution {
    border: 1px solid #FF0000; }
#beta .wp-block-jetpack-subscriptions__subscount, #beta .wp-block-button__link {
  font-size: 1.2rem;
  margin-top: 1em; }

#beta li.cat-item {
  padding-left: 0; }
  #beta li.cat-item + li.cat-item {
    margin-top: 0.25em; }
  #beta li.cat-item::before {
    display: none; }
  #beta li.cat-item a {
    display: block;
    text-align: center;
    padding: 1em 0.5em;
    background-color: #009999;
    color: #fff !important;
    border-radius: 0.25em;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  #beta li.cat-item a:hover {
    text-decoration: none;
    opacity: 0.8; }

#wp-calendar {
  width: 100%;
  font-size: 1.2rem;
  color: #666; }

#calendar p.module_title {
  display: none; }

#wp-calendar caption {
  color: #009999;
  font-weight: 500;
  font-size: 1.4rem;
  padding: 0 0 0.5em; }

#wp-calendar th {
  background-color: #009999;
  color: #fff;
  text-align: center;
  padding: 0.5em 0;
  font-weight: normal;
  font-style: normal; }

#wp-calendar td {
  text-align: center;
  background-color: #eee;
  padding: 0.5em 0; }

#wp-calendar td a {
  color: #009999 !important;
  font-weight: normal;
  font-style: normal; }

#wp-calendar td.pad {
  background-color: #fff; }

.single.page {
  max-width: 560px;
  margin: 0 auto; }
  .single.page p {
    font-size: 1.4rem; }
  @media screen and (max-width: 480px) {
    .single.page a img {
      width: 100%; } }

@media print, screen and (max-width: 768px) {
  #commentform p:nth-child(1), #commentform p:nth-child(2), #commentform p:nth-child(3) {
    display: grid; }
    #commentform p:nth-child(1) input, #commentform p:nth-child(2) input, #commentform p:nth-child(3) input {
      order: 2; }
    #commentform p:nth-child(1) label, #commentform p:nth-child(2) label, #commentform p:nth-child(3) label {
      order: 1; } }
@media print, screen and (max-width: 768px) {
  #commentform p:nth-child(4)::before {
    content: "コメント欄";
    display: block; } }

#commentform #comment {
  max-width: 500px;
  width: 100%;
  border: 1px solid #b3b3b3;
  background-color: #fbffe4;
  height: 170px;
  font-size: 12px;
  line-height: 18px;
  padding: 5px; }

#commentform #author, #commentform #email, #commentform #url {
  border: 1px solid #b3b3b3;
  background-color: #fbffe4;
  max-width: 250px;
  width: 100%;
  padding: 5px;
  font: 1.2rem "Lucida Grande", Lucida, Verdana, sans-serif; }

#commentform p {
  padding: 0 0 5px; }

/* contents                                           
/* --------------------------------------------------- */
.main-contents {
  line-height: 1.8;
  position: relative;
  z-index: 4;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: min(3.4246575342vw, 1.5rem);
  padding-bottom: 3em; }
  @media print, screen and (min-width: 769px) {
    .main-contents {
      font-size: min(1.5094339623vw, 1.6rem); } }
  .main-contents .bg01 {
    background-color: #000; }
  .main-contents .section {
    text-align: left;
    max-width: 1000px;
    padding: min(6.8493150685vw, 30px) min(5.4794520548vw, 24px); }
    @media print, screen and (min-width: 769px) {
      .main-contents .section {
        padding: min(4.7169811321vw, 50px) min(1.8867924528vw, 20px);
        margin: 0 auto; } }
  .main-contents .wide-A {
    max-width: 1240px; }
  .main-contents * + p, .main-contents * + ul, .main-contents * + ol {
    margin-top: 1em; }
  .main-contents a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .main-contents a img {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .main-contents a:hover img {
    opacity: 0.7; }
  .main-contents a, .main-contents a:visited, .main-contents a:active {
    color: #003399;
    text-decoration: none; }
  .main-contents a:hover {
    text-decoration: underline; }

/* ページ内リンク固定ヘッダーズレ解消 */
@media print, screen and (max-width: 979px) {
  .pl-area {
    margin-top: -50px; }
    .pl-area .target {
      padding-top: 50px;
      display: block; } }

/* パンくずナビ */
.breadcrumb-container {
  text-align: left;
  background-color: #efefef; }
  .breadcrumb-container ul {
    padding: 1em 10px; }
    @media print, screen and (min-width: 980px) {
      .breadcrumb-container ul {
        max-width: 1020px;
        margin: 0 auto; } }
  .breadcrumb-container li {
    font-size: 1.2rem;
    font-weight: 500;
    display: inline-block;
    position: relative;
    padding-right: 20px; }
    @media print, screen and (min-width: 980px) {
      .breadcrumb-container li {
        font-size: 1.4rem; } }
    .breadcrumb-container li::after {
      position: absolute;
      top: calc(50% - 4px);
      right: 6px;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 5px;
      height: 5px;
      border-top: 2px solid #cc3366;
      border-right: 2px solid #cc3366;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .breadcrumb-container li:last-child::after {
      display: none; }
    .breadcrumb-container li a {
      color: #cc3366; }

.page-link {
  max-width: 1280px;
  padding: 1em 4% 0;
  margin: 0 auto;
  grid-template-columns: 1fr;
  display: inline-block; }
  @media print, screen and (max-width: 768px) {
    .page-link {
      text-align: left; } }
  @media print, screen and (min-width: 769px) {
    .page-link {
      padding: 1em 20px 0;
      display: -ms-grid;
      display: grid;
      justify-content: center;
      gap: 0.5em 2.5em;
      grid-template-columns: repeat(3, auto); } }
  @media print, screen and (min-width: 769px) {
    .page-link.c2 {
      grid-template-columns: repeat(2, auto); } }
  @media print, screen and (min-width: 769px) {
    .page-link.c4 {
      grid-template-columns: repeat(4, auto); } }
  .page-link li {
    position: relative; }
    @media print, screen and (max-width: 768px) {
      .page-link li:not(:first-child) {
        margin-top: 1em; } }
    .page-link li span {
      display: inline-block;
      margin-right: 5px; }
    .page-link li svg {
      vertical-align: middle; }

/* footer                                           
/* --------------------------------------------------- */
#footer {
  border-top: 2px solid #003399;
  background-color: #fff;
  color: #000;
  width: 100%;
  position: relative;
  z-index: 5; }
  #footer .footer-inner {
    display: grid;
    padding: 3em min(5.4794520548vw, 24px); }
    @media print, screen and (max-width: 768px) {
      #footer .footer-inner {
        gap: 1em; } }
    @media print, screen and (min-width: 769px) {
      #footer .footer-inner {
        max-width: 1020px;
        padding: 3em min(1.8867924528vw, 20px);
        margin: 0 auto;
        grid-template-columns: auto 1fr;
        column-gap: 3em; } }

.foot-add {
  text-align: center;
  line-height: 1.8;
  display: block;
  /*.corp-name {
  	font-size:sp-fs(19);
  	font-weight: 600;
  	@include ms-pc {
  		font-size:pc-fs(22);			
  	}
  }*/ }
  @media print, screen and (min-width: 769px) {
    .foot-add {
      margin: 0;
      width: 320px;
      text-align: left; } }
  @media print, screen and (max-width: 768px) {
    .foot-add {
      width: 100%;
      text-align: left; } }
  .foot-add .corp-name {
    width: 200px; }
    @media print, screen and (min-width: 769px) {
      .foot-add .corp-name {
        width: 311px; } }
  .foot-add .add {
    margin: 1em 0;
    font-size: min(3.196347032vw, 1.4rem); }
    @media print, screen and (min-width: 769px) {
      .foot-add .add {
        font-size: min(1.5094339623vw, 1.6rem); } }
  .foot-add .nav {
    font-size: min(3.196347032vw, 1.4rem); }
    @media print, screen and (min-width: 769px) {
      .foot-add .nav {
        font-size: min(1.320754717vw, 1.4rem); } }
  .foot-add a {
    font-weight: 600;
    text-decoration: none; }
    .foot-add a:hover {
      text-decoration: underline; }

.foot-nav {
  font-size: min(3.196347032vw, 1.4rem);
  text-align: left;
  line-height: 1.5; }
  @media print, screen and (min-width: 769px) {
    .foot-nav {
      font-size: min(1.320754717vw, 1.4rem); } }
  @media print, screen and (max-width: 768px) {
    .foot-nav {
      margin-top: 2em; } }
  .foot-nav .nav {
    text-align: right; }
  .foot-nav .nav li, .foot-nav .nav-sns li {
    margin: 0 1.5em 0.5em 0;
    position: relative;
    text-align: left;
    display: inline-block;
    font-weight: 600; }
    .foot-nav .nav li:last-child, .foot-nav .nav-sns li:last-child {
      margin-right: 0; }
  @media print, screen and (max-width: 768px) {
    .foot-nav .nav li {
      display: block;
      padding-bottom: 1em;
      margin-bottom: 1em;
      border-bottom: 1px solid #003399; } }
  .foot-nav .nav-sns {
    margin-top: 1em; }
    @media print, screen and (min-width: 769px) {
      .foot-nav .nav-sns {
        text-align: right; } }
  .foot-nav a {
    color: #003399;
    font-weight: 600;
    text-decoration: none; }
    .foot-nav a:hover {
      text-decoration: underline; }

#footer .Copyright {
  display: block;
  color: #fff;
  background-color: #003399;
  padding: 1em;
  font-size: min(2.9680365297vw, 1.3rem); }
  @media print, screen and (min-width: 769px) {
    #footer .Copyright {
      font-size: min(1.320754717vw, 1.4rem); } }

/* page top */
#page-top {
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: 3em;
  right: 1em;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  background-color: #cc3366;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0; }
  #page-top:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #fff #fff transparent transparent;
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -5px;
    margin-left: -5px; }
  #page-top.hide {
    opacity: 1; }
  @media print, screen and (min-width: 769px) {
    #page-top {
      bottom: 1em;
      right: 1em; } }

/*==ナビゲーション全体の設定*/
/* 2階層ナビ */
#header_navi {
  background-color: #003399; }
  @media print, screen and (max-width: 979px) {
    #header_navi {
      padding: 0;
      position: fixed;
      z-index: 998;
      top: 90px;
      left: -99.99%;
      width: 100%;
      height: 100vh;
      opacity: 0;
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; } }
  @media print, screen and (min-width: 980px) {
    #header_navi {
      text-align: center; } }
  #header_navi #page_navi {
    /*@include head-ms-pc {
    	display: grid;
    	grid-template-columns: repeat(5,auto);
    	justify-content: end;
    	column-gap: 3em;
    	margin: 0 auto;
    }*/
    list-style: none; }
    @media print, screen and (max-width: 979px) {
      #header_navi #page_navi {
        display: block; } }
    @media print, screen and (min-width: 980px) {
      #header_navi #page_navi {
        display: flex;
        max-width: 1040px;
        margin: 0 auto;
        padding: 0 min(1.8867924528vw, 20px); }
        #header_navi #page_navi > li + li {
          margin-left: 2em; } }
    #header_navi #page_navi li {
      position: relative; }
      @media print, screen and (max-width: 979px) {
        #header_navi #page_navi li {
          padding: 0; } }
      #header_navi #page_navi li a, #header_navi #page_navi li .a-tag {
        display: block;
        text-decoration: none;
        position: relative;
        overflow: hidden;
        font-weight: 400;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease; }
        @media print, screen and (max-width: 979px) {
          #header_navi #page_navi li a, #header_navi #page_navi li .a-tag {
            font-size: 1.3rem;
            color: #fff;
            padding: 15px 44px 13px 0;
            margin: 0 1em;
            text-align: left;
            border-bottom: 1px solid #fff; } }
        @media print, screen and (min-width: 980px) {
          #header_navi #page_navi li a, #header_navi #page_navi li .a-tag {
            color: #fff;
            padding: 0;
            display: grid;
            place-items: center;
            font-size: 1.4rem;
            padding: 13px 0; } }
      #header_navi #page_navi li > a, #header_navi #page_navi li > .a-tag {
        /* 矢印 */ }
        @media print, screen and (min-width: 980px) {
          #header_navi #page_navi li > a:after, #header_navi #page_navi li > .a-tag:after {
            content: "";
            position: absolute;
            width: 100%;
            height: 2px;
            background-color: #fff;
            bottom: 0;
            left: -100%;
            -webkit-transition: all 0.3s ease;
            -moz-transition: all 0.3s ease;
            -o-transition: all 0.3s ease;
            transition: all 0.3s ease; } }
  @media print, screen and (min-width: 980px) and (max-width: 480px) {
    #header_navi #page_navi li > a:after, #header_navi #page_navi li > .a-tag:after {
      display: none; } }
        @media print, screen and (min-width: 980px) {
          #header_navi #page_navi li > a:hover:after, #header_navi #page_navi li > .a-tag:hover:after {
            left: 0; } }
      #header_navi #page_navi li > a {
        /* 矢印 */ }
        @media print, screen and (max-width: 979px) {
          #header_navi #page_navi li > a::before {
            position: absolute;
            top: calc(50% - 4px);
            right: 20px;
            margin: auto;
            content: "";
            vertical-align: middle;
            width: 8px;
            height: 8px;
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg); } }
      #header_navi #page_navi li.current_page_item > a::after, #header_navi #page_navi li.current_page_item > .a-tag::after {
        left: 0;
        background-color: #fff; }
      #header_navi #page_navi li.current2 > a, #header_navi #page_navi li.current2 > .a-tag {
        color: #fff; }
        #header_navi #page_navi li.current2 > a::after, #header_navi #page_navi li.current2 > .a-tag::after {
          left: 0;
          background-color: #fff; }
      #header_navi #page_navi li .close-btn {
        display: inline-block;
        width: 50px;
        height: 50px;
        margin: 20px auto;
        position: relative;
        cursor: pointer;
        border-bottom: none; }
        #header_navi #page_navi li .close-btn:before, #header_navi #page_navi li .close-btn:after {
          display: block;
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          width: 30px;
          height: 2px;
          margin: -8% 0 0 -42%;
          background: #333; }
        #header_navi #page_navi li .close-btn:before {
          transform: rotate(-45deg); }
        #header_navi #page_navi li .close-btn:after {
          transform: rotate(45deg); }
  @media print, screen and (max-width: 979px) {
    #header_navi.panelactive {
      opacity: 1;
      left: 0; }
      #header_navi.panelactive #g-nav-list {
        position: fixed;
        z-index: 999;
        width: 100%;
        height: 100vh;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 60px; } }

/* 2階層ナビ */
#g-nav .menu-item-has-children .sub-menu {
  position: absolute;
  z-index: 4;
  display: block;
  visibility: hidden;
  opacity: 0; }
  @media print, screen and (max-width: 979px) {
    #g-nav .menu-item-has-children .sub-menu {
      position: relative;
      left: 0;
      top: 0;
      width: 100%;
      visibility: visible;
      opacity: 1;
      display: none;
      transition: none; }
      #g-nav .menu-item-has-children .sub-menu ul {
        border-bottom: none;
        display: block; } }
  #g-nav .menu-item-has-children .sub-menu .child-open {
    display: none; }
#g-nav .menu-item-has-children:hover > ul, #g-nav .menu-item-has-children:active > ul {
  visibility: visible;
  opacity: 1; }
@media print, screen and (min-width: 980px) {
  #g-nav .menu-item-has-children li {
    margin: 0; } }
#g-nav .menu-item-has-children li a {
  line-height: 1.4;
  text-align: left;
  position: relative;
  display: block; }
  @media print, screen and (max-width: 979px) {
    #g-nav .menu-item-has-children li a {
      color: #003399;
      background-color: #fff;
      padding: 15px 44px 13px 1.5em;
      border-bottom: none; } }
  @media print, screen and (min-width: 980px) {
    #g-nav .menu-item-has-children li a {
      color: #fff;
      background-color: #009999;
      margin: 0;
      padding: 0.5em 1.5em;
      height: auto;
      white-space: nowrap; } }
  #g-nav .menu-item-has-children li a::after {
    display: none; }
  @media print, screen and (max-width: 979px) {
    #g-nav .menu-item-has-children li a:hover {
      color: #fff !important; } }
  @media print, screen and (max-width: 979px) {
    #g-nav .menu-item-has-children li a::before {
      border-top: 1px solid #003399;
      border-right: 1px solid #003399; } }
@media print, screen and (max-width: 979px) {
  #g-nav .menu-item-has-children li:last-of-type ul {
    margin-bottom: 1em; } }
#g-nav .menu-item-has-children li + li a {
  border-top: 1px solid #003399; }
  @media print, screen and (min-width: 980px) {
    #g-nav .menu-item-has-children li + li a {
      border-top: 1px solid #fff; } }
@media print, screen and (max-width: 979px) {
  #g-nav .menu-item-has-children.active::before {
    transform: rotate(-45deg); } }

#g-nav .menu-item-has-children .megaMenu {
  position: absolute;
  z-index: 4;
  display: inline-block;
  visibility: hidden;
  opacity: 0;
  background-color: #009999;
  width: 100%; }
  @media print, screen and (min-width: 980px) {
    #g-nav .menu-item-has-children .megaMenu {
      position: fixed;
      top: 150px;
      left: 0;
      width: 100%;
      padding: 1em;
      /*@include trans;*/ } }
  @media print, screen and (max-width: 979px) {
    #g-nav .menu-item-has-children .megaMenu {
      position: relative;
      left: 0;
      top: 0;
      visibility: visible;
      opacity: 1;
      display: none;
      transition: none; } }
  #g-nav .menu-item-has-children .megaMenu a {
    display: block;
    text-align: left;
    color: #fff;
    background-color: #009999;
    white-space: nowrap; }
    @media print, screen and (min-width: 980px) {
      #g-nav .menu-item-has-children .megaMenu a {
        font-size: min(1.320754717vw, 1.4rem);
        padding: 1em 0.5em 1em 1.5em;
        /*border-bottom: 1px dashed #fff;*/ }
        #g-nav .menu-item-has-children .megaMenu a::before {
          position: absolute;
          top: calc(50% - 4px);
          left: 0;
          margin: auto;
          content: "";
          vertical-align: middle;
          width: 6px;
          height: 6px;
          border-top: 2px solid #fff;
          border-right: 2px solid #fff;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          -webkit-transition: all 0.3s ease;
          -moz-transition: all 0.3s ease;
          -o-transition: all 0.3s ease;
          transition: all 0.3s ease; }
        #g-nav .menu-item-has-children .megaMenu a:hover {
          background-color: #003399;
          border-radius: 0.5em; }
        #g-nav .menu-item-has-children .megaMenu a:hover::before {
          left: 5px; } }
    @media print, screen and (max-width: 979px) {
      #g-nav .menu-item-has-children .megaMenu a::before {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff; } }
@media print, screen and (min-width: 980px) {
  #g-nav .menu-item-has-children .megaMenu-inner {
    max-width: 820px;
    margin: 0 auto;
    display: grid;
    gap: 2px;
    grid-template-columns: repeat(4, 1fr); } }

@media print, screen and (min-width: 980px) {
  .show .megaMenu {
    top: 50px; } }

#g-nav .menu-item-has-children:hover .megaMenu, #g-nav .menu-item-has-children.active .megaMenu {
  visibility: visible;
  opacity: 1; }
  @media print, screen and (min-width: 980px) {
    #g-nav .menu-item-has-children:hover .megaMenu, #g-nav .menu-item-has-children.active .megaMenu {
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; } }

.child-list li {
  position: relative; }
  .child-list li::before {
    position: absolute;
    top: calc(50% - 8px);
    left: 1.5em;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    z-index: 10; }
  .child-list li a {
    padding-left: 2.5em !important; }

.child-open {
  position: absolute;
  top: 0;
  right: 1em;
  background-color: #fff;
  height: 43px;
  width: 44px;
  display: none;
  cursor: pointer; }
  @media print, screen and (min-width: 769px) {
    .child-open {
      height: 44px; } }
  .child-open:before, .child-open:after {
    content: '';
    height: 1px;
    width: 16px;
    display: block;
    background-color: #003399;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -1px 0 0 -8px;
    -moz-transition: .3s;
    transition: .3s; }
  .child-open:after {
    height: 16px;
    width: 1px;
    margin: -8px 0 0 -1px; }
  .active .child-open:befor {
    display: none; }
  .active .child-open:after {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg); }
  @media print, screen and (min-width: 980px) {
    .child-open {
      display: none; } }
  @media print, screen and (max-width: 979px) {
    .menu-item-has-children .child-open {
      display: block; } }

.active .child-open:befor {
  display: none; }

.active .child-open:after {
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg); }

/*#work .has-child.current ul{
	@include head-ms-pc {
		display: none!important;
	}
	@include head-ms-tb {
		display: none;
	}
}
*/
/* ハンバーガーメニューボタン */
@media print, screen and (max-width: 979px) {
  .openbtn1 {
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-color: #fff; }
    .openbtn1 span {
      display: inline-block;
      transition: all .4s;
      position: absolute;
      left: 14px;
      height: 2px;
      border-radius: 2px;
      background-color: #666;
      width: 45%; }
      .openbtn1 span:nth-of-type(1) {
        top: 15px; }
      .openbtn1 span:nth-of-type(2) {
        top: 24px; }
      .openbtn1 span:nth-of-type(3) {
        top: 32px; }
    .openbtn1.active {
      background-color: #fff; }
    .openbtn1.active span:nth-of-type(1) {
      top: 16px;
      left: 18px;
      transform: translateY(6px) rotate(-45deg);
      width: 30%;
      background-color: #666; }
    .openbtn1.active span:nth-of-type(2) {
      opacity: 0; }
    .openbtn1.active span:nth-of-type(3) {
      top: 28px;
      left: 18px;
      transform: translateY(-6px) rotate(45deg);
      width: 30%;
      background-color: #666; }
    #inquiry .openbtn1 {
      display: none; } }
/* HOME */
/* Key */
.key-img {
  width: 100%;
  padding-top: 50px;
  display: grid; }
  @media print, screen and (min-width: 980px) {
    .key-img {
      margin: 0 auto;
      max-width: 1600px;
      padding-top: 100px; } }
  .key-img picture, .key-img .txt {
    grid-row: 1;
    grid-column: 1; }
  .key-img .txt {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: min(11.4155251142vw, 50px) 0 0 min(4.5662100457vw, 20px);
    width: min(45.6621004566vw, 200px);
    height: min(45.6621004566vw, 200px); }
    @media print, screen and (min-width: 481px) {
      .key-img .txt {
        margin: 6.25% 0 0 12.5%;
        width: 25%;
        height: 50%; } }
  .key-img .txt h2 {
    color: #cc3366;
    font-size: min(3.196347032vw, 1.4rem); }
    @media print, screen and (min-width: 481px) {
      .key-img .txt h2 {
        font-size: min(1.75vw, 2.8rem); } }
  .key-img .txt h2 strong {
    display: block;
    margin-top: 0.25em; }
  .key-img .txt h2 em {
    font-family: 'Bebas Neue', cursive;
    font-weight: 400;
    letter-spacing: 0.1em;
    font-size: min(10.2739726027vw, 4.5rem); }
    @media print, screen and (min-width: 481px) {
      .key-img .txt h2 em {
        font-size: min(5.625vw, 9rem); } }
  .key-img .txt h2 .btn {
    color: #fff;
    background-color: #cc3366;
    display: block;
    border-radius: 1.5em;
    padding: 0.75em 1em;
    margin-top: 1em;
    font-size: min(2.0547945205vw, 0.9rem); }
    @media print, screen and (min-width: 481px) {
      .key-img .txt h2 .btn {
        font-size: min(1vw, 1.6rem); } }

/* Key Slider */
.key-slider {
  width: 100%;
  padding-top: 90px;
  position: relative;
  /* 読み込み時の崩れ防止 */
  /* 読み込み時フェードインアニメ */ }
  @media print, screen and (min-width: 980px) {
    .key-slider {
      margin: 0 auto;
      padding-top: 120px; } }
  .key-slider .slider > li:not(:first-child) {
    display: none; }
  .key-slider .slider {
    opacity: 0;
    -webkit-transition: opacity .3s linear;
    transition: opacity .3s linear; }
  .key-slider .slider.slick-initialized {
    opacity: 1; }

/* 読み込み時フェードインアニメ */
.thumbnail {
  opacity: 0;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear; }

.thumbnail.slick-initialized {
  opacity: 1; }

.slick-slide {
  height: auto !important;
  -webkit-backface-visibility: hidden;
  -webkit-transform-style: preserve-3d; }

.slick-slide li {
  display: grid !important; }
.slick-slide li > * {
  grid-row: 1;
  grid-column: 1; }
.slick-slide .btn01 {
  position: absolute;
  right: 10%;
  bottom: 2em; }
.slick-slide .txt {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: min(11.4155251142vw, 50px) 0 0 min(4.5662100457vw, 20px);
  width: min(45.6621004566vw, 200px);
  height: min(45.6621004566vw, 200px); }
  @media print, screen and (min-width: 481px) {
    .slick-slide .txt {
      margin: 6.25% 0 0 10%;
      width: 25%;
      height: 62.5%; } }
.slick-slide .txt h2 {
  color: #cc3366;
  font-size: min(3.196347032vw, 1.4rem); }
  @media print, screen and (min-width: 481px) {
    .slick-slide .txt h2 {
      font-size: min(1.75vw, 2.8rem); } }
.slick-slide .txt h2 strong {
  display: block;
  margin-top: 0.25em; }
.slick-slide .txt h2 em {
  font-family: 'Bebas Neue', cursive;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: min(10.2739726027vw, 4.5rem); }
  @media print, screen and (min-width: 481px) {
    .slick-slide .txt h2 em {
      font-size: min(5.625vw, 9rem); } }
.slick-slide .txt h2 .btn {
  color: #fff;
  background-color: #cc3366;
  display: block;
  border-radius: 1.5em;
  padding: 0.75em 1em;
  margin-top: 1em;
  font-size: min(2.0547945205vw, 0.9rem); }
  @media print, screen and (min-width: 481px) {
    .slick-slide .txt h2 .btn {
      font-size: min(1vw, 1.6rem); } }

.thumbnail .slick-track {
  transform: unset !important; }

.thumbnail-img {
  background-color: #fff;
  border: 2px solid #fff;
  box-shadow: 0px 5px 10px -3px rgba(0, 0, 0, 0.35);
  width: 50px !important;
  height: 50px !important; }
  @media print, screen and (min-width: 980px) {
    .thumbnail-img {
      width: 100px !important;
      height: 100px !important; } }

.thumbnail-img img {
  opacity: .5;
  transition: opacity .5s linear;
  cursor: pointer;
  width: 50px;
  height: 46px;
  object-fit: cover; }
  @media print, screen and (min-width: 980px) {
    .thumbnail-img img {
      width: 100px;
      height: 96px; } }

.thumbnail .slick-current img {
  opacity: 1; }

.thumbnail {
  padding: 0 4%;
  margin: -1em auto; }
  @media print, screen and (min-width: 769px) {
    .thumbnail {
      padding: 0 20px; } }

.thumbnail .slick-track {
  	/*display:-webkit-flex!important;
  	display:flex!important;
  	-ms-flex-wrap:wrap!important;
          flex-wrap:wrap!important;
  	-webkit-justify-content: space-between!important;
  	justify-content: space-between!important;
  	-webkit-box-pack: center!important;
      justify-content: center!important;*/
  padding-bottom: 1em;
  display: grid;
  grid-template-columns: repeat(auto-fit, 50px);
  column-gap: 5px;
  justify-content: center; }
  @media print, screen and (min-width: 980px) {
    .thumbnail .slick-track {
      grid-template-columns: repeat(auto-fit, 100px);
      column-gap: 10px; } }
  .thumbnail .slick-track .slick-slide {
    width: auto !important; }
  @media print, screen and (max-width: 768px) {
    .thumbnail .slick-track .thumbnail-img:not(:last-child) {
      margin-right: 5px; } }
  @media print, screen and (min-width: 769px) {
    .thumbnail .slick-track .thumbnail-img:not(:last-child) {
      margin-right: 10px; } }

/* Key common */
.key-common {
  padding-top: 90px; }
  @media print, screen and (min-width: 980px) {
    .key-common {
      padding-top: 120px; } }
  .key-common .key-common-inner {
    background: url("../img/common/kvcommon_bg2_tb.jpg") no-repeat top center;
    background-size: 979px;
    height: 150px;
    width: 100%;
    display: grid;
    justify-items: center;
    align-items: center; }
    @media print, screen and (max-width: 480px) {
      .key-common .key-common-inner {
        background: url("../img/common/kvcommon_bg2_sp.jpg") no-repeat top center;
        background-size: 800px; } }
    @media print, screen and (min-width: 980px) {
      .key-common .key-common-inner {
        background: url("../img/common/kvcommon_bg2.jpg") no-repeat top center;
        height: 200px; } }
  .key-common .ttl {
    font-weight: 700;
    font-size: min(6.3926940639vw, 2.8rem);
    line-height: 1.4;
    color: #009999;
    white-space: nowrap; }
    @media print, screen and (min-width: 980px) {
      .key-common .ttl {
        font-size: min(3.0188679245vw, 3.2rem);
        letter-spacing: 0.2em; } }

/* お知らせ */
#info-h {
  color: #003399;
  font-weight: 600;
  font-size: min(4.5662100457vw, 2rem);
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.5em;
  align-items: center;
  margin-bottom: 1em; }
  @media print, screen and (min-width: 769px) {
    #info-h {
      font-size: min(1.8867924528vw, 2rem); } }
  #info-h::after {
    content: "";
    height: 2px;
    width: 100%;
    background-color: #003399; }

#info + #info-h {
  margin-top: 2em; }

#info a, #toptopics a {
  font-size: 1.2rem;
  line-height: 1.5; }
  @media print, screen and (min-width: 769px) {
    #info a, #toptopics a {
      font-size: 1.4rem; } }
#info a:hover, #toptopics a:hover {
  color: #ee000b;
  text-decoration: none; }
#info li, #toptopics li {
  border-bottom: 1px solid #ddd;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em; }
#info li span.date, #toptopics li span.date {
  color: #fff;
  font-size: 1.2rem;
  background-color: #009999;
  border-radius: 0.5em;
  padding: 0.25em 0.5em;
  margin-right: 0.5em; }

/* Layout                                           
/* --------------------------------------------------- */
.col2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5em; }
  @media print, screen and (min-width: 769px) {
    .col2 {
      grid-template-columns: repeat(2, 1fr); } }

.col2-auto {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3em; }
  @media print, screen and (min-width: 769px) {
    .col2-auto {
      grid-template-columns: 1fr auto; } }

@media print, screen and (min-width: 769px) {
  .col2-auto.rr {
    grid-template-columns: auto 1fr; } }

.col3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5em; }
  @media print, screen and (min-width: 769px) {
    .col3 {
      grid-template-columns: repeat(3, 1fr); } }

.col4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5em; }
  @media print, screen and (min-width: 769px) {
    .col4 {
      grid-template-columns: repeat(4, 1fr); } }

@media print, screen and (max-width: 768px) {
  .p-in-img .fig-fr {
    text-align: center;
    margin-bottom: 2em; } }
@media print, screen and (min-width: 769px) {
  .p-in-img .fig-fr {
    display: inline-block;
    float: right;
    margin: 0 0 min(1.8867924528vw, 20px) min(3.7735849057vw, 40px); } }

.tile01, .tile02 {
  display: grid;
  grid-template-columns: 1fr; }
  @media print, screen and (min-width: 769px) {
    .tile01, .tile02 {
      grid-template-columns: min(28.3018867925vw, 300px) 1fr; } }
  .tile01 dt, .tile02 dt {
    overflow: hidden; }
  .tile01 dt img, .tile02 dt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-height: 500px; }
  .tile01 dd h3, .tile02 dd h3 {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 5px;
    font-size: 1.2rem;
    font-weight: 500; }
    @media print, screen and (min-width: 769px) {
      .tile01 dd h3, .tile02 dd h3 {
        font-size: 1.4rem; } }
  .tile01 dd h3::before, .tile02 dd h3::before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: #009999;
    display: block; }
  .tile01 dd h4, .tile02 dd h4 {
    color: #009999;
    font-size: min(4.5662100457vw, 2rem);
    font-weight: 500;
    margin: 1em 0; }
    @media print, screen and (min-width: 769px) {
      .tile01 dd h4, .tile02 dd h4 {
        font-size: min(2.2641509434vw, 2.4rem); } }
  .tile01 p, .tile02 p {
    line-height: 2; }

.tile01 {
  position: relative;
  padding: 2em;
  gap: 2em;
  overflow: hidden; }
  @media print, screen and (min-width: 769px) {
    .tile01 {
      gap: 4em; } }
  .tile01::before {
    content: "";
    display: block;
    width: 100%;
    height: 150px;
    background-color: #efefef;
    clip-path: polygon(0 0, 100% 0, 120% min(31.9634703196vw, 140px), 0 min(18.2648401826vw, 80px));
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
    @media print, screen and (min-width: 769px) {
      .tile01::before {
        clip-path: polygon(0 0, 100% 0, 120% min(15.0943396226vw, 160px), 0 min(6.6037735849vw, 70px)); } }
  .tile01 dt, .tile01 dd {
    position: relative; }
  .tile01 dt {
    z-index: 3; }
    @media print, screen and (max-width: 768px) {
      .tile01 dt {
        order: 2; } }
  .tile01 dd {
    z-index: 2; }
    @media print, screen and (max-width: 768px) {
      .tile01 dd {
        order: 1; } }
  .tile01 dd h3, .tile01 dd h4 {
    text-align: right;
    color: #009999; }
  .tile01 dd h3 {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 1em;
    margin: 0 0 0 calc(50% - 100vw); }
  .tile01 dd h3::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: transparent;
    border-top: 3px double #009999;
    display: block; }
  .tile01 dd h4 {
    margin: 0.5em 0 2em; }

.tile01.rr::before {
  clip-path: polygon(0 0, 100% 0, 100% min(18.2648401826vw, 80px), -20% min(31.9634703196vw, 140px)); }
  @media print, screen and (min-width: 769px) {
    .tile01.rr::before {
      clip-path: polygon(0 0, 100% 0, 100% min(6.6037735849vw, 70px), -20% min(15.0943396226vw, 160px)); } }
.tile01.rr dd h3, .tile01.rr dd h4 {
  text-align: left; }
.tile01.rr dd h3 {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 1em;
  margin: 0 calc(50% - 100vw) 0 0; }
.tile01.rr dd h3::before {
  display: none; }
.tile01.rr dd h3::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: transparent;
  border-top: 3px double #009999;
  display: block; }

@media print, screen and (min-width: 769px) {
  .tile01.rr {
    grid-template-columns: 1fr min(28.3018867925vw, 300px); } }

.tile01 + .tile01 {
  margin-top: 10px; }

@media print, screen and (min-width: 769px) {
  .tile02 {
    grid-template-columns: 1fr 1fr; } }
.tile02 dt {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%); }
  @media print, screen and (min-width: 769px) {
    .tile02 dt {
      clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%); } }
.tile02 dt img {
  max-height: inherit; }
.tile02 dd {
  padding: 0 2em 2em; }
  @media print, screen and (min-width: 769px) {
    .tile02 dd {
      padding: 2em; } }
.tile02 dd h3 {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 1em;
  justify-content: start;
  align-items: center; }
.tile02 dd h3::before {
  display: none; }

@media print, screen and (min-width: 769px) {
  .tile02.rr dt {
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%); } }

@media print, screen and (max-width: 768px) {
  .tile02 + .tile02 {
    margin-top: 3em; } }

.tile03 {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 3em; }
  @media print, screen and (min-width: 769px) {
    .tile03 {
      grid-template-columns: min(28.3018867925vw, 300px) 1fr;
      column-gap: 3em; } }
  .tile03 dt, .tile03 dd {
    border-radius: 20px; }
  .tile03 dd h3 {
    border-left: 8px solid #009999;
    padding-left: 16px;
    font-size: min(4.1095890411vw, 1.8rem);
    margin-bottom: 1em;
    font-weight: 600;
    color: #009999; }
    @media print, screen and (min-width: 769px) {
      .tile03 dd h3 {
        font-size: min(2.2641509434vw, 2.4rem); } }
  .tile03 dd h4 {
    border: 2px solid #009999;
    border-radius: 2em;
    line-height: 1.5;
    padding: 0.25em 1.5em 0.25em 0.5em;
    margin-bottom: 1em;
    display: inline-grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.5em;
    align-items: center;
    color: #009999;
    font-weight: 600;
    font-size: min(3.196347032vw, 1.4rem); }
    @media print, screen and (min-width: 769px) {
      .tile03 dd h4 {
        font-size: min(1.320754717vw, 1.4rem); } }
  .tile03 dd h4::before {
    content: "";
    width: 0.75em;
    height: 0.75em;
    border-radius: 50%;
    background-color: #009999;
    display: block; }
  .tile03 p img {
    margin-bottom: min(3.196347032vw, 14px); }
    @media print, screen and (min-width: 769px) {
      .tile03 p img {
        margin-bottom: min(1.5094339623vw, 16px); } }
  .tile03 p + p {
    margin-top: 1em; }

.tile03 + .tile03 {
  margin-top: 3em;
  padding-top: 3em;
  border-top: 1px solid #ccc; }

@media print, screen and (min-width: 769px) {
  .tile01.rr dt, .tile02.rr dt, .tile03.rr dt {
    order: 2; } }

@media print, screen and (min-width: 769px) {
  .tile01.rr dd, .tile02.rr dd, .tile03.rr dd {
    order: 1; } }

/*　POPUP　*/
.item-list {
  display: grid;
  gap: min(2.2831050228vw, 10px);
  grid-template-columns: repeat(2, 1fr); }
  @media print, screen and (min-width: 769px) {
    .item-list {
      gap: min(1.2575471698vw, 13.33px);
      grid-template-columns: repeat(4, 1fr); } }
  .item-list a {
    text-decoration: none;
    display: block; }
    .item-list a:hover {
      opacity: 0.9; }
  .item-list a img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1; }
  .item-list::after {
    display: none; }

.item-list.col3 {
  grid-template-columns: 1fr; }
  @media print, screen and (min-width: 769px) {
    .item-list.col3 {
      grid-template-columns: repeat(3, 1fr); } }
  .item-list.col3 a img {
    aspect-ratio: 1.5 / 1; }

.item-list.v2 figure {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  border-radius: 1em;
  overflow: hidden; }
.item-list.v2 figcaption {
  background-color: #faf5e5;
  /*border-radius: 0 0 1em 1em;*/
  padding: 1.5em;
  text-align: center; }
.item-list.v2 h4 {
  color: #009999;
  font-weight: 600;
  display: inline-block;
  margin: 0 auto 0.5em;
  font-size: min(4.1095890411vw, 1.8rem);
  border-bottom: 3px dotted #009999; }
  @media print, screen and (min-width: 769px) {
    .item-list.v2 h4 {
      font-size: min(1.8867924528vw, 2rem); } }
.item-list.v2 p {
  text-align: justify; }

.item-list-wide {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px; }
  @media print, screen and (min-width: 769px) {
    .item-list-wide {
      grid-template-columns: repeat(4, 1fr);
      gap: 10px; } }
  .item-list-wide a {
    text-decoration: none;
    display: block;
    border-radius: 1em;
    overflow: hidden;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1; }
    .item-list-wide a:hover {
      opacity: 0.9; }
  .item-list-wide a img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  @media print, screen and (max-width: 768px) {
    .item-list-wide a:nth-child(3) {
      grid-row: 1 / 3;
      grid-column: 2 /3;
      aspect-ratio: 1/2; }
    .item-list-wide a:nth-child(4) {
      grid-row: 3 / 4;
      grid-column: 1 / 3;
      aspect-ratio: 2/1; }
    .item-list-wide a:nth-child(6) {
      grid-row: 5 / 7;
      grid-column: 2 / 3;
      aspect-ratio: 1/2; }
    .item-list-wide a:nth-child(7) {
      grid-row: 6 / 8;
      grid-column: 1 / 2;
      aspect-ratio: 1/2; } }
  @media print, screen and (min-width: 769px) {
    .item-list-wide a:nth-child(2) {
      grid-row: 1 / 3;
      grid-column: 2 / 3;
      aspect-ratio: 1 / 2; }
    .item-list-wide a:nth-child(3) {
      grid-row: 1 / 2;
      grid-column: 3 /5;
      aspect-ratio: 2/1; }
    .item-list-wide a:nth-child(5) {
      grid-row: 2 / 4;
      grid-column: 4 / 5;
      aspect-ratio: 1/2; }
    .item-list-wide a:nth-child(9) {
      grid-row: 4 / 5;
      grid-column: 1 / 3;
      aspect-ratio: 2/1; } }

.popup-box {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 1em; }
  @media print, screen and (min-width: 769px) {
    .popup-box {
      max-width: 960px; } }
  .popup-box .img {
    display: grid;
    place-items: center;
    margin: 2em;
    overflow: hidden;
    border-radius: 1em; }
    .popup-box .img img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .popup-box .txt {
    font-family: 'Noto Sans JP', sans-serif;
    padding: 2em; }
    .popup-box .txt h4 {
      color: #009999;
      font-size: min(4.5662100457vw, 2rem); }
      @media print, screen and (min-width: 769px) {
        .popup-box .txt h4 {
          font-size: min(2.2641509434vw, 2.4rem); } }
    .popup-box .txt p {
      line-height: 2;
      margin: 1em 0; }
    .popup-box .txt .coment {
      margin-top: 1.5em;
      text-align: justify; }
    .popup-box .txt .data {
      color: #cc3366;
      margin-bottom: 0;
      font-weight: 400; }

.popup-box-inner {
  display: grid;
  grid-template-columns: 1fr; }
  @media print, screen and (min-width: 769px) {
    .popup-box-inner {
      grid-template-columns: min(45.2830188679vw, 480px) 1fr; } }

@media print, screen and (min-width: 769px) {
  .mfp-container {
    position: relative !important;
    max-width: 1060px;
    margin: 0 auto; } }

@media print, screen and (max-width: 768px) {
  .mfp-close {
    background-color: #fff !important;
    position: fixed !important;
    top: 5px !important;
    right: 5px !important; } }
@media print, screen and (min-width: 769px) {
  .mfp-close {
    color: #fff !important;
    margin: 0;
    position: fixed !important;
    top: 20px !important;
    right: 20px !important; } }

.mfp-arrow {
  -webkit-transform: scale(1) !important;
  transform: scale(1) !important;
  margin-top: 8px !important;
  width: 60px !important;
  height: 60px !important;
  display: grid !important;
  place-items: center !important; }

@media print, screen and (max-width: 768px) {
  .mfp-arrow:after {
    border-top-width: 15px !important;
    border-bottom-width: 15px !important; } }

.mfp-arrow-right:after {
  border-left: 17px solid #fff !important;
  margin: 0 !important;
  left: auto !important;
  right: 0 !important; }
  @media print, screen and (max-width: 768px) {
    .mfp-arrow-right:after {
      border-left: 22px solid #ccc !important; } }

.mfp-arrow-left:after {
  border-right: 17px solid #fff !important;
  margin: 0 !important;
  left: 0 !important;
  right: auto !important; }
  @media print, screen and (max-width: 768px) {
    .mfp-arrow-left:after {
      border-right: 22px solid #ccc !important; } }

.mfp-arrow-right:before, .mfp-arrow-left:before {
  display: none !important; }

/*　ループスライダー　*/
.loop-slider .slick-slide a {
  position: inherit;
  left: inherit;
  bottom: inherit; }

.loop-slider-item {
  margin-right: 10px; }
  .loop-slider-item img {
    object-fit: cover;
    aspect-ratio: 1 / 1; }

/* オーバーレイ アニメーション */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out; }

.mfp-fade.mfp-bg.mfp-ready {
  opacity: .8; }

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0; }

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out; }

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1; }

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0; }

/* Q&A */
body {
  counter-reset: number 0; }

.qa-tab {
  margin-bottom: 1em;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  position: relative;
  overflow: hidden; }
  .qa-tab .tab::before {
    background: #003399;
    color: #fff;
    font-weight: 500;
    display: grid;
    justify-items: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 100%; }
  .qa-tab .tab {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    position: relative;
    cursor: pointer;
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 500;
    padding: 1em 40px 1em 50px; }
    @media screen and (max-width: 480px) {
      .qa-tab .tab {
        font-size: 1.4rem; } }
    @media print, screen and (min-width: 769px) {
      .qa-tab .tab {
        font-size: 1.8rem;
        padding: 1em 80px 1em 60px; } }
  .qa-tab .tab::before {
    counter-increment: number 1;
    content: " Q" counter(number) " "; }
  .qa-tab .btn, .qa-tab .btn2 {
    background: #fff;
    border-radius: 50%;
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid #003399;
    border-radius: 50%;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1; }
    @media print, screen and (min-width: 769px) {
      .qa-tab .btn, .qa-tab .btn2 {
        width: 40px;
        height: 40px; } }
  .qa-tab .btn::before, .qa-tab .btn::after {
    content: '';
    display: block;
    width: 10px;
    height: 2px;
    background: #003399;
    position: absolute;
    right: 4px;
    top: 10px;
    margin-top: -1px; }
    @media print, screen and (min-width: 769px) {
      .qa-tab .btn::before, .qa-tab .btn::after {
        width: 20px;
        right: 9px;
        top: 20px; } }
  .qa-tab .btn::after {
    transform: rotate(90deg);
    transition: 0.5s; }
  .qa-tab .active::after {
    transform: rotate(0);
    transition: 0.5s; }
  .qa-tab .ans {
    padding: 10px 1em 1em 60px;
    position: relative; }
    .qa-tab .ans::before {
      content: "A";
      color: #fff;
      font-weight: 500;
      text-align: center;
      background: #cc3366;
      width: 40px;
      line-height: 30px;
      position: absolute;
      top: 10px;
      left: 0; }
  .qa-tab a {
    text-decoration: none; }

@media all and (-ms-high-contrast: none) {
  .qa-tab .tab {
    height: 70px; } }
.post-single h1 {
  font-size: min(4.5662100457vw, 2rem);
  font-weight: 700;
  text-align: left;
  color: #003399;
  margin-bottom: 1em; }
  @media print, screen and (min-width: 769px) {
    .post-single h1 {
      font-size: min(2.4528301887vw, 2.6rem); } }
.post-single .date {
  text-align: right; }
.post-single p + figure, .post-single figure + p {
  margin-top: 2em; }

/* Parts                                         
/* --------------------------------------------------- */
/* タイトル */
.h01 {
  font-size: min(5.9360730594vw, 2.6rem);
  font-weight: 700;
  text-align: left;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.5em;
  align-items: center;
  color: #003399;
  margin-bottom: 0.5em; }
  @media print, screen and (min-width: 769px) {
    .h01 {
      font-size: min(2.8301886792vw, 3rem); } }
  .h01::after {
    content: "";
    width: 100%;
    height: 3px;
    background-color: #003399;
    display: block; }

.h01.rr {
  color: #fff; }
  .h01.rr::after {
    background-color: #fff; }

.h01.v2 {
  display: block; }
  .h01.v2::after {
    display: none; }
  .h01.v2 em {
    display: inline-block;
    padding-bottom: 0.5em;
    border-bottom: 3px solid #003399; }

.h02 {
  font-size: min(5.4794520548vw, 2.4rem);
  font-weight: 600;
  text-align: left;
  color: #009999;
  padding: 0.5em 1em 0.25em;
  margin: 2em 0 0.5em;
  background-image: linear-gradient(135deg, #009999 0.5em, transparent 0);
  border-top: 1px solid #009999; }
  @media print, screen and (min-width: 769px) {
    .h02 {
      font-size: min(2.4528301887vw, 2.6rem); } }

.h02.rr {
  color: #fff;
  background-image: linear-gradient(135deg, #fff 0.5em, transparent 0);
  border-top: 1px solid #fff; }

.h01 + .h02 {
  margin-top: 1.5em; }

/*.h02 {
	font-size: sp-fs(26);
	font-weight: 700;
	text-align: left;
	color: #333;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1em;
	align-items: center;
	color: $kc1;
	padding-bottom: 0.1em;
	@include ms-pc {
		font-size: pc-fs(30);
	}
	&::after {
		content: "";
		width: 100%;
		height: 5px;
		background-color: $kc1;
		display: block;
	}
}
.h02.v2 {
	position: relative;
	margin-bottom: 1em;
	padding-bottom: 0.5em;
	&::after {
		content: "";
		width: 100px;
		height: 5px;
		background-color: $kc1;
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
	}
}*/
.h03 {
  font-weight: 700;
  font-size: min(5.9360730594vw, 2.6rem);
  color: #fff;
  text-align: left;
  background-color: #003399;
  padding: min(2.2831050228vw, 10px) min(4.5662100457vw, 20px); }
  @media print, screen and (min-width: 769px) {
    .h03 {
      font-size: min(2.2641509434vw, 2.4rem);
      padding: min(0.9433962264vw, 10px) min(1.8867924528vw, 20px); } }

.h04 {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1em;
  align-items: center; }
  .h04 em {
    color: #003399;
    font-weight: 500;
    display: inline-block;
    font-size: min(3.196347032vw, 1.4rem); }
    @media print, screen and (min-width: 769px) {
      .h04 em {
        font-size: min(1.5094339623vw, 1.6rem); } }
  .h04::before {
    content: "";
    width: 20px;
    height: 3px;
    background-color: #003399;
    display: block; }

.h05 {
  font-size: min(5.9360730594vw, 2.6rem);
  font-weight: 700;
  text-align: left;
  display: block;
  color: #003399;
  padding: 1em 0 1em;
  margin: 0 0 1em;
  position: relative;
  border-bottom: 3px double #003399; }
  @media print, screen and (min-width: 769px) {
    .h05 {
      font-size: min(3.3962264151vw, 3.6rem); } }
  .h05::before {
    content: "";
    display: block;
    width: 3em;
    height: 8px;
    background-color: #003399;
    position: absolute;
    bottom: 0;
    left: 0; }

.h06 {
  font-weight: 500;
  font-size: min(4.1095890411vw, 1.8rem);
  text-align: left;
  letter-spacing: 0.1em;
  padding-bottom: 1px;
  margin-bottom: 1em;
  border-bottom: 1px solid #009999; }
  @media print, screen and (min-width: 769px) {
    .h06 {
      font-size: min(1.8867924528vw, 2rem); } }
  .h06 em {
    color: #fff;
    background-color: #009999;
    display: inline-block;
    padding: 0.25em 1.5em 0.25em 1em;
    border-radius: 0 1.5em 0 0; }

.h07 {
  color: #009999;
  font-weight: 700;
  font-size: min(4.5662100457vw, 2rem);
  margin: 0 0 1em; }
  @media print, screen and (min-width: 769px) {
    .h07 {
      font-size: min(2.2641509434vw, 2.4rem); } }

p + .h07 {
  margin-top: 1.5em; }

.h07 + p {
  margin-top: -1em; }

.read01 {
  color: #003399;
  font-weight: 500;
  font-size: min(3.6529680365vw, 1.6rem);
  text-align: left; }
  @media print, screen and (min-width: 769px) {
    .read01 {
      font-size: min(1.6981132075vw, 1.8rem); } }

.h08 {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 1em;
  place-items: center;
  margin-bottom: 2em; }
  .h08 em {
    color: #003399;
    font-weight: 700;
    display: inline-block;
    font-size: min(5.0228310502vw, 2.2rem); }
    @media print, screen and (min-width: 769px) {
      .h08 em {
        font-size: min(2.8301886792vw, 3rem); } }
  .h08::before, .h08::after {
    content: "";
    width: 100%;
    height: 3px;
    background-color: #003399;
    display: block; }
    @media print, screen and (min-width: 769px) {
      .h08::before, .h08::after {
        height: 4px; } }

/* Other */
.mt0 {
  margin-top: 0em !important; }

.mt1 {
  margin-top: 1em !important; }

.mt2 {
  margin-top: 2em !important; }

.mt3 {
  margin-top: 3em !important; }

.mb00 {
  margin-bottom: 0 !important; }

.mb05 {
  margin-bottom: 0.5em !important; }

.mb10 {
  margin-bottom: 1em !important; }

.mb15 {
  margin-bottom: 1.5em !important; }

.mb20 {
  margin-bottom: 2em !important; }

.mb25 {
  margin-bottom: 2.5em !important; }

.mb30 {
  margin-bottom: 3em !important; }

.mb40 {
  margin-bottom: 4em !important; }

.mb50 {
  margin-bottom: 5em !important; }

.ml1 {
  margin-left: 1em !important; }

.ml2 {
  margin-left: 2em !important; }

.ml3 {
  margin-left: 3em !important; }

.mr1 {
  margin-right: 1em !important; }

.mr2 {
  margin-right: 2em !important; }

.mr3 {
  margin-right: 3em !important; }

.font-bold {
  font-weight: 700 !important; }

.font-normal {
  font-weight: 400 !important; }

.float-left {
  float: left !important; }

.ml4ps {
  margin-left: 4% !important; }

.mr4ps {
  margin-right: 4% !important; }

.ta-l {
  text-align: left !important; }

.ta-r {
  text-align: right !important; }

.ta-c {
  text-align: center !important; }

.ta-j {
  text-align: justify !important; }

strong {
  font-weight: 600; }

.nowrap {
  white-space: nowrap !important; }

/* 先頭の文字に適用 */
.first-letter:first-letter {
  font-size: 260%;
  font-weight: 500;
  color: #009999;
  line-height: 1;
  margin-right: 0.1em; }

a.nolink {
  pointer-events: none; }

.sup, sup {
  font-size: 0.7em;
  vertical-align: top; }

/* Color */
.fcRed {
  color: red; }

.fcOrange {
  color: orange; }

.fcOrangered {
  color: orangered; }

.kc1 {
  color: #003399; }

.kc2 {
  color: #cc3366; }

.kc3 {
  color: #009999; }

/* Font Size */
.fsS {
  font-size: 88% !important; }

.fsL {
  font-size: 128% !important; }

.fs2L {
  font-size: 148% !important; }

.fs14 {
  font-size: min(2.7397260274vw, 1.2rem);
  font-weight: 400; }
  @media print, screen and (min-width: 769px) {
    .fs14 {
      font-size: min(1.320754717vw, 1.4rem); } }

.fs16 {
  font-size: min(3.196347032vw, 1.4rem);
  font-weight: 400; }
  @media print, screen and (min-width: 769px) {
    .fs16 {
      font-size: min(1.5094339623vw, 1.6rem); } }

.fs18 {
  font-size: min(3.6529680365vw, 1.6rem);
  font-weight: 400; }
  @media print, screen and (min-width: 769px) {
    .fs18 {
      font-size: min(1.6981132075vw, 1.8rem); } }

.marker01 {
  display: inline;
  padding-bottom: 0.25em;
  background: linear-gradient(transparent 60%, #fbeb64 0%); }

.kakomi {
  border: 1px solid #ccc;
  padding: 1em 4%; }
  @media print, screen and (min-width: 769px) {
    .kakomi {
      padding: 1em 1.5em; } }

/* svg */
[class^="i-"] {
  display: inline-block;
  height: auto; }
  [class^="i-"] svg {
    width: 100%;
    height: auto;
    vertical-align: middle; }

.i-opwn {
  margin-left: 5px;
  width: 12px; }
  .i-opwn svg {
    fill: #001e99; }

.i-mail {
  width: 20px;
  margin-right: 5px; }
  .i-mail svg {
    fill: #003399; }

.i-tel {
  width: 24px;
  margin-right: 10px; }
  .i-tel svg {
    fill: black; }

.i-mappin {
  width: 20px;
  margin-right: 5px; }
  .i-mappin svg {
    fill: #cc3366; }

.i-sun {
  width: 30px; }
  .i-sun svg {
    fill: #009999; }

.i-point {
  width: 30px; }
  .i-point svg {
    fill: #009999; }

.i-check {
  width: 20px; }
  .i-check svg {
    fill: #cc3366; }

.i-check2 {
  width: 20px; }
  .i-check2 svg {
    fill: #cc3366; }

.i-light {
  width: 40px; }
  .i-light svg {
    fill: #009999; }

.i-search {
  width: 20px; }
  .i-search svg {
    fill: #cc3366; }

.i-exc-mark {
  width: 20px; }
  .i-exc-mark svg {
    fill: #cc3366; }

/* font */
.kakeru {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }

.ff-mincho {
  font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif; }

/* kerning */
.kerning {
  letter-spacing: -0.5em; }

.kerning2 {
  text-indent: -0.5em;
  display: inline-block; }

.kerning3 {
  text-indent: -0.2em;
  letter-spacing: -0.2em;
  display: inline-block; }

.i-new {
  color: #fff;
  background-color: #FF0000;
  line-height: 1;
  padding: 0.2em 1em;
  font-size: 88%;
  margin-right: 0.5em; }

.memo {
  display: inline-block;
  font-size: 88%;
  color: #000;
  font-weight: 400; }

.caution01 {
  border: 3px double red;
  padding: 2em;
  color: red;
  font-weight: 500; }

hr.hr01 {
  margin: 2em 0;
  border-top: 1px solid #ccc; }

/* SNS */
.instagram-media {
  min-width: 280px !important; }

/* hover時　下線 */
.top-work a h3, .work-index-contents a h2, .blog01 a .ttl, .download02 a h4 {
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #222, #222);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 5%;
  transition: all 0.3s ease-in-out; }

.top-work a:hover h3, .work-index-contents a:hover h2, .blog01 a:hover .ttl, .download02 a:hover h4 {
  background-size: 100% 5%; }

/* ボタン */
.btn-test {
  background-color: #003399;
  color: #fff !important;
  border: 1px solid #003399;
  overflow: hidden;
  text-decoration: none !important;
  position: relative;
  line-height: 1.4;
  display: inline-grid;
  justify-items: center;
  align-items: center;
  width: 100%;
  /*max-width: $btn-mw + px;*/
  max-width: 480px;
  padding: 0 2.5em 0 1em;
  text-align: left;
  aspect-ratio: 4.8;
  font-size: min(calc(20/(480 + 48)*100vw), 2rem); }
  .btn-test [class^="i-"] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: calc(20/480*100%);
    display: inline-block;
    line-height: 1; }
    .btn-test [class^="i-"] svg {
      vertical-align: top;
      width: 100%;
      height: auto; }
  .btn-test [class^="i-"] svg {
    fill: #fff; }

.btn01, .btn02, .btn03 {
  text-decoration: none !important;
  position: relative;
  line-height: 1.4;
  font-weight: 600;
  display: inline-block; }
  .btn01:hover, .btn02:hover, .btn03:hover {
    text-decoration: none; }

.btn01 {
  color: #fff !important;
  background-color: #003399;
  border: 1px solid #003399;
  border-radius: 2em;
  font-size: min(3.196347032vw, 1.4rem);
  padding: 0.5em 2em;
  white-space: nowrap;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media print, screen and (min-width: 769px) {
    .btn01 {
      font-size: min(1.4150943396vw, 1.5rem); } }
  .btn01:hover {
    color: #003399 !important;
    background-color: #fff; }
    .btn01:hover::after {
      border-top: 2px solid #003399;
      border-right: 2px solid #003399; }
  .btn01.rr {
    color: #003399 !important;
    background-color: #fff; }
    .btn01.rr .i-arrow01 {
      border-top: 1px solid #003399;
      border-right: 1px solid #003399; }
    .btn01.rr:hover {
      color: #fff !important;
      background-color: #003399; }
      .btn01.rr:hover .i-arrow01 {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff; }
  .btn01::after {
    margin: auto;
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%); }

.btn01.v2 {
  background-color: #cc3366;
  border: 1px solid #cc3366;
  display: inline-grid;
  align-items: center;
  text-align: left;
  aspect-ratio: 1;
  border-radius: 50%; }
  .btn01.v2:hover {
    color: #fff !important;
    background-color: #cc3366;
    opacity: .7; }
    .btn01.v2:hover::after {
      border-top: 2px solid #fff;
      border-right: 2px solid #fff; }

.btn01.v3 {
  display: inline-block; }

.btn02 {
  color: #fff !important;
  background-color: #ff6600;
  /*border: 2px solid $kc4;*/
  border-radius: 6px;
  font-size: 1.8rem;
  display: -ms-grid;
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 0.5em;
  align-items: center;
  justify-content: center;
  max-width: 500px;
  margin: 0 auto;
  padding: 1.25em 0.5em; }
  .btn02::after {
    margin: auto;
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%); }
  .btn02:hover {
    background-color: #ffcc00; }
    .btn02:hover img {
      opacity: 1 !important; }
  @media print, screen and (min-width: 769px) {
    .btn02 {
      font-size: 2.4rem; } }

.btn03 {
  color: #cc3366 !important;
  background-color: #ff6600;
  border: 1px solid #009999;
  border-radius: 6px;
  max-width: 614px;
  width: 100%;
  padding: 1.5em 1em;
  display: -ms-grid;
  display: grid;
  place-content: center; }
  @media print, screen and (min-width: 481px) {
    .btn03 {
      min-height: 120px; } }
  .btn03:hover {
    opacity: 0.3; }
  .btn03 em {
    font-size: calc(1.6rem + 2 * ((100vw - 320px) / 1600));
    font-weight: 600;
    display: block;
    margin-bottom: 0.8em; }
  .btn03 .i-arrow01 {
    position: absolute;
    top: calc(50% - 2px);
    right: 0.5em;
    border-top: 1px solid #cc3366;
    border-right: 1px solid #cc3366; }
    @media print, screen and (min-width: 769px) {
      .btn03 .i-arrow01 {
        right: 1em; } }

/* table */
@media print, screen and (max-width: 768px) {
  .tableScroll {
    overflow: auto;
    white-space: nowrap; }
    .tableScroll table {
      width: 100%; } }
.tableScroll::-webkit-scrollbar {
  height: 10px; }
.tableScroll::-webkit-scrollbar-track {
  background: #F1F1F1; }
.tableScroll::-webkit-scrollbar-thumb {
  background: #BCBCBC; }
@media print, screen and (max-width: 768px) {
  .tableScroll.v2 {
    width: 600px;
    white-space: normal; } }

.table01 {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #ccc; }
  .table01 th, .table01 td {
    padding: 1em;
    border-bottom: 1px solid #ccc;
    vertical-align: middle; }
  .table01 th {
    font-weight: 600;
    color: #333;
    background-color: #efefef;
    text-align: left; }
  .table01 td {
    text-align: left; }
    .table01 td em {
      display: inline-block; }
  .table01 .head {
    background-color: #efefef;
    white-space: nowrap; }
  .table01 .bg01 {
    background-color: #efefef; }
  .table01 .fix {
    position: sticky;
    left: 0; }
    .table01 .fix:before {
      content: "";
      position: absolute;
      top: -1px;
      right: -1px;
      width: 100%;
      height: 100%;
      border: 1px solid #ccc; }

.table01.v2 th, .table01.v2 td {
  padding: 0.25em 1em; }
.table01.v2 .head {
  width: 60%; }

.table01.v3 th, .table01.v3 td {
  text-align: center; }
@media print, screen and (max-width: 768px) {
  .table01.v3 img {
    min-width: 130px; } }

.tableFrom {
  width: 100%;
  border-top: 1px solid #ccc;
  /* エラー時に入力欄の背景色を変更する */ }
  @media print, screen and (max-width: 768px) {
    .tableFrom th, .tableFrom td {
      display: block;
      width: 100%;
      border-bottom: none; } }
  @media print, screen and (min-width: 769px) {
    .tableFrom th, .tableFrom td {
      border-bottom: 1px solid #ccc; } }
  @media screen and (max-width: 480px) {
    .tableFrom tr:first-child td {
      border-top: none; } }
  .tableFrom th {
    font-weight: 600;
    white-space: nowrap;
    vertical-align: top;
    background-color: beige;
    padding: 1em; }
    @media print, screen and (max-width: 768px) {
      .tableFrom th {
        border-bottom: none;
        text-align: left; } }
    @media print, screen and (min-width: 769px) {
      .tableFrom th {
        width: 12%; } }
  .tableFrom td {
    text-align: left; }
    @media print, screen and (max-width: 768px) {
      .tableFrom td {
        padding: 1em 0;
        margin-bottom: 20px; } }
    @media print, screen and (min-width: 769px) {
      .tableFrom td {
        padding: 1em; } }
  .tableFrom .joint {
    border-bottom: none; }
  .tableFrom .mwform-radio-field {
    display: block;
    margin-left: 0 !important; }
  .tableFrom .memo {
    color: #666;
    margin-top: 0;
    font-size: 78%; }
  .tableFrom .hankaku {
    color: #ff3333; }
  .tableFrom input[type="text"], .tableFrom input[type="email"], .tableFrom textarea, .tableFrom select {
    border-radius: 5px;
    border: 1px solid #ccc;
    padding: 0.5em;
    width: 100%;
    height: 46px; }
    .tableFrom input[type="text"]:focus, .tableFrom input[type="email"]:focus, .tableFrom textarea:focus, .tableFrom select:focus {
      outline: #77b8f9 2px solid;
      border: 1px solid #0084FF; }
    .tableFrom input[type="text"].caution, .tableFrom input[type="email"].caution, .tableFrom textarea.caution, .tableFrom select.caution {
      border: 1px solid #FF0000; }
  .tableFrom textarea {
    width: 100%;
    height: 150px; }
    @media screen and (max-width: 480px) {
      .tableFrom textarea {
        height: 120px; } }
  .tableFrom .is-error input, .tableFrom .is-error textarea {
    background-color: #ffeeee; }

.hissu {
  color: #FF0000;
  display: inline-block; }

.inquiry01 .privacy {
  margin: 2em 0; }
  .inquiry01 .privacy h3 {
    font-weight: 600; }

.privacy-check {
  margin: 2em 0;
  text-align: center; }

.checkbox__input {
  display: none; }

.checkbox__text {
  padding-left: 40px;
  position: relative;
  cursor: pointer; }

.checkbox__text::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #707070; }

.checkbox__input:checked + .checkbox__text:after {
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 7px;
  width: 5px;
  height: 15px;
  transform: rotate(40deg);
  border-bottom: 3px solid #d01137;
  border-right: 3px solid #d01137; }

.btnSubmit {
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  border-radius: 5px;
  border: none;
  background: #ff6600;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  padding: 0.8em 1em 0.6em;
  margin: 0 10px 50px;
  width: 240px;
  cursor: pointer; }

.submit-area {
  text-align: center;
  margin-top: 2em; }
  .submit-area .btn01 {
    font-family: 'Akshar', 'Noto Sans JP', sans-serif;
    font-weight: 400;
    max-width: 320px;
    padding: 1em;
    width: 100%;
    display: inline-block;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .submit-area .btn01.back {
      max-width: 260px; }
    .submit-area .btn01.submit {
      max-width: 360px; }
      @media print, screen and (min-width: 769px) {
        .submit-area .btn01.submit {
          margin-left: 1em; } }
  .submit-area .wpcf7-submit {
    font-family: 'Akshar', 'Noto Sans JP', sans-serif;
    font-weight: 600;
    padding: 1em;
    width: 100%;
    max-width: 360px;
    display: inline-block;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #fff !important;
    background-color: #003399;
    border: 1px solid #003399;
    border-radius: 2em;
    padding: 0.5em 2em;
    font-size: 1.6rem; }
    @media print, screen and (min-width: 769px) {
      .submit-area .wpcf7-submit {
        font-size: 1.8rem; } }
  .submit-area .btn01:disabled, .submit-area .wpcf7-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed; }
    .submit-area .btn01:disabled:hover, .submit-area .wpcf7-submit:disabled:hover {
      color: #fff !important;
      background-color: #003399; }

/* ul */
.ul10 > li {
  text-indent: -1em;
  padding-left: 1em; }

.ul15 > li {
  text-indent: -1.5em;
  padding-left: 1.5em; }

.ul-dot > li {
  display: -ms-grid;
  display: grid;
  grid-template-columns: 1em 1fr; }
.ul-dot > li::before {
  content: "・"; }
.ul-dot.dot-mr li {
  gap: 0.5em; }

.ul-dot-m > li, .ul-dot-l > li {
  position: relative;
  text-indent: 0; }
.ul-dot-m > li::before, .ul-dot-l > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.5em;
  height: 0.5em;
  background-color: #009999;
  display: inline-block;
  margin: 0.7em auto 0;
  border-radius: 50%; }

.ul-dot-m > li {
  padding-left: 1em; }

.ul-dot-l > li {
  padding-left: 1.5em; }
.ul-dot-l > li::before {
  width: 1em;
  height: 1em;
  margin: 0.4em auto 0; }
.ul-dot-l > li + li {
  margin-top: 1em; }

.ul-icon > li {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.5em; }
.ul-icon > li + li {
  margin-top: 0.5em; }
.ul-icon [class^="i-"] {
  align-self: stretch; }
  .ul-icon [class^="i-"] svg {
    margin-bottom: 4px; }

/* ol */
ol.num {
  counter-reset: number 0; }
  ol.num > li {
    padding-left: 1.5em;
    position: relative;
    /*&:not(:first-child) {
    	margin-top: 0.5em;
    }*/ }
    ol.num > li::before {
      counter-increment: number 1;
      content: counter(number) ".";
      position: absolute;
      top: 0;
      left: 0; }
  ol.num ul {
    margin-top: 5px; }

ol.num-squ, ol.num-cir {
  counter-reset: number 0; }
  ol.num-squ li, ol.num-cir li {
    padding-left: 1.6em;
    margin: 0 0 0.5em;
    position: relative;
    line-height: 1.6em; }
    ol.num-squ li::before, ol.num-cir li::before {
      counter-increment: number 1;
      content: counter(number) "";
      position: absolute;
      top: 0.3em;
      left: 0;
      width: 1.6em;
      height: 1.6em;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      align-items: center;
      color: #fff;
      background-color: #009999;
      font-size: 78%; }

ol.num-cir li::before {
  border-radius: 50%; }

/* tel */
.tel-link, .mail-link {
  text-decoration: none !important;
  color: #cc3366 !important; }

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; } }
/* iframe */
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9; }
  .youtube iframe {
    width: 100%;
    height: 100%; }

.googleMap iframe {
  width: 100%;
  height: 400px; }
  @media print, screen and (min-width: 769px) {
    .googleMap iframe {
      height: 500px; } }

.sp-display {
  display: none; }
  @media screen and (max-width: 480px) {
    .sp-display {
      display: block; } }

.tb-display {
  display: block; }
  @media print, screen and (min-width: 769px) {
    .tb-display {
      display: none; } }

.tbpc-display {
  display: none; }
  @media print, screen and (min-width: 481px) and (max-width: 768px) {
    .tbpc-display {
      display: block; } }
  @media print, screen and (min-width: 769px) {
    .tbpc-display {
      display: block; } }

.pc-display {
  display: none; }
  @media print, screen and (min-width: 769px) {
    .pc-display {
      display: block; } }

.pc3-display {
  display: none; }
  @media print, screen and (min-width: 1280px) {
    .pc3-display {
      display: block; } }
