@charset "utf-8";

/*
ファイル名:common.css
最終更新日:20xx/xx/xx
*/

/* =reset
---------------------------------------*/

body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,pre,form,
fieldset,legend,input,textarea,
p,blockquote,table,caption,
tbody,tfoot,thead,th,td,option,
figure{
margin:0;
padding:0;
}

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

fieldset,img,
abbr,acronym{
border:0;
}

address,caption,cite,
code,dfn,th,var,
optgroup,strong,em{
font-style:normal;
font-weight:normal;
}

ol,ul{
list-style:none;
}

caption,th{
text-align:left;
}

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

q:before,q:after{
contentent:'';
}

a{
text-decoration: none;
}
a:hover img{
-moz-opacity:0.8;
opacity:0.8;
filter: alpha(opacity=80);
}

img,object,embed,th,td{
vertical-align: top;
}
blockquote{
    background-color: #eee;
    padding: 2em 1em 0em 1em;
    position: relative;
    font-style: italic;
    font-size: 14px;
    color: #935D3E;
    display: inline-block;
}
blockquote:before{
content: "“";
font-size: 500%;
line-height: 1.2em;
font-family: "ＭＳ Ｐゴシック",sans-serif;
color: #999;
position: absolute;
left: 0;
top: 0;
}
blockquote:after{
content: "”";
font-size: 500%;
line-height: 0em;
font-family: "ＭＳ Ｐゴシック",sans-serif;
color: #999;
position: absolute;
right: 0;
bottom: 0;
}
blockquote p {
    line-height: 1.6em !important;
}

/* web font*/
/*
@font-face {
  font-family: "Caveat-Bold_subset";
  font-style: normal;
  font-weight: 400;
  src:
  url("../font/Caveat/Caveat-Bold_subset.woff2") format("woff2"),
  url("../font/Caveat/Caveat-Bold_subset.woff") format("woff"),
  url("../font/Caveat/Caveat-Bold_subset.ttf") format("truetype");
  font-display: swap;
}
*/


@font-face {
  font-family: "LibreBaskerville";
  font-style: normal;
  font-weight: 400;
  src:
    local("LibreBaskerville"),
    url("../font/libre-baskerville/LibreBaskerville-Regular.woff2") format("woff2");
  font-display: swap;
  /* サブセット例：ASCII + Latin-1 + 一部拡張（必要に応じて調整） */
  unicode-range: U+0020-007E, U+00A0-00FF, U+0100-017F;
}
@font-face {
  font-family: "LibreBaskerville_Italic";
  font-style: normal;
  font-weight: 400;
  src:
    local("LibreBaskerville_Italic"),
    url("../font/libre-baskerville/LibreBaskerville-Italic.woff2") format("woff2");
  font-display: swap;
  /* サブセット例：ASCII + Latin-1 + 一部拡張（必要に応じて調整） */
  unicode-range: U+0020-007E, U+00A0-00FF, U+0100-017F;
}
@font-face {
  font-family: "Playball";
  font-style: normal;
  font-weight: 400;
  src:
    local("Playball"),
    url("../font/playball/Playball.woff2") format("woff2");
  font-display: swap;
  /* サブセット例：ASCII + Latin-1 + 一部拡張（必要に応じて調整） */
  unicode-range: U+0020-007E, U+00A0-00FF, U+0100-017F;
}



/* Luminous.js 調整 */
.lum-lightbox { z-index: 9999;}
.lum-lightbox-position-helper img {
    width: 80%;
    height: 100%;
    object-fit: contain;
    font-family: 'object-fit: contain;';
}
@media screen and (max-width: 750px) {
  /* スマホはAタグ無効 */
  .luminous { pointer-events:none}
}

/* 効果 */
#home .fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}
.scroll-in {
  opacity: 1 !important;
  transform: translate(0, 0);
}
.fade-out {
  opacity: 1;
  transition-duration: 500ms;
  transition-property: opacity, transform;
  /*display: inline-block;*/
}
.scroll-out {
  opacity: 0 !important;
  transform: translate(0, 0);
  /*display: none !important;*/
}

/* アコーディオン　detailタグ版
---------------------------------------*/
.js-accord-details summary.js-accord-summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
}

.js-accord-details summary.js-accord-summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

.js-accord-details .summary_inner{
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px 12px 24px;
  margin: 0 0 15px 0;
  border: 1px solid #ccc;
  font-weight: 400;
  color: #666;
  font-size: 1.2rem;
}
.js-accord-details .summary_inner span {
  font-size:   83.4%;
  display: contents;
}
.js-accord-details .summary_inner .l-title {
    display: inline-block;
    width: 86px;
    padding-right: 10px;
    font-weight: 700;
}
.js-accord-details .summary_inner .title {
    display: inline-block;
    width: calc(100% - 96px);
}
@media screen and (max-width: 750px) {
  .js-accord-details .summary_inner{  font-size: 4.0vw;}
  .js-accord-details .summary_inner .l-title {  width: 20%; padding-right: 6%;}
  .js-accord-details .summary_inner .title {  width: 74%;}
}
.js-accord-details .icon {
  display: block !important;
  position: relative;
  width: 24px;
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
}

/*details[open] .icon {*/
/*  transform: rotate(180deg);*/
/*}*/

/* is-openedクラスが付与されたときのスタイル */
details.is-opened .icon {
  transform: rotate(180deg);
}

/* アイコンのバーのスタイル */
.icon::before,
.icon::after {
  content: "";
  position: absolute;
  display: block;
  width: 15px;
  height: 3px;
  background-color: #66b;
}
.icon::before {
  left: 0;
  transform: rotate(45deg);
}
.icon::after {
  right: 0;
  transform: rotate(-45deg);
}

/* --------アコーディオンの中身のスタイル-------- */
.accord-content {
  overflow: hidden;
  /*background-color: #fffee5;*/
  margin: 0 0 30px 0;
  /* details直下のタグにpaddingを設定すると挙動がおかしくなるので、ここには指定しない */
}
.accord-content .content_inner {
  padding: 0 10px 0px 10px;
  /*display: flex;*/
  flex-direction: column;
  /*gap: 16px;*/
  /*font-size: 1.5rem;*/
}


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

body{
font-size: 14px;
/*font-family: "ＭＳ Ｐゴシック", Arial, Helvetica, Verdana;*/
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
line-height: 1.4;
}

html{
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}

a:link    { color:#00b; text-decoration: none; }
a:visited { color:#00b; text-decoration: none; }
a:hover   { color:#00b; text-decoration: underline; }
a:active  { color:#00b; text-decoration: none;}

a.out-link {
	color:#3fcbe5 !important;
	text-decoration: underline;
	padding: 2px 5px;
}

.red {
	color: #ff2929 !important;
}
.blue {
	color: #085be5 !important;
}
.green {
	color: #097f00 !important;
}
.b { font-weight: 700; }
.clear { clear:both; }

.btm-none {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
.right {
	float: right;
	margin: 0 0 10px 20px;
}
.left {
	float: left;
	margin: 0 20px 10px 0;
}
img.center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.center-box {
	text-align: center;
}
strong {
	font-weight: 700;
}
.figcap-none {
    display: none;
}

ul.decimal {
	list-style: decimal;
	margin: 0 0 10px 25px;
    text-align: left;
}
ul.wp-block-list li,
ul.disc {
	list-style: disc;
	margin: 0 0 10px 25px;
    text-align: left;
}
ul.wp-block-list li,
ul.decimal li,
ul.disc li {
    margin-bottom: 13px;
    line-height: 1.6em;
}


.bt0 {	margin-bottom: 0px !important;}
.bt5 {	margin-bottom: 5px !important;}
.bt10 {	margin-bottom: 10px !important;}
.bt15 {	margin-bottom: 15px !important;}
.bt20 {	margin-bottom: 20px !important;}
.bt25 {	margin-bottom: 25px !important;}
.bt30 {	margin-bottom: 30px !important;}
.bt40 {	margin-bottom: 40px !important;}
.bt50 {	margin-bottom: 50px !important;}
.bt60 {	margin-bottom: 60px !important;}
.bt70 {	margin-bottom: 70px !important;}
.bt80 {	margin-bottom: 80px !important;}
.bt90 {	margin-bottom: 90px !important;}
.bt100 {	margin-bottom: 100px !important;}

@media screen and (max-width: 750px) {
  .bt5 {	margin-bottom: 1.5vw !important;}
  .bt10 {	margin-bottom: 3vw !important;}
  .bt15 {	margin-bottom: 4.5vw !important;}
  .bt20 {	margin-bottom: 6vw !important;}
  .bt25 {	margin-bottom: 7.5vw !important;}
  .bt30 {	margin-bottom: 9vw !important;}
  .bt40 {	margin-bottom: 12vw !important;}
  .bt50 {	margin-bottom: 15vw !important;}
  .bt60 {	margin-bottom: 18vw !important;}
  .bt70 {	margin-bottom: 21vw !important;}
  .bt80 {	margin-bottom: 24vw !important;}
  .bt90 {	margin-bottom: 27vw !important;}
  .bt100 {	margin-bottom: 30vw !important;}
}

.txt00 {font-size:   83.4% !important;} /* for setting 10px */
.txt01 {font-size:   91.7% !important;} /* for setting 11px */
.txt02 {font-size:    100% !important;} /* for setting 12px */
.txt03 {font-size:  108.4% !important;} /* for setting 13px */
.txt04 {font-size:  116.7% !important;} /* for setting 14px */
.txt05 {font-size:    125% !important;} /* for setting 15px */
.txt06 {font-size:  133.4% !important;} /* for setting 16px */
.txt07 {font-size:  141.7% !important;} /* for setting 17px */
.txt08 {font-size:    150% !important;} /* for setting 18px */
.txt09 {font-size:  158.4% !important;} /* for setting 19px */
.txt10 {font-size:  166.7% !important;} /* for setting 20px */
.txt11 {font-size:    175% !important;} /* for setting 21px */
.txt12 {font-size:  183.4% !important;} /* for setting 22px */
.txt13 {font-size:  191.7% !important;} /* for setting 23px */
.txt14 {font-size:    200% !important;} /* for setting 24px */
.txt15 {font-size:  208.4% !important;} /* for setting 25px */
.txt16 {font-size : 216.7% !important;} /* for setting 26px */

