@charset "utf-8";
:root {
  --color-main1: #D1BE0C;
  --color-sub1: #f5b072;
  --color-sub2: #eef5f4;
  --color-blk1: #333333;
  --color-blk2: #737373;
	--color-blk3: #cccccc;
  --color-blk4: #E9E9E9;
  --color-wht: #FFFFFF;
  --margin-big: 150px;
  --margin-middle: 100px;
  --margin-small: 60px;
  --margin-col: 40px;
  --margin-col2: 20px;
  --margin-col3: 10px;
  --container-w1: 60px;
  --container-w2: 30px;
  --header-hight: 0px;
}
@media screen and (max-width: 1080px) {
  :root {
    --margin-big: 100px;
    --margin-middle: 60px;
    --margin-small: 40px;
    --margin-col: 20px;
    --container-w1: 30px;
  }
}
@media screen and (max-width: 560px) {
  :root {
    --margin-big: 60px;
    --margin-middle: 40px;
    --margin-small: 20px;
    --container-w1: 20px;
    --container-w2: 20px;
    --margin-col2: 10px;
  }
}
/*====================================================================
　Commons
====================================================================*/
html, body {
  width: 100%;
  word-wrap: break-word;
  word-break: break-all;
}
@media screen and (max-width: 1080px) {
  html, body {
    font-size: 16px;
  }
}
@media screen and (max-width: 560px) {
  html, body {
    font-size: 16px;
  }
}
body{
	color: #eee;
	font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	line-height: 1.8;
  background: #000;
  font-weight: 400;
}
img {
  display: block;
	max-width: 100%;
	image-rendering: -webkit-optimize-contrast;
}
::-webkit-full-page-media, :future, :root img{
  image-rendering: auto;
}
svg {
  fill: currentColor;
  max-width: 100%;
}
p {
	margin: 40px 0;
}
@media screen and (max-width: 560px) {
  p {
    margin: 20px 0;
  }
}
input, 
button, 
select, 
textarea {
	font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  outline: none;
}
input, 
select, 
textarea {
  background: #FFF;
}

.animeTrigger .mo1{
  opacity: 0;
}
.animeTrigger.animetion .mo1{
  animation: AnifadeIn 2s ease-in-out 0s 1 normal forwards;
}
@keyframes AnifadeIn {
	0% { opacity: 0;transform: translateY(100px); }
	100% { opacity: 1;transform: translateY(0); }
}
@-webkit-keyframes AnifadeIn {
	0% { opacity: 0;transform: translateY(100px); }
	100% { opacity: 1;transform: translateY(0); }
}

.animeTrigger.animetion .order1{
  animation-delay: calc(.5s * 1);
}
.animeTrigger.animetion .order2{
  animation-delay: calc(.5s * 2);
}
.animeTrigger.animetion .order3{
  animation-delay: calc(.5s * 3);
}
.animeTrigger.animetion .order4{
  animation-delay: calc(.5s * 4);
}
.animeTrigger.animetion .order5{
  animation-delay: calc(.5s * 5);
}
.animeTrigger.animetion .order6{
  animation-delay: calc(.5s * 6);
}
.animeTrigger.animetion .order7{
  animation-delay: calc(.5s * 7);
}
.animeTrigger.animetion .order8{
  animation-delay: calc(.5s * 8);
}
.animeTrigger.animetion .order9{
  animation-delay: calc(.5s * 9);
}
.animeTrigger.animetion .order10{
  animation-delay: calc(.5s * 10);
}


.animeTrigger .mo2{
  opacity: 0;
}
.animeTrigger.animetion .mo2{
  animation: fadeIn 2s ease-in-out 0s 1 normal forwards;
}
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@-webkit-keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

.animeTrigger .mo3{
  overflow: hidden;
  display: block;
}
.animeTrigger .mo3 .inner{
  display: block;
  opacity: 0;
  transform: translateY(100%);
}
.animeTrigger.animetion .mo3 .inner{
  animation: Anislidetopin 1s ease-in-out 0s 1 normal forwards;
}
@keyframes Anislidetopin {
	0% { opacity: 0;transform: translateY(100%); }
	100% { opacity: 1;transform: translateY(0%); }
}
@-webkit-keyframes Anislidetopin {
	0% { opacity: 0;transform: translateY(100%); }
	100% { opacity: 1;transform: translateY(0%); }
}

.header_sp{
  display: none !important;
}
@media screen and (max-width: 768px) {
  .header_pc{
    display: none !important;
  }
  .header_sp{
    display: block !important;
  }
}

.header_flex01{
  display: flex;
  width: 100%;
}
@media screen and (max-width: 830px) {
  .header_flex01{
    display: block;
  }
}



/*
link
---------------------------------------------------------*/
a {
	transition: all .3s ease;
}
a:link {
	color: var(--color-blk1);
	text-decoration: none;
}
a:visited {
	color: var(--color-blk1);
	text-decoration: none;
}
a:hover {
  opacity: .6;
	text-decoration: underline;
}
/*
navskip
---------------------------------------------------------*/
.navskip { display: none; }
/*====================================================================
Layout……各ページを構成するサイト全体で共通したエリアを管理
====================================================================*/
/*----------------------------------------*/
.l-pagetop {
  position: fixed;
  bottom: 20px;
  right: 0;
  z-index: 100;
}
.l-pagetop a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  background-color: var(--color-main1);
  color: var(--color-wht);
  text-decoration: none;
}
/*----------------------------------------*/
.l-container01 {
  margin: var(--margin-big) 0;
}
.l-container01:first-child {
  margin: 0 0 0;
}
/*----------------------------------------*/
.l-section01 {
  max-width: calc(770px + (var(--container-w1) * 2));
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--container-w1);
}
.l-section01.frame01 {
  border-left: 1px solid var(--color-blk2);
  border-right: 1px solid var(--color-blk2);
  padding-top: 20px;
  padding-bottom: 20px;
}
.l-section02 {
  max-width: calc(770px + (var(--container-w1) * 2));
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 830px) {
  .l-section02 {
    padding: 0 var(--container-w1);
  }
}

/*----------------------------------------*/
.l-footer{
  padding: var(--container-w1);
}
/*----------------------------------------*/
.l-row {
  display: flex;
  flex-wrap: wrap;
}
.l-row__reverse {
  flex-direction: row-reverse;
}
.l-row__center {
  align-items: center;
}
.l-row__jcenter {
  justify-content: center;
}
.l-row__jspaceb {
  justify-content: space-between;
}
.l-row__childflex1 {
  flex: 1;
}
.l-row .col0{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col) * -1);
}
.l-row .col0 > li {
  margin-right: var(--margin-col);
  margin-left: var(--margin-col);
  margin-bottom: var(--margin-col);
}
@media screen and (max-width: 960px) {
  .l-row .col0 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}

.l-row .col2{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col) * -1);
}
.l-row .col2 > li {
  width: calc(100% / 2 - (var(--margin-col) / 2));
  margin-right: var(--margin-col);
  margin-bottom: var(--margin-col);
}
.l-row .col2 > li:nth-child(2n) {
  margin-right: 0;
}
@media screen and (max-width: 960px) {
  .l-row .col2 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}

.l-row .col2_1{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col2) * -1);
}
.l-row .col2_1 > li {
  width: calc(100% / 2 - (var(--margin-col2) / 2));
  margin-right: var(--margin-col2);
  margin-bottom: var(--margin-col2);
}
.l-row .col2_1 > li:nth-child(2n) {
  margin-right: 0;
}
@media screen and (max-width: 960px) {
  .l-row .col2_1 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}

.l-row .col2_2{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col3) * -1);
}
.l-row .col2_2 > li {
  width: calc(100% / 2 - (var(--margin-col3) / 2));
  margin-right: var(--margin-col3);
  margin-bottom: var(--margin-col3);
}
.l-row .col2_2 > li:nth-child(2n) {
  margin-right: 0;
}
@media screen and (max-width: 960px) {
  .l-row .col2_2 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}



.l-row .col3{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col) * -1);
}
.l-row .col3 > li {
  width: calc(100% / 3 - ((var(--margin-col) * 2 ) / 3));
  margin-right: var(--margin-col);
  margin-bottom: var(--margin-col);
}
.l-row .col3 > li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 960px) {
  .l-row .col3 > li {
    width: calc(100% / 2 - (var(--margin-col) / 2));
  }
  .l-row .col3 > li:nth-child(odd) {
    margin-right: var(--margin-col);
  }
  .l-row .col3 > li:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 560px) {
  .l-row .col3 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}
.l-row .col4{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col) * -1);
}
.l-row .col4 > li {
  width: calc(100% / 4 - ((var(--margin-col) * 3 ) / 4));
  margin-right: var(--margin-col);
  margin-bottom: var(--margin-col);
}
.l-row .col4 > li:nth-child(4n) {
  margin-right: 0;
}
@media screen and (max-width: 960px) {
  .l-row .col4 > li {
    width: calc(100% / 3 - ((var(--margin-col) * 2 ) / 3));
  }
  .l-row .col4 > li:nth-child(4n) {
    margin-right: var(--margin-col);
  }
  .l-row .col4 > li:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 660px) {
  .l-row .col4 > li {
    width: calc(100% / 2 - (var(--margin-col) / 2));
  }
  .l-row .col4 > li:nth-child(3n) {
    margin-right: var(--margin-col);
  }
  .l-row .col4 > li:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 420px) {
  .l-row .col4 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}
.l-row .col5{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col) * -1);
}
.l-row .col5 > li {
  width: calc(100% / 5 - ((var(--margin-col) * 4 ) / 5));
  margin-right: var(--margin-col);
  margin-bottom: var(--margin-col);
}
.l-row .col5 > li:nth-child(5n) {
  margin-right: 0;
}
@media screen and (max-width: 960px) {
  .l-row .col5 > li {
    width: calc(100% / 3 - ((var(--margin-col) * 2 ) / 3));
  }
  .l-row .col5 > li:nth-child(5n) {
    margin-right: var(--margin-col);
  }
  .l-row .col5 > li:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 560px) {
  .l-row .col5 > li {
    width: calc(100% / 2 - (var(--margin-col) / 2));
  }
  .l-row .col5 > li:nth-child(3n) {
    margin-right: var(--margin-col);
  }
  .l-row .col5 > li:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 360px) {
  .l-row .col5 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}
.l-row .col6{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col) * -1);
}
.l-row .col6 > li {
  width: calc(100% / 6 - ((var(--margin-col) * 5 ) / 6));
  margin-right: var(--margin-col);
  margin-bottom: var(--margin-col);
}
.l-row .col6 > li:nth-child(6n) {
  margin-right: 0;
}
@media screen and (max-width: 960px) {
  .l-row .col6 > li {
    width: calc(100% / 3 - ((var(--margin-col) * 2 ) / 3));
  }
  .l-row .col6 > li:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 560px) {
  .l-row .col6 > li {
    width: calc(100% / 2 - (var(--margin-col) / 2));
  }
  .l-row .col6 > li:nth-child(3n) {
    margin-right: var(--margin-col);
  }
  .l-row .col6 > li:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 360px) {
  .l-row .col6 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}
/*----------------------------------------*/
/*----------------------------------------*/
.l-row {
  display: flex;
  flex-wrap: wrap;
}
.l-row .col3{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: calc( var(--margin-col) * -1);
}
.l-row .col3 > li {
  width: calc(100% / 3 - ((var(--margin-col) * 2 ) / 3));
  margin-right: var(--margin-col);
  margin-bottom: var(--margin-col);
}
.l-row .col3 > li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 960px) {
  .l-row .col3 > li {
    width: calc(100% / 2 - (var(--margin-col) / 2));
  }
  .l-row .col3 > li:nth-child(odd) {
    margin-right: var(--margin-col);
  }
  .l-row .col3 > li:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 560px) {
  .l-row .col3 > li {
    width: 100%;
    margin-right: 0 !important;
  }
}
/*====================================================================
Project……再利用予定のないプロジェクト固有のスタイルを管理
====================================================================*/

.p-header_s{
  background: url(../img/h_img01.jpg) top center / 1920px auto no-repeat;
  width: 100%;
  height: 780px;
  animation: HeaderAnime 3s ease-in-out 1s 1 normal forwards;
}
@keyframes HeaderAnime {
	0% { background-image: url(../img/h_img01.jpg); }
  50% { background-image: url(../img/h_img02.jpg); }
	100% { background-image: url(../img/h_img03.jpg); }
}
@-webkit-keyframes HeaderAnime {
	0% { background-image: url(../img/h_img01.jpg); }
  50% { background-image: url(../img/h_img02.jpg); }
	100% { background-image: url(../img/h_img03.jpg); }
}
@keyframes HeaderAnimeSP {
	0% { background-image: url(../img/h_img01_sp.jpg); }
  50% { background-image: url(../img/h_img02_sp.jpg); }
	100% { background-image: url(../img/h_img03_sp.jpg); }
}
@-webkit-keyframes HeaderAnimeSP {
	0% { background-image: url(../img/h_img01_sp.jpg); }
  50% { background-image: url(../img/h_img02_sp.jpg); }
	100% { background-image: url(../img/h_img03_sp.jpg); }
}
@media screen and (max-width: 1080px) {
  .p-header_s{
    background: top center / 190vw auto no-repeat;
    width: 100%;
    height: 0;
    padding-bottom: 85%;
  }
}
@media screen and (max-width: 560px) {
  .p-header_s{
    background: url(../img/h_img01_sp.jpg) top center / 100% auto no-repeat;
    width: 100%;
    height: 0;
    padding-bottom: 130%;
    animation: HeaderAnimeSP 3s ease-in-out 1s 1 normal forwards;
  }
}

.p-headtext{
  position: fixed;
  top: 20px;
  right: 20px;
}
.p-headtext > span{
  display: inline-block;
  color: #000;
  font-weight: 700;
  font-size: 1.2rem;
  padding: 6px 10px;
  line-height: 1.2;
  background: var(--color-main1);
}
@media screen and (max-width: 792px) {
  .p-headtext{
    position: relative;
    top: initial;
    right: initial;
  }
  .p-headtext > span{
    display: block;
    text-align: center;
    color: #000;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 6px 10px;
    line-height: 1.2;
    background: var(--color-main1);
  }
}

/*----------------------------------------*/
.c-textbox01{
  display: inline-block;
  margin: auto;
  background: #FFF;
  color: var(--color-blk1);
  padding: .4em 1em;
  border-radius: 100px;
  font-weight: 900;
  font-size: 1.8rem;
  line-height: 1;
}
.c-textbox02{
  display: inline-block;
  margin: auto;
  border: 1px solid;
  padding: .4em 1em;
  border-radius: 100px;
  font-weight: 900;
  font-size: 1.8rem;
  line-height: 1;
}
/*----------------------------------------*/
/*----------------------------------------*/
/*----------------------------------------*/
/*----------------------------------------*/
@media screen and (max-width: 1080px) {
  .l-gnav__sub > .l-gnav__item:has( > .p-sns__link){
    border: none;
    margin-right: 0;
    width: 100%;
  }
  .l-gnav__sub > .l-gnav__item:has( > .p-search__area){
    border: none;
    margin-right: 0;
    width: 100%;
  }
}
/*-------------------------------------------*/
/*====================================================================
Component……再利用可能な小さな単位のモジュールを管理（ボタンなど）
====================================================================*/
/*-------------------------------------------*/

.p-entry__bt01{
  box-sizing: border-box;
  background: #008A1E ;
  border: 2px solid #5B9B56;
  box-shadow:
  inset 0px 0px 10px #1eff00,
  0px 8px 0px #1a6b14;
  border-radius: 100px;
  width: 100%;
  display: block;
  color: #FFF;
  font-weight: 900;
  font-size: 2.5rem;
  line-height: 1.3;
  text-align: center;
  padding: 30px 20px;
  text-shadow: 0 0 10px rgba(0,0,0,50%);
  cursor: pointer;
  transition: all .4s;
}
.p-entry__bt01:hover{
  transform: scale(.99) translateY(6px);
  box-shadow:
  inset 0px 0px 10px #ffee00,
  0px 1px 0px #1a6b14;
  color: #5db946;
}
@media screen and (max-width: 560px) {
  .p-entry__bt01{
    font-size: 1.8rem;
    padding: 20px 12px 25px;
    border-radius: 20px;
  }
}

/*----------------------------------------*/
.c-btn01{
  display: inline-block;
  border: 1px solid #999;
  background: #EEE;
  border-radius: 5px;
  padding: 10px 40px 10px 20px;
  position: relative;
}
.c-btn01::before{
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
}
/*----------------------------------------*/
.c-box01{
  padding: var(--margin-small);
  border: 1px solid var(--color-main1);
}
.c-box02{
  position: relative;
}
.c-waku{
  width: 2em;
  height: 2em;
  border-top: 5px solid #999;
  border-left: 5px solid #999;
  display: inline-block;
}
.c-waku.t_l{
  position: absolute;
  top: 15px;
  left: 15px;
}
.c-waku.t_r{
  position: absolute;
  top: 15px;
  right: 15px;
  transform: rotate(90deg);
}
.c-waku.b_l{
  position: absolute;
  bottom: 15px;
  left: 15px;
  transform: rotate(270deg);
}
.c-waku.b_r{
  position: absolute;
  bottom: 15px;
  right: 15px;
  transform: rotate(180deg);
}
@media screen and (max-width: 1080px) {
  .c-waku{
    border-top: 5px solid #999;
    border-left: 5px solid #999;
  }
  .c-waku.t_l{
    top: 0;
    left: 0;
  }
  .c-waku.t_r{
    top: 0;
    right: 0;
  }
  .c-waku.b_l{
    bottom: 0;
    left: 0;
  }
  .c-waku.b_r{
    bottom: 0;
    right: 0;
  }
}

.c-box03{
  position: relative;
  padding: 1em;
}
.c-box03::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2em;
  height: 2em;
  border: 1px solid #FFF;
  border-right: none;
  border-bottom: none;
}
.c-box03::after{
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 2em;
  height: 2em;
  border: 1px solid #FFF;
  border-right: none;
  border-bottom: none;
  transform: rotate(180deg);
}


/*----------------------------------------*/
.c-title01{
  font-size: 3em;
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  position: relative;
  background: url(../img/m_subbg01.jpg) center center / cover no-repeat;
  min-height: 300px;
  padding: .5em 20px;
  color: var(--color-wht);
  font-family: "Noto Serif JP", serif;
  text-shadow: 0 0 10px #000;
  line-height: 1.6;
}
@media screen and (max-width: 1080px) {
  .c-title01{
    background: url(../img/m_subbg01.jpg) center center / auto 100% no-repeat;
    min-height: initial;
    padding: 40px 20px;
  }
  .c-title01 .u-skew{
    transform: skewX(0);
  }
}
@media screen and (max-width: 560px) {
  .c-title01{
    font-size: 2em;
    line-height: 1.8;
  }
}
/*----------------------------------------*/
.c-ul__number > li::marker {
  color: var(--color-blk1);
}
/*-------------------------------------------*/
/*----------------------------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
a:has( > .c-pickup ){
  text-decoration: none;
}
/*-------------------------------------------*/
/*-------------------------------------------*/
.c-voice01{
  border: 1px solid var(--color-main1);
  border-radius: 20px;
  padding: 40px;
}
.c-voice01__title{
  display: flex;
}
.c-voice01__title > .img{
  width: 120px;
}
.c-voice01__title > .title{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  margin-left: 20px;
  flex: 1;
}
.c-voice01__title > .title > *{
  width: 100%;
}
.c-voice01__title > .title > .main_text{
  border-top: 1px solid var(--color-sub1);
  margin-top: 10px;
  padding-top: 10px;
}
.c-voice01 .c-voice01__text{
  margin: 20px 0 0 0;
}
.c-voice01 .c-voice01__text p{
  margin: 0;
}
.c-voice01 .c-voice01__text p:not(:last-child){
  margin: 0 0 20px 0;
}

/*-------------------------------------------*/
.c-reslut{
  border: 1px solid var(--color-main1);
  border-radius: 20px;
  padding: 40px;
}

/*-------------------------------------------*/
.c-dbox01{
  display: flex;
  border: 1px solid var(--color-main1);
  border-radius: 20px;
  margin-top: 40px;
  padding: 10px;
}
.c-dbox01:first-of-type{
  margin-top: 40px;
}
.c-dbox01 > .text01{
  flex: 1;
  display: flex;
  align-items: center;
  padding: 10px;
}
.c-dbox01 > .text01 > span{
  display: inline-block;
  font-size: 40px;
  font-weight: 700;
  width: 1.5em;
  text-align: center;
  position: relative;
  line-height: 1;
  color: #FFF;
  z-index: 1;
  margin-right: -5px;
}
.c-dbox01 > .text01 > span::after{
  content: "";
  background: var(--color-main1);
  position: absolute;
  top: 12%;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1.5em;
  height: 1.5em;
  z-index: -1;
  border-radius: 100px;
}
.c-dbox01 > .text02{
  padding: 10px;
}
.c-dbox01 > .text02 .midashi{
  border-bottom: 1px solid var(--color-sub1);
  padding-bottom: 10px;
  font-size: 1.1em;
  font-weight: 700;
}
.c-dbox01 > .text02 p{
  margin: 5px auto 0;
}
@media screen and (max-width: 560px) {
  .c-dbox01{
    display: block;
    padding: 5px;
  }
  .c-dbox01 > .text01{
    justify-content: center;
    margin-top: -20px;
  }
  .c-dbox01 > .text01 > span{
    margin-right: 0;
  }
}
/*-------------------------------------------*/
.c-dbox02{
  border: 1px solid var(--color-main1);
  border-radius: 20px;
  padding: 40px;
  background: var(--color-sub2);
  position: relative;
}
.c-dbox02 > .waku01{
  position: absolute;
  top: 10px;
  left: 10px;
}
.c-dbox02 > .waku02{
  position: absolute;
  top: 10px;
  right: 10px;
  transform: rotate(90deg);
}
.c-dbox02 > .waku03{
  position: absolute;
  bottom: 10px;
  left: 10px;
  transform: rotate(-90deg);
}
.c-dbox02 > .waku04{
  position: absolute;
  bottom: 10px;
  right: 10px;
  transform: rotate(-180deg);
}
/*-------------------------------------------*/
.c-dbox03{
  border: 1px solid var(--color-main1);
  border-radius: 20px;
  padding: 60px 40px 40px;
  position: relative;
  margin-top: -40px;
}
.c-dbox03__title{
  display: flex;
  justify-content: center;
  width: calc(100% - 40px);
  margin: auto;
}
.c-dbox03__title > .inner{
  border-radius: 20px;
  background: var(--color-main1);
  color: #000;
  text-align: center;
  padding: 14px 20px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1080px) {
  .c-dbox03{
    padding: 40px 20px 20px;
    margin-top: -20px;
  }
}
/*-------------------------------------------*/
.c-textlayout01{
  display: flex;
}
.c-textlayout01 > *:first-child{
  display: flex;
  align-items: center;
}
.c-textlayout01 > *:not(:first-child){
  margin-left: 10px;
  flex: 1;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 560px) {
  .c-textlayout01.spwrap{
    flex-wrap: wrap;
    justify-content: center;
  }
  .c-textlayout01.spwrap > *:not(:first-child){
    margin-left: 0;
    flex: initial;
  }
}

ul.c-list01{
  list-style-type: none;
  margin: 0;
}
ul.c-list01 > li {
  margin-bottom: 0.5em;
  position: relative;
  padding-left: 1em;
}
ul.c-list01 > li:last-child {
  margin-bottom: 0;
}
ul.c-list01 > li:before {
  position: absolute;
  top: 0.6em;
  left: 0;
  content: "";
  background: var(--color-main1);
  width: 0.6em;
  height: 0.6em;
  border-radius: 1em;
}

.c-table01{
  background: #eee;
  color: #000;
  width: 100%;
}

.c-table01 th,
.c-table01 td{
  border: 1px solid var(--color-blk3);
  padding: .5em;
}
.c-table01 th{
  background: #ddd;
  width: 0;
  white-space: nowrap;
}

/*----------------------------------------*/
.p-form__bg{
  border: 1px solid var(--color-sub1);
  border-radius: 20px;
  padding: var(--container-w1) 150px;
}
.p-form{
    margin: auto;
    color: #000;
    background: #eee;
    padding: var(--margin-col);
}
.p-input{
  width: 100%;
  display: block;
  margin-bottom: 60px ;
}
.p-input > .title__area{
  display: flex;
  align-items: flex-start;
  width: 100%;
  font-weight: 700;
  position: relative;
  margin-bottom: 16px;
}
.p-input > .input__area{
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.p-input > .input__area > .nowrap{
  flex: 1;
  display: flex;
  align-items: center;
}
.p-input > .input__area .attached{
  margin-right: 10px;
  margin-left: 10px;
}
.p-input > .input__area .attached__f{
  margin-right: 10px;
}
.input__flex1{
  flex: 1;
}
.input__error{
  width: 100%;
  color:#DE1963;
}
.input__width01{
  width: 5em;
}
.input__width02{
  width: 8em;
}
.input__width03{
  width: 10em;
}
@media screen and (max-width: 680px) {
  .p-input{
    display: block;
    margin-bottom: 40px;
  }
  .p-input > .title__area{
    margin-bottom: .8em;
  }
  .input__width01{
    width: 100%;
  }
  .input__width02{
    width: 200%;
  }
  .input__width03{
    width: 100%;
  }
}
/*必須・任意*/
.p-required{
  background: var(--color-main1);
  color: var(--color-wht);
  border-radius: 3px;
  font-size: 0.8em;
  padding: .2em .5em;
  display: flex;
  align-items: center;
  margin-right: .5em;
}
.p-required.any{
  background: var(--color-blk3);
  color: var(--color-blk1);
}

/*セレクトボックス*/
.p-input select{
  border-radius: 3px;
  border: 1px solid var(--color-blk2);
  display: inline-block;
  padding: .3em .5em;
  line-height: 1.8;
  width: 100%;
}
.p-input select:focus{
  border: 1px solid var(--color-main1);
}
/*テキストエリア*/
.p-input textarea{
  border-radius: 3px;
  border: 1px solid var(--color-blk2);
  padding: .3em .5em;
  line-height: 1.8;
  height: 8em;
}
.p-input textarea:focus{
  border: 1px solid var(--color-main1);
}
/*その他*/
.p-input input[type="file"]{
  cursor: pointer;
  width: 18em;
}
/*入力フォームまわり*/
.p-input input:not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="button"]):not([type="hidden"]){
  border-radius: 3px;
  border: 1px solid var(--color-blk2);
  padding: .3em .5em;
  line-height: 1.8;
}
.p-input input:not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="button"]):not([type="hidden"]):focus{
  border: 1px solid var(--color-main1);
}
/*ラジオボタン・チェックボックス パターン1*/
.p-checklist{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -1em;
}
.p-checklist > li{
  margin: 0 1em 1em 0;
  position: relative;
  display: flex;
}
.p-checklist label{
  display: inline-block;
  line-height: 1;
  margin-left: 1.2em;
  cursor: pointer;
}
.p-checklist input[type="radio"]{
  all: initial;
  background: url(../img/ico_radio01_1.svg) center center / 100% auto no-repeat;
  width: 1rem;
  height: 1rem;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 1px;
}
.p-checklist input[type="radio"]:checked{
  background: url(../img/ico_radio01_2.svg) center center / 100% auto no-repeat;
}
.p-checklist input[type="checkbox"]{
  all: initial;
  background: url(../img/ico_checkbox01_1.svg) center center / 100% auto no-repeat;
  width: 1rem;
  height: 1rem;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 1px;
}
.p-checklist input[type="checkbox"]:checked{
  background: url(../img/ico_checkbox01_2.svg) center center / 100% auto no-repeat;
}
/*ラジオボタン・チェックボックス パターン2*/
.p-checklist02{
  display: flex;
  overflow: hidden;
  border-radius: 3px;
  border: 1px solid var(--color-blk2);
  width: 100%;
}
.p-checklist02 > *{
  flex: 1;
}

/*送信ボタン・リセットボタン*/
.p-formbutton{
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-formbutton > button,
.p-formbutton > input{
  margin: 0 .5em;
}
@media screen and (max-width: 1080px) {
  .p-form__bg{
    padding: var(--container-w1) 40px;
  }
}
@media screen and (max-width: 560px) {
  .p-form__bg{
    padding: var(--container-w1) 20px;
  }
}

/*====================================================================
.article__area…記事部分の装飾まとめ
====================================================================*/
.article__area h1:not([class]),
.article__area h2:not([class]){
  margin: var(--margin-big) 0 60px;
  font-size: 2.2em;
  font-weight: 900;
  position: relative;
}
.article__area h3:not([class]){
  margin: var(--margin-middle) 0 1em;
  font-size: 1.5em;
  font-weight: 700;
  padding-left: .5em;
  position: relative;
  border-left: 6px solid var(--color-main1);
}
.article__area h4:not([class]){
  font-size: 1.2em;
  font-weight: 700;
  padding-bottom: .5em;
  margin: var(--margin-middle) 0 1em;
  position: relative;
}
.article__area h4:not([class])::before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 100%;
  background: #999;
}
.article__area h4:not([class])::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 15%;
  background: var(--color-main1);
}
.article__area h5:not([class]){
  font-size: 1.2em;
  font-weight: 700;
  margin: var(--margin-middle) 0 1em;
  position: relative;
}
.article__area h5:not([class]) > span{
  display: inline-block;
  border: 1px solid var(--color-main1);
  padding: 0.5em 1em;
}
.article__area h6:not([class]){
  font-size: 1.2em;
  font-weight: 700;
  margin: var(--margin-middle) 0 1em;
  position: relative;
  padding: 0.5em 1em;
  background: var(--color-sub2);
}
.article__area h1:first-child,
.article__area h2:first-child{
  margin-top: 0;
}
.article__area h1:not([class]) + h1:not([class]),
.article__area h1:not([class]) + h2:not([class]),
.article__area h1:not([class]) + h3:not([class]),
.article__area h1:not([class]) + h4:not([class]),
.article__area h1:not([class]) + h5:not([class]),
.article__area h1:not([class]) + h6:not([class]),
.article__area h2:not([class]) + h2:not([class]),
.article__area h2:not([class]) + h3:not([class]),
.article__area h2:not([class]) + h4:not([class]),
.article__area h2:not([class]) + h5:not([class]),
.article__area h2:not([class]) + h6:not([class])
{margin-top: 40px;}
.article__area h3:not([class]) + h3:not([class]),
.article__area h3:not([class]) + h4:not([class]),
.article__area h3:not([class]) + h5:not([class]),
.article__area h3:not([class]) + h6:not([class]),
.article__area h4:not([class]) + h4:not([class]),
.article__area h4:not([class]) + h5:not([class]),
.article__area h4:not([class]) + h6:not([class]),
.article__area h5:not([class]) + h5:not([class]),
.article__area h5:not([class]) + h6:not([class])
{margin-top: 40px;}
@media screen and (max-width: 1080px) {
  .article__area h1:first-child,
  .article__area h2:first-child{
    margin-bottom: 0;
  }
}
@media screen and (max-width: 660px) {
  .article__area h1:not([class]) br,
  .article__area h2:not([class]) br,
  .article__area h3:not([class]) br,
  .article__area h4:not([class]) br,
  .article__area h5:not([class]) br,
  .article__area h6:not([class]) br{
    display: none;
  }
  .article__area h1:not([class]),
  .article__area h2:not([class]){
    font-size: 2rem;
    line-height: 1.5;
  }
  .article__area h3:not([class]){
    line-height: 1.6;
  }
  .article__area h3:not([class]) > span{
    font-size: 1.6rem;
  }
  .article__area h4:not([class]){
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .article__area h5:not([class]){
    font-size: 1.3rem;
    line-height: 1.5;
  }
  .article__area h6:not([class]){
    font-size: 1.2rem;
    line-height: 1.5;
  }
}
.article__area ul:not([class]){
  list-style-type: none;
  margin: var(--margin-small) 0 var(--margin-small) 0.1em;
}
.article__area ul:not([class]) > li {
  margin-bottom: 0.5em;
  position: relative;
  padding-left: 1em;
}
.article__area ul:not([class]) > li:last-child {
  margin-bottom: 0;
}
.article__area ul:not([class]) > li:before {
  position: absolute;
  top: 0.6em;
  left: 0;
  content: "";
  background: var(--color-main1);
  width: 0.6em;
  height: 0.6em;
  border-radius: 1em;
}
.article__area ol:not([class]) > li::marker {
  font-weight: 700;
  color: var(--color-main1);
}
.article__area table:not([class]) th:has(+ th){
  background: var(--color-blk4);
  width: auto;
  white-space:initial;
}
/*====================================================================
Utility…調整のための便利クラスなどを管理
====================================================================*/
.u-left {  text-align: left !important;}
.u-right {  text-align: right !important;}
.u-center {  text-align: center;}
.u-center--pc {  text-align: center;}
@media screen and (max-width: 1080px) {
	.u-center--pc {  text-align: left;}
	.u-center--sp {  text-align: center;}
}
@media screen and (max-width: 830px) {
  .u-pcbr{
    display: none !important;
  }
}
.u-lh10{line-height: 1 !important;}
.u-lh12{line-height: 1.2 !important;}
.u-lh14{line-height: 1.4 !important;}
.u-lh16{line-height: 1.6 !important;}
.u-lh18{line-height: 1.8 !important;}
.u-lh20{line-height: 2 !important;}
/*----------------------------------------*/
.u-fnt--family01{font-family: "Noto Serif JP", serif;}
/*----------------------------------------*/
.u-fnt--w01{font-weight: 100 !important;}
.u-fnt--w02{font-weight: 200 !important;}
.u-fnt--w03{font-weight: 300 !important;}
.u-fnt--w04{font-weight: 400 !important;}
.u-fnt--w05{font-weight: 500 !important;}
.u-fnt--w06{font-weight: 600 !important;}
.u-fnt--w07{font-weight: 700 !important;}
.u-fnt--w08{font-weight: 800 !important;}
.u-fnt--w09{font-weight: 900 !important;}
/*----------------------------------------*/
.u-fnt--ssss {font-size:0.6em;}
.u-fnt--sss {font-size:0.7em;}
.u-fnt--ss {font-size:0.8em;}
.u-fnt--s {font-size:0.9em;}
.u-fnt--l {font-size:1.1em;}
.u-fnt--ll {font-size:1.2em;}
.u-fnt--lll {font-size:1.4em;}
.u-fnt--llll {font-size:1.6em;line-height: 1.7;}
.u-fnt--lllll {font-size:1.8em;line-height: 1.7;}
.u-fnt--llllll {font-size:2em;line-height: 1.6;}
.u-fnt--lllllll {font-size:2.2em;line-height: 1.6;}
.u-fnt--llllllll {font-size:2.4em;line-height: 1.6;}
.u-fnt--lllllllll {font-size:3em;line-height: 1.5;}
@media screen and (max-width: 1080px) {
.u-fnt--llllll {font-size:1.9em;line-height: 1.7;}
.u-fnt--lllllll {font-size:2em;line-height: 1.5;}
.u-fnt--llllllll {font-size:2.2em;line-height: 1.5;}
.u-fnt--lllllllll {font-size:2.5em;line-height: 1.5;}
}
/*----------------------------------------*/
.u-fntcolor--main1 {color: var(--color-main1) !important;}
.u-fntcolor--sub1 {color: var(--color-sub1)!important;}
.u-fntcolor--red {color: #e41010 !important;}
.u-fntcolor--orange {color: #e48510 !important;}
.u-fntcolor--yellow {color: #e4cf10 !important;}
.u-fntcolor--green {color: #0f9a00 !important;}
.u-fntcolor--blue {color: #51dcff !important;}
.u-fntcolor--purple {color: #840bc0 !important;}
.u-fntcolor--wht {color: #FFF !important;}
.u-fntcolor--blk {color: var(--color-blk1) !important;}
/*----------------------------------------*/
.u-bgcolor--main1 {background-color: var(--color-main1) !important;}
.u-bgcolor--sub1 {background-color: #f7f1cf !important;}
.u-bgcolor--red {background-color: #e41010 !important;}
.u-bgcolor--orange {background-color: #e48510 !important;}
.u-bgcolor--yellow {background-color: #e4cf10 !important;}
.u-bgcolor--green {background-color: #0f9a00 !important;}
.u-bgcolor--blue {background-color: #1041e4 !important;}
.u-bgcolor--purple {background-color: #840bc0 !important;}
.u-bgcolor--wht {background-color: #FFF !important;}
.u-bgform{
  background: url(../img/form_bg.png) top center / 100% auto no-repeat #000 !important;
}
/*----------------------------------------*/
.u-m--layout01  {margin-top: var(--margin-big) !important;}
.u-m--layout02  {margin-top: var(--margin-middle) !important;}
.u-m--layout03  {margin-top: var(--margin-small) !important;}
.u-m10  {margin: 10px !important;}
.u-m20  {margin: 20px !important;}
.u-m30  {margin: 30px !important;}
.u-m40  {margin: 40px !important;}
.u-m50  {margin: 50px !important;}
.u-m60  {margin: 60px !important;}
.u-m70  {margin: 70px !important;}
.u-m80  {margin: 80px !important;}
.u-m90  {margin: 90px !important;}
.u-m100  {margin: 100px !important;}
.u-mt0  {margin-top: 0 !important;}
.u-mt10 {margin-top: 10px !important;}
.u-mt20 {margin-top: 20px !important;}
.u-mt40 {margin-top: 40px !important;}
.u-mt50 {margin-top: 50px !important;}
.u-mt60 {margin-top: 60px !important;}
.u-mt70 {margin-top: 70px !important;}
.u-mt80 {margin-top: 80px !important;}
.u-mt90 {margin-top: 90px !important;}
.u-mt100 {margin-top: 100px !important;}
.u-mb0  {margin-bottom: 0 !important;}
.u-mb10 {margin-bottom: 10px !important;}
.u-mb20 {margin-bottom: 20px !important;}
.u-mb40 {margin-bottom: 40px !important;}
.u-mb50 {margin-bottom: 50px !important;}
.u-mb60 {margin-bottom: 60px !important;}
.u-mb70 {margin-bottom: 70px !important;}
.u-mb80 {margin-bottom: 80px !important;}
.u-mb90 {margin-bottom: 90px !important;}
.u-mb100 {margin-bottom: 100px !important;}
.u-ml0  {margin-left: 0 !important;}
.u-ml10 {margin-left: 10px !important;}
.u-ml20 {margin-left: 20px !important;}
.u-ml40 {margin-left: 40px !important;}
.u-mr0  {margin-right: 0 !important;}
.u-mr10 {margin-right: 10px !important;}
.u-mr20 {margin-right: 20px !important;}
.u-mr40 {margin-right: 40px !important;}
.u-mauto {margin: auto !important;}
.u-m0   {margin: 0 !important;}
/*----------------------------------------*/
.u-p10  {padding: 10px !important;}
.u-p20  {padding: 20px !important;}
.u-p30  {padding: 30px !important;}
.u-p40  {padding: 40px !important;}
.u-p50  {padding: 50px !important;}
.u-p60  {padding: 60px !important;}
.u-p70  {padding: 70px !important;}
.u-p80  {padding: 80px !important;}
.u-p90  {padding: 90px !important;}
.u-p100  {padding: 100px !important;}
.u-pt0  {padding-top: 0 !important;}
.u-pt10 {padding-top: 10px !important;}
.u-pt20 {padding-top: 20px !important;}
.u-pt40 {padding-top: 40px !important;}
.u-pt50 {padding-top: 50px !important;}
.u-pt60 {padding-top: 60px !important;}
.u-pt70 {padding-top: 70px !important;}
.u-pt80 {padding-top: 80px !important;}
.u-pt90 {padding-top: 90px !important;}
.u-pt100 {padding-top: 100px !important;}
.u-pb0  {padding-bottom: 0 !important;}
.u-pb10 {padding-bottom: 10px !important;}
.u-pb20 {padding-bottom: 20px !important;}
.u-pb40 {padding-bottom: 40px !important;}
.u-pb50 {padding-bottom: 50px !important;}
.u-pb60 {padding-bottom: 60px !important;}
.u-pb70 {padding-bottom: 70px !important;}
.u-pb80 {padding-bottom: 80px !important;}
.u-pb90 {padding-bottom: 90px !important;}
.u-pb100 {padding-bottom: 100px !important;}
.u-pl0  {padding-left: 0 !important;}
.u-pl10 {padding-left: 10px !important;}
.u-pl20 {padding-left: 20px !important;}
.u-pl40 {padding-left: 40px !important;}
.u-pr0  {padding-right: 0 !important;}
.u-pr10 {padding-right: 10px !important;}
.u-pr20 {padding-right: 20px !important;}
.u-pr40 {padding-right: 40px !important;}
.u-p0   {padding: 0 !important;}
/*----------------------------------------*/
.u-w100p {  width: 100% !important;}
.u-wauto {  width: auto !important;}
.u-wmx320 {  width: 100% !important;max-width: 320px !important;}
.u-wmx560 {  width: 100% !important;max-width: 560px !important;}
/*----------------------------------------*/
.u-kadomaru01{border-radius: 10px;}
.u-kadomaru02{border-radius: 20px;}
/*----------------------------------------*/
.u-border01{border:1px solid var(--color-main1)}
.u-border02{border:2px solid var(--color-main1)}
.u-bordertop01{border-top:1px solid var(--color-main1)}
.u-borderbottom01{border-bottom:1px solid var(--color-main1)}
/*----------------------------------------*/
.u-nolink{pointer-events: none;}
/*----------------------------------------*/
.u-min01{font-size: clamp(12px,3vw,14px) !important;}
.u-big01{font-size: clamp(calc(1.2em),calc(5vw * 0.3),calc(5em * 0.3)) !important;font-weight: 700;line-height: 1.5;}
.u-big02{font-size: clamp(calc(1.3em),calc(5vw * 0.4),calc(5em * 0.4)) !important;font-weight: 700;line-height: 1.5;}
.u-big03{font-size: clamp(calc(1.4em),calc(5vw * 0.5),calc(5em * 0.5)) !important;font-weight: 700;line-height: 1.5;}
.u-big04{font-size: clamp(calc(1.5em),calc(5vw * 0.6),calc(5em * 0.6)) !important;font-weight: 700;line-height: 1.4;}
.u-big05{font-size: clamp(calc(2em * 0.8),calc(5vw * 0.8),calc(5em * 0.8)) !important;font-weight: 900;line-height: 1.4;}
.u-big06{font-size: clamp(calc(2em * 0.9),calc(5vw * 0.9),calc(5em * 0.9)) !important;font-weight: 900;line-height: 1.4;}
.u-big07{font-size: clamp(2em,5vw,5em) !important;font-weight: 900;line-height: 1.4;}
.u-bigmx01{font-size: clamp(40px,7vw,75px) !important;font-weight: 900;line-height: 1.3;}
/*----------------------------------------*/
.u-fnt--shadow01{text-shadow: 0 0 5px var(--color-blk1);}
.u-fnt--shadow02{text-shadow: 0 0 5px var(--color-wht);}
.u-fnt--shadow03{text-shadow: 0 0 5px var(--color-main1);}
/*----------------------------------------*/
.u-under01{
  text-decoration: underline;
}
.u-strike{
  text-decoration: line-through;
}
.u-skew{
  display: inline-block;
  transform: skewX(-15deg);
}
@media screen and (max-width: 1080px) {
  .u-skew{
    transform: skewX(0);
  }
}
.u-fnt--deco01__1{
  background:linear-gradient(transparent 60%, #ff6 60%);
}
.u-fnt--deco01__2{
  background:linear-gradient(transparent 60%, rgb(255, 102, 229) 60%);
}
.u-fnt--deco01__3{
  background:linear-gradient(transparent 60%, #691919 60%);
}
.u-fnt--deco02__1{
  border-bottom: 2px solid var(--color-main1);
}
.u-fnt--deco03__1{
  background: linear-gradient(135deg, #ff3b45 0%, #7a2207 40%, #66070b 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.u-decobox01{
  display: block;
  position: relative;
  padding: 2em 1em;
}
.u-decobox01::before{
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  width: 4em;
  height: 4em;
  border-top: 10px solid var(--color-main1);
  border-left: 10px solid var(--color-main1);
}
.u-decobox01::after{
  content: "";
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 4em;
  height: 4em;
  border-bottom: 10px solid var(--color-main1);
  border-right: 10px solid var(--color-main1);
}

.u-decobox02{
  display: block;
  position: relative;
  padding: 2em 3em;
}
.u-decobox02::before{
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  width: 4em;
  height: 4em;
  border-top: 2px solid #e4cf10;
  border-left: 2px solid #e4cf10;
}
.u-decobox02::after{
  content: "";
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 4em;
  height: 4em;
  border-bottom: 2px solid #e4cf10;
  border-right: 2px solid #e4cf10;
}
@media screen and (max-width: 560px) {
  .u-decobox02{
    padding: 2em 1em;
  }
}

.u-fshadow01{text-shadow: 0 0 5px var(--color-blk1);}
.u-deco01{background:linear-gradient(transparent 60%, #ddd 60%) bottom left / 100% auto no-repeat;}
.u-deco02{background:linear-gradient(transparent calc(100% - 2px), #ddd 100%) bottom left / 100% auto no-repeat;padding-bottom: 2px;display: inline;line-height: 1.9;}
.u-deco03{background:#ddd bottom left / 100% auto no-repeat;line-height: 2;}
.u-deco04{
	background:linear-gradient(150deg,#ffe788,#b7a500);
	-webkit-background-clip:text;
	-webkit-text-fill-color: transparent;
  display: inline-block;
}
.u-deco05{
	border: 1px solid #ddd;
  padding: .5em 1em;
  display: inline-block;
}
:root {
  --textshadow01-weight: 1px;
  --textshadow01-blur: 1px;
  --textshadow01-color: #a1a1a1;
}
.u-textshadow01 {
  text-shadow:
    var(--textshadow01-weight) var(--textshadow01-weight) var(--textshadow01-blur) var(--textshadow01-color),
    calc(var(--textshadow01-weight) * -1) var(--textshadow01-weight) var(--textshadow01-blur) var(--textshadow01-color),
    var(--textshadow01-weight) calc(var(--textshadow01-weight) * -1) var(--textshadow01-blur) var(--textshadow01-color),
    calc(var(--textshadow01-weight) * -1) calc(var(--textshadow01-weight) * -1) var(--textshadow01-blur) var(--textshadow01-color),
    var(--textshadow01-weight) 0px var(--textshadow01-blur) var(--textshadow01-color),
    0px var(--textshadow01-weight) var(--textshadow01-blur) var(--textshadow01-color),
    calc(var(--textshadow01-weight) * -1) 0px var(--textshadow01-blur) var(--textshadow01-color),
    0px var(--textshadow01-weight) calc(var(--textshadow01-weight) * -1) var(--textshadow01-color)
}
:root {
  --textshadow02-weight: 2px;
  --textshadow02-blur: 2px;
  --textshadow02-color: #a1a1a1;
}
.u-textshadow02 {
  text-shadow:
    var(--textshadow02-weight) var(--textshadow02-weight) var(--textshadow02-blur) var(--textshadow02-color),
    calc(var(--textshadow02-weight) * -1) var(--textshadow02-weight) var(--textshadow02-blur) var(--textshadow02-color),
    var(--textshadow02-weight) calc(var(--textshadow02-weight) * -1) var(--textshadow02-blur) var(--textshadow02-color),
    calc(var(--textshadow02-weight) * -1) calc(var(--textshadow02-weight) * -1) var(--textshadow02-blur) var(--textshadow02-color),
    var(--textshadow02-weight) 0px var(--textshadow02-blur) var(--textshadow02-color),
    0px var(--textshadow02-weight) var(--textshadow02-blur) var(--textshadow02-color),
    calc(var(--textshadow02-weight) * -1) 0px var(--textshadow02-blur) var(--textshadow02-color),
    0px var(--textshadow02-weight) calc(var(--textshadow02-weight) * -1) var(--textshadow02-color)
}
:root {
  --textshadow03-weight: 1px;
  --textshadow03-blur: 2px;
  --textshadow03-color: #ffe600;
}
.u-textshadow03 {
  text-shadow:
    var(--textshadow03-weight) var(--textshadow03-weight) var(--textshadow03-blur) var(--textshadow03-color),
    calc(var(--textshadow03-weight) * -1) var(--textshadow03-weight) var(--textshadow03-blur) var(--textshadow03-color),
    var(--textshadow03-weight) calc(var(--textshadow03-weight) * -1) var(--textshadow03-blur) var(--textshadow03-color),
    calc(var(--textshadow03-weight) * -1) calc(var(--textshadow03-weight) * -1) var(--textshadow03-blur) var(--textshadow03-color),
    var(--textshadow03-weight) 0px var(--textshadow03-blur) var(--textshadow03-color),
    0px var(--textshadow03-weight) var(--textshadow03-blur) var(--textshadow03-color),
    calc(var(--textshadow03-weight) * -1) 0px var(--textshadow03-blur) var(--textshadow03-color),
    0px var(--textshadow03-weight) calc(var(--textshadow03-weight) * -1) var(--textshadow03-color)
}
.u-under01{text-decoration: underline;}
.u-italic{font-style: italic;letter-spacing: -0.05em;}

.u-rotate90{
  transform: rotate(90deg);
}

/*====================================================================
dark mode
====================================================================*/
@media (prefers-color-scheme: dark) {
  /* html全体の色を反転させる */
  html {
    filter: invert(1) hue-rotate(180deg);
  }
  /* 画像は再反転させて戻す */
  html img {
    filter: invert(1) hue-rotate(180deg);
  }
}
