@charset "UTF-8";

/*____________ common_____________

_______ font


font-family: "tk-takumi-narazu-moji-p", sans-serif;
font-weight: 300;
font-style: normal;

font-family: tk-takumi-narazu-moji-p, sans-serif;
font-weight: 900;
font-style: normal;

font-family: "fot-udmarugo-large-pr6n", sans-serif;
font-weight: 600;
font-style: normal;

font-family: "fot-udmarugo-large-pr6n", sans-serif;
font-weight: 700;
font-style: normal;


font-family: fot-udkakugo-large-pr6n, sans-serif;
font-weight: 600;
font-style: normal;


#000000
#ffffff
#05D48B
#6C6C6C
#F4F4F4

#56BBAF


text-shadow: 0px 0px 6px rgba(255, 255, 255, 0.85);

*/

:root {
  /* Colors */
  --color-01: #000000;
  --color-02: #ffffff;
  --color-03: #04d0b0;
  --color-04: #6c6c6c;

  /* Component colors */
  --news-thumb-label-background: var(--color-03);
  --news-thumb-card-hover-background: color-mix(in srgb, var(--color-03) 10%, transparent);
  --news-thumb-image-hover-background: var(--news-thumb-card-hover-background);

  --base-font-color: var(--color-04);
 --base-letter-spacing:0.05rem;
    
  --link-font-color: var(--color-03);
  --link-font-hover-color: var(--color-04);
  --link-border-color: hsla(0, 0%, 0%, 0.25);
  --link-border-color-strong: hsla(0, 0%, 0%, 0.35);
    
  --border-color: hsla(0, 0%, 100%, 0.3);
    
  --background-color: var(--color-02);
  --background-color-subtle: hsla(0, 0%, 100%, 0.1);

  /* Typography */
  --font-family-base: fot-udmarugo-large-pr6n, sans-serif;
  --font-family-accent: tk-takumi-narazu-moji-p, sans-serif;

  --font-size-xlarge:clamp(1.1rem, 0.991rem + 0.55vw, 1.4rem);
  --font-size-large: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
  --font-size-default: clamp(0.8rem, 0.727rem + 0.36vw, 1rem);
  --font-size-small: clamp(0.7rem, 0.627rem + 0.36vw, 0.9rem);
    
  --line-height-default: 1.7;
  --line-height-large: 2;
    
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
    
  --letter-spacing-default: 0.1rem;
     --letter-spacing-large: 0.2rem;
   

  /* Spacing and content widths */
  --spacing-mobile-ratio: 1.5;
  --width-default: 1200px;
  --width-wide: 1400px;
  --width-small: 1000px;

  /* Titles */
  --title-font-size: clamp(1.1rem, 0.845rem + 1.27vw, 1.8rem);
  --title-font-weight: 600;
  --title-font-color: var(--color-03);
  --title-letter-spacing: 0.2rem;
  --title-font-family: var(--font-family-base);
}




/*------------------------------------------------------------------------
// utility
------------------------------------------------------------------------*/

/*----------------------------------------
	変数連動ユーティリティ
----------------------------------------*/

/*文字色*/
.text-color-01 {color: var(--color-01) !important;}
.text-color-02 {color: var(--color-02) !important;}
.text-color-03 {color: var(--color-03) !important;}
.text-color-04 {color: var(--color-04) !important;}

/*背景色*/
.bg-color-01 {background-color: var(--color-01) !important;}
.bg-color-02 {background-color: var(--color-02) !important;}
.bg-color-03 {background-color: var(--color-03) !important;}
.bg-color-04 {background-color: var(--color-04) !important;}
.bg-color-default {background-color: var(--background-color) !important;}
.bg-color-subtle {background-color: var(--background-color-subtle) !important;}

/*フォント*/
.font-family-base {font-family: var(--font-family-base) !important;}
.font-family-accent {font-family: var(--font-family-accent) !important;}

/*文字サイズ*/
.font-size-xlarge {font-size: var(--font-size-xlarge) !important;}
.font-size-default {font-size: var(--font-size-default) !important;}
.font-size-large {font-size: var(--font-size-large) !important;}
.font-size-small {font-size: var(--font-size-small) !important;}

/*行間*/
.line-height-default {line-height: var(--line-height-default) !important;}
.line-height-large {line-height: var(--line-height-large) !important;}

.letter-spacing-default{letter-spacing: var(--letter-spacing-default) !important;}
.letter-spacing-large{letter-spacing: var(--letter-spacing-large) !important;}

@media (max-width: 767px) {
  .line-height-large {
    line-height: calc(var(--line-height-large) / 0.9) !important;
  }
}

/*ウェイト*/
.font-weight-semibold {font-weight: var(--font-weight-semibold) !important;}
.font-weight-bold {font-weight: var(--font-weight-bold) !important;}
.font-weight-black {font-weight: var(--font-weight-black) !important;}

/*最大幅*/
.max-width-default {max-width: var(--width-default);}
.max-width-wide {max-width: var(--width-wide);}
.max-width-small {max-width: var(--width-small);}



/* SP設定 */

.sp {
  display: none;
}

@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
}




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

img.self-size {
  max-width: 100%;
}


.anime_a,
.last_anime{
	opacity: 0;
}



.opacity-30{
	opacity: 0.3;
}




.mt-0 {margin-top: 0rem !important;}
.mt-0-5 {margin-top: 0.5rem !important;}
.mt-1 {margin-top: 1rem !important;}
.mt-2 {margin-top: 2rem !important;}
.mt-3 {margin-top: 3rem !important;}
.mt-4 {margin-top: 4rem !important;}
.mt-5 {margin-top: 5rem !important;}
.mt-6 {margin-top: 6rem !important;}
.mt-7 {margin-top: 7rem !important;}
.mt-8 {margin-top: 8rem !important;}
.mt-9 {margin-top: 9rem !important;}
.mt-10 {margin-top: 10rem !important;}

.mb-0{margin-bottom: 0 !important;}
.mb-0-5 {margin-bottom: 0.5rem !important;}
.mb-1 {margin-bottom: 1rem !important;}
.mb-2 {margin-bottom: 2rem !important;}
.mb-3 {margin-bottom: 3rem !important;}
.mb-4 {margin-bottom: 4rem !important;}
.mb-5 {margin-bottom: 5rem !important;}
.mb-6 {margin-bottom: 6rem !important;}
.mb-7 {margin-bottom: 7rem !important;}
.mb-8 {margin-bottom: 8rem !important;}
.mb-9 {margin-bottom: 9rem !important;}
.mb-10 {margin-bottom: 10rem !important;}

.mr-1 {margin-right: 1rem !important;}
.ml-1 {margin-left: 1rem !important;}

.pt-1 {padding-top: 1rem !important;}
.pt-2 {padding-top: 2rem !important;}
.pt-3 {padding-top: 3rem !important;}
.pt-4 {padding-top: 4rem !important;}
.pt-5 {padding-top: 5rem !important;}
.pt-6 {padding-top: 6rem !important;}
.pt-7 {padding-top: 7rem !important;}
.pt-8 {padding-top: 8rem !important;}
.pt-9 {padding-top: 9rem !important;}
.pt-10 {padding-top: 10rem !important;}

.pb-1 {padding-bottom: 1rem !important;}
.pb-2 {padding-bottom: 2rem !important;}
.pb-3 {padding-bottom: 3rem !important;}
.pb-4 {padding-bottom: 4rem !important;}
.pb-5 {padding-bottom: 5rem !important;}
.pb-6 {padding-bottom: 6rem !important;}
.pb-7 {padding-bottom: 7rem !important;}
.pb-8 {padding-bottom: 8rem !important;}
.pb-9 {padding-bottom: 9rem !important;}
.pb-10 {padding-bottom: 10rem !important;}

@media (max-width: 767px) {
	
	
 .mt-1 {margin-top: calc(1rem / var(--spacing-mobile-ratio)) !important;}
 .mt-2 {margin-top: calc(2rem / var(--spacing-mobile-ratio)) !important;}
 .mt-3 {margin-top: calc(3rem / var(--spacing-mobile-ratio)) !important;}
 .mt-4 {margin-top: calc(4rem / var(--spacing-mobile-ratio)) !important;}
 .mt-5 {margin-top: calc(5rem / var(--spacing-mobile-ratio)) !important;}
 .mt-6 {margin-top: calc(6rem / var(--spacing-mobile-ratio)) !important;}
 .mt-7 {margin-top: calc(7rem / var(--spacing-mobile-ratio)) !important;}
 .mt-8 {margin-top: calc(8rem / var(--spacing-mobile-ratio)) !important;}	
 .mt-9 {margin-top: calc(9rem / var(--spacing-mobile-ratio)) !important;}	
 .mt-10 {margin-top: calc(10rem / var(--spacing-mobile-ratio)) !important;}	

 .mb-2 {margin-bottom: calc(2rem / var(--spacing-mobile-ratio)) !important;}
 .mb-3 {margin-bottom: calc(3rem / var(--spacing-mobile-ratio)) !important;}
 .mb-4 {margin-bottom: calc(4rem / var(--spacing-mobile-ratio)) !important;}
 .mb-5 {margin-bottom: calc(5rem / var(--spacing-mobile-ratio)) !important;}
 .mb-6 {margin-bottom: calc(6rem / var(--spacing-mobile-ratio)) !important;}
 .mb-7 {margin-bottom: calc(7rem / var(--spacing-mobile-ratio)) !important;}
 .mb-8 {margin-bottom: calc(8rem / var(--spacing-mobile-ratio)) !important;}	
 .mb-9 {margin-bottom: calc(9rem / var(--spacing-mobile-ratio)) !important;}	
 .mb-10 {margin-bottom: calc(10rem / var(--spacing-mobile-ratio)) !important;}
	
	
.pt-1 {padding-top: calc(1rem / var(--spacing-mobile-ratio)) !important;}
.pt-2 {padding-top: calc(2rem / var(--spacing-mobile-ratio)) !important;}
.pt-3 {padding-top: calc(3rem / var(--spacing-mobile-ratio)) !important;}
.pt-4 {padding-top: calc(4rem / var(--spacing-mobile-ratio)) !important;}
.pt-5 {padding-top: calc(5rem / var(--spacing-mobile-ratio)) !important;}
.pt-6 {padding-top: calc(6rem / var(--spacing-mobile-ratio)) !important;}
.pt-7 {padding-top: calc(7rem / var(--spacing-mobile-ratio)) !important;}
.pt-8 {padding-top: calc(8rem / var(--spacing-mobile-ratio)) !important;}
.pt-9 {padding-top: calc(9rem / var(--spacing-mobile-ratio)) !important;}
.pt-10 {padding-top: calc(10rem / var(--spacing-mobile-ratio)) !important;}

.pb-1 {padding-bottom: calc(1rem / var(--spacing-mobile-ratio)) !important;}
.pb-2 {padding-bottom: calc(2rem / var(--spacing-mobile-ratio)) !important;}
.pb-3 {padding-bottom: calc(3rem / var(--spacing-mobile-ratio)) !important;}
.pb-4 {padding-bottom: calc(4rem / var(--spacing-mobile-ratio)) !important;}
.pb-5 {padding-bottom: calc(5rem / var(--spacing-mobile-ratio)) !important;}
.pb-6 {padding-bottom: calc(6rem / var(--spacing-mobile-ratio)) !important;}
.pb-7 {padding-bottom: calc(7rem / var(--spacing-mobile-ratio)) !important;}
.pb-8 {padding-bottom: calc(8rem / var(--spacing-mobile-ratio)) !important;}
.pb-9 {padding-bottom: calc(9rem / var(--spacing-mobile-ratio)) !important;}
.pb-10 {padding-bottom: calc(10rem / var(--spacing-mobile-ratio)) !important;}
	
}





/*windows webフォント対策*/
/*widows シャギ-対策 textboxのみに設定 fixedが効かなくなる*/

.font-rendering-fix{
	transform: rotate(0.05deg);
}




/*スクリーンリーダーから隠す*/

.visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  margin: -1px;
}


/*幅*/

.width-10 {width: 10%;}
.width-20 {width: 20%;}
.width-30 {width: 30%;}
.width-40 {width: 40%;}
.width-50 {width: 50%;}
.width-60 {width: 60%;}
.width-70 {width: 70%;}
.width-80 {width: 80%;}
.width-90 {width: 90%;}
.width-100 {width: 100%;}



/*注釈*/
.text-note {
  margin-left: 1em;
  text-indent: -1em;
}



/*配置*/
.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}


.margin-inline-auto {margin-inline: auto !important;}

.display-block{
display: block;
}

.display-none{
display:none;
}

.position-relative{
	position: relative;
}

.position-absolute{
	position: absolute;
}



/*flex*/


.flex-justify-between {
display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;

}

.flex-justify-center {
display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;

}


.flex-justify-around {
display: flex;
  flex-direction: row;
  flex-wrap: wrap;
 justify-content: space-around;

}

.flex-justify-end{
display: flex;	
 justify-content: flex-end;
}



.flex-align-center{
	align-items:center;
}

.flex-align-start{
	align-items:flex-start;
}

.flex-align-end{
	align-items:flex-end;
}




.flex-item-full{
	width:100%;
}

.flex-item-half{
	width:48%;
}

.flex-item-third{
	width:32.5%;
}



/*comment*/

.flex-item-image{
	width:40%;
}

.flex-item-text{
	width:57%;
}


@media (max-width: 767px) {
	
.flex-item-image{
	width:100%;
}
	
.flex-item-text{
	margin-top:20px;
	width:100%;
}

	
}



.img--button__three{
	width:31%;
	
}

.img--button__three img{
	width:100% !important;
	
}



.flex-item-half-last::after{
  content:"";
  display: block;
  width:49%;
}


.flex-item-third-last{
	position: relative;
  content:"";
  display: block;	
 width:32%;
}

.flex-item-third-last::after{
  content:"";
  display: block;
  width:32%;
}




.flex-item-half:nth-of-type(n+3){/*1〜3以外*/
  margin-top: 40px;
}

.flex-item-third:nth-of-type(n+4){/*1〜3以外*/
  margin-top: 40px;
}

.img--button__three:nth-of-type(n+4){/*1〜3以外*/
  margin-top: 20px;
}


@media (max-width: 767px) {
	

.flex-item-half{
	width:100%;
}
	
	
	.flex-item-third:not(:first-child){
		
	margin-top:25px;
	
}
	
	.flex-item-third{
	width:100%;
}
	
	
	.flex-item-half:not(:first-child){
		
	margin-top:25px;
	
}
	
	.img--button__three{
	width:70%;
		margin-left: auto;
		margin-right: auto;
}
	
	.img--button__three:not(:first-child){
		
	margin-top:10px;
	
}
	
}



/*________________画像ボタン*/


.img--button {
  cursor: pointer;
 /* margin-inline: auto;*/
  position: relative;
}
/* 画像のスタイル */
.img--button img {
  height: auto;
  left: 0;
  position: relative;
  width: 100%;
}
/* 2枚目の画像は最初透明 */
.img--button img:last-of-type {
  opacity: 0;
  transition: opacity .3s;
	position: absolute;
	top:0;
	left:0;
	right:0;
	 width: 100%;
}
/* hoverすると2枚目の画像が透明じゃなくなる */
.img--button:hover img {
  opacity: 1;
} 



/*________________zoom画像ボタン*/

.zoomImgBox {
   /* overflow: hidden;*/	/*拡大時にはみ出た部分を隠す*/
    cursor: pointer;
}
.zoomImgBox img {
	opacity: 0.9;
    display: block;
    transition-duration: 0.5s;	/*変化に掛かる時間*/
}
.zoomImgBox img:hover {
	opacity: 1;
	transform: scale(1.05);	/*画像の拡大率*/
	transition-duration: 0.2s;	/*変化に掛かる時間*/
/*border-radius: 40px;*/
}


.zoomImgBox2 {
   /* overflow: hidden;*/	/*拡大時にはみ出た部分を隠す*/
    cursor: pointer;
}
.zoomImgBox2 img {
	opacity: 1;
    display: block;
    transition-duration: 0.5s;	/*変化に掛かる時間*/
		border: 1px solid hsla(0,0%,100%,0);
}
.zoomImgBox2 img:hover {
	opacity: 1;
	transform: scale(1.05);	/*画像の拡大率*/
	transition-duration: 0.2s;	/*変化に掛かる時間*/
	border: 1px solid var(--color-02);
	background-color: var(--color-01);
}




/*youtube*/

.youtube {
	position: relative;
	/* padding-bottom: 56.25%;
    padding-top: 30px;*/
	padding-bottom: 56.25%;
	padding-top: 0px;
	height: 0;
	overflow: hidden;
	margin-top: 0px;
	margin-bottom: 0px;
	/*background-color: #FFFFFF;*/
}
.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	/*background-color: #FFFFFF;*/
}





/*ルビ*/


/* <ruby data-ruby="ルビ">漢字<rt>ルビ</rt></ruby>*/

 ruby[data-ruby]
{
    position: relative;
}

ruby[data-ruby]::before
{
    content: attr(data-ruby);
    position: absolute;
    line-height: 100%;
    text-align: center;
    left: -3em;
    right: -3em;
    transform-origin: bottom center;

    /* ルビの文字サイズを親文字に対する比率で指定 */
    transform: scale(0.5);

    /* 100%を越える部分が親文字とルビとのスペースになる。単位は親文字に対する比率 */
    bottom: 102%;

    /* デバッグ用 */
  /*  background-color: rgba(255, 0, 0, 0.2);*/
}

ruby[data-ruby] rt
{
    display: none;
}
 
