abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:0 0}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}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 #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}li{list-style:none}img{vertical-align:bottom;flex-shrink:0;margin:0;padding:0;line-height:1}ul{list-style-type:none;margin-block-start:0;margin-block-end:0;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0}

html{
margin: 0;
padding: 0;
}

/*swup.js*/
.transition-fade{
margin: 0;
padding: 0;
opacity: 1;
transition: 1ms;
/*transform: translate(0);
transform-origin: left;*/
/*transition-timing-function: ease-in;*/
}

html.is-animating .transition-fade{
opacity: 1;
/*transform: translateX(0%);*/
}

html.is-leaving .transition-fade{
opacity: 1;
/*transform: translateX(0);*/
}
/*swup.js*/

html.is-changing *:focus {
  outline: none;
}




/*ローダー
----------------------------------------------------------------------*/
.loader_layout{
position: fixed;
z-index: -1;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: calc( 100% - 0px );
width: -webkit-calc( 100% - 0px );
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}

.loader {
width: 38px;
height: 38px;
border: 2px solid #ccc;
border-bottom-color: transparent;
border-radius: 50%;
display: inline-block;
box-sizing: border-box;
animation: rotation 3s linear infinite;
}




@keyframes rotation {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/*ローダー
----------------------------------------------------------------------*/



body{
background: #fff;
position: relative;
width: 100%;
margin: 0;
padding: 0;
overflow-x: hidden;
font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
/*Yu Gothic Pr6N R*/
font-family: "yu-gothic-pr6n", sans-serif;
font-weight: 400;
font-style: normal;

-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-size-adjust: 100%;/*スマホ回転*/
-webkit-text-size-adjust: 100%;
}

::selection{
background: #fff;
color: #000;
}

body::before {
  content: '';
  position: fixed; /* 画面全体に固定 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  /* 初期状態は透明で見えない */
  opacity: 0;
  backdrop-filter: blur(0px);

  /* 念のため最前面に表示。モーダル等があれば更に大きい値に */
  z-index: 9999;

  /* このレイヤーが操作の邪魔をしないようにする */
  pointer-events: none;

  /* アニメーションを滑らかにする */
  transition: opacity 0.0s, backdrop-filter 0.0s;
}

/* このクラスが付いたらレイヤーを表示してぼかす */
body.is-blured::before {
  opacity: 1;
  backdrop-filter: blur(4px);
}



a{text-decoration:none;color:#fff;}


.sp_show{
display: inline-block;
}
.pc_show{
display: none;
}


/*ここが、いれかわる*/
#content_area{
width: 100%;
margin: 0;
padding: 0;
opacity: 0;
}


#SUGAWARA_FONT{

/*Garamond Premier Display light*/
font-family: garamond-premier-pro-display, serif;
font-weight: 300;
font-style: normal;

/*Garamond Premier Display*/
font-family: garamond-premier-pro-display, serif;
font-weight: 400;
font-style: normal;

/*ゴシック*/
/*Nimbus Sans Light*/
font-family: "nimbus-sans", sans-serif;
font-weight: 300;
font-style: normal;

/*ヒラギノ明朝　Hiragino Mincho ProN W3*/
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;

/*IvyOra Display Thin*/
font-family: ivyora-display, sans-serif;
font-weight: 100;
font-style: normal;

/*IvyOra Display Light*/
font-family: ivyora-display, sans-serif;
font-weight: 300;
font-style: normal;

/*IvyOra Display Regular*/
font-family: "ivyora-display", sans-serif;
font-weight: 400;
font-style: normal;




/*IvyPresto Display Thin*/
font-family: "ivypresto-display", serif;
font-weight: 100;
font-style: normal;


/*IvyPresto Display Light*/
font-family: "ivypresto-display", serif;
font-weight: 300;
font-style: normal;

/*IvyPresto Display Regular*/
font-family: "ivypresto-display", serif;
font-weight: 400;
font-style: normal;
}

#prohibition{
position: fixed;
top: 0;
left: 0;
z-index: -1;
width: 100%;
height: 100vh;
height: 100svh;
opacity: 0;

display: flex;
justify-content: center;
align-items: center;

user-select: none;
-webkit-user-select: none;
cursor: pointer;
}

.copyright_prohibition{
margin: 20px 0 0 0;
/*IvyOra Display Regular*/
font-family: ivyora-display, sans-serif;
font-weight: 400;
font-style: normal;

font-size: 11px;
line-height: 1.5;
color: #fff;
letter-spacing: 0.06em;
}

/*
#prohibition.ok_hyoji{
z-index: 9999;
opacity: 1;
transition: opacity 0.5s;
-webkit-transition: opacity 0.5s;
}
*/

#prohibition .text_area{
text-align: center;
z-index: 2;
}

#prohibition .text_area .select_en{
/*IvyOra Display Regular*/
font-family: ivyora-display, sans-serif;
font-weight: 400;
font-style: normal;

font-size: 16px;
line-height: 1.5;
color: #fff;
letter-spacing: 0.06em;
}





#prohibition .text_area .select_jp{
font-size: 13px;
line-height: 1.6;
color: #fff;
/*ヒラギノ明朝　Hiragino Mincho ProN W3*/
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;

-moz-font-feature-settings: "pkna" 1;
-webkit-font-feature-settings: "pkna" 1;
font-feature-settings: "pkna" 1;
letter-spacing: 0.0em;
}


#prohibition .text_area .select_jp .special_english{
margin: 0 0 20px 0;
/*IvyOra Display Regular*/
font-family: ivyora-display, sans-serif;
font-weight: 400;
font-style: normal;

font-size: 15px;
line-height: 1.5;
color: #fff;
letter-spacing: 0.06em;
}






#prohibition .bg_area{
position: fixed;
top: 0;
left: 0;
z-index: 1;
width: 100vw;
height: 100vh;
height: 100svh;
height: 100lvh;
background: #000;
opacity: 0.85;
}




/*ロゴ*/
.sp_logo{
display: none;
position: fixed;
z-index: 9999;
top: 17px;
left: 18px;
color: #333;
font-size: 14px;
line-height: 20px;
/*フォント約物すべて、詰める*/
-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: -0.03em;

mix-blend-mode: difference;
-webkit-mix-blend-mode: difference;
}



ul.g_nav{
display: none;
visibility: hidden;
width: 100%;
margin: 0 auto;
position: fixed;
top: 15px;
left: 0;
display: flex;
justify-content: space-evenly;

mix-blend-mode: difference;
-webkit-mix-blend-mode: difference;
user-select: none;
-webkit-user-select: none;
}







ul.g_nav li{
color: #333;
font-size: 20px;
/*フォント約物すべて、詰める*/
-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: -0.1em;
}

ul.g_nav li:first-child{
margin: 0 20px 0 0;
}

ul.g_nav li a{
color: #333;
}









/*wp-pagenavi base*/
.wp-pagenavi{
clear: both;
text-align:center;

font-size: 14px;

/*Garamond Premier Display*/
font-family: garamond-premier-pro-display, serif;
font-weight: 400;
font-style: normal;

-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: 0.0em;
padding: 0 0 200px 0;
}

.wp-pagenavi a, .wp-pagenavi span {
display: inline-block;
color: #333;
border-radius: 2px;
padding: 10px 10px;
width: 35px;
height: 35px;
line-height: 35px;
margin: 0 0;
text-align: center;

white-space: nowrap;
-webkit-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
transition: 0.2s ease-in-out;
text-decoration:none;
}

.wp-pagenavi a:hover{
color: #333;
background-color:#eee;
}

.wp-pagenavi span.current{
color: #000;
text-decoration: underline;
}

.wp-pagenavi .pages{
display: none;
}


/*ロゴとコピー*/


/*ロゴとコピー*/
.index-logo{
position: fixed;
z-index: 1;
top: 0px;
left: 0px;
width: 100%;
height: 100vh;
height: 100svh;
text-align: center;

display: flex;
justify-content: center;
align-items: center;
}

.index-logo img{
width: 51vw;
height: auto;

opacity: 0;
animation-name: ImgfadeInAnimeLogo;
animation-duration: 4s;
animation-iteration-count: 1;
animation-fill-mode: forwards;/*アニメが終了した後も、100%に指定した状態をキープする。*/
animation-timing-function:ease;
animation-delay: 0s;
}


@keyframes ImgfadeInAnimeLogo{
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}






/*フッター*/
.common_footer{

}

body.page_bio footer{
position: relative;
margin: 0 0 10px 0;
padding: 0 0 0 0;
border: none;
background: none;
}

body.page_contact footer{
position: relative;
margin: 0 0 10px 0;
padding: 0 0 0 0;
border: none;
background: none;
}

body.page_process footer{
position: relative;
margin: 0 0 10px 0;
padding: 0 0 0 0;
border: none;
background: none;
}

.copy_desc_right{
position: fixed;
left: 10px;
bottom: 9px;
text-align: left;
width: calc( 100% - 20px );
width: calc( 100% - 20px );
border: none;
background: none;
}

body.page_works .copy_desc_right{
position: relative;
left: 10px;
bottom: auto;
width: calc( 100% - 20px );
width: calc( 100% - 20px );
padding: 0 0 0 0;
margin: 0 0 0 0;
}



body.page_works .copy_desc_right{
position: relative;
left: 10px;
bottom: auto;
width: calc( 100% - 20px );
width: calc( 100% - 20px );
padding: 0 0 0 0;
margin: 0 0 0 0;
}

body.page_works footer{
position: relative;
margin: 0 0 0 0;
padding: 0 0 10px 0;
border: none;
background: none;
}





body.page_bio .copy_desc_right{
position: relative;
left: 10px;
bottom: auto;
width: calc( 100% - 20px );
width: calc( 100% - 20px );
padding: 0 0 0 0;
margin: 0 0 0 0;
}


body.page_contact .copy_desc_right{
position: relative;
left: 10px;
bottom: auto;
width: calc( 100% - 20px );
width: calc( 100% - 20px );
padding: 0 0 0 0;
margin: 0 0 0 0;
}


body.page_process .copy_desc_right{
position: relative;
left: 10px;
bottom: auto;
width: calc( 100% - 20px );
width: calc( 100% - 20px );
padding: 0 0 0 0;
margin: 0 0 0 0;
}



/*Unauthorized copying and replication of the contents of this site, text and images are strictly prohibited.*/
.copy_desc_right .copy_desc{
display: block;

margin: 0;
padding: 0;

/*IvyOra Display Regular*/
font-family: "ivyora-display", sans-serif;
font-weight: 400;
font-style: normal;

/*minion 3  Regular*/
font-family: "minion-3", serif;
font-weight: 400;
font-style: normal;

font-size: 8.5px;
line-height: 1.5;
-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: 0.05em;
}

.copy_desc_right .copy_right{
position: absolute;
right: 0;
bottom: 0;

display: block;
margin: 0;
padding: 0;

/*IvyOra Display Regular*/
font-family: "ivyora-display", sans-serif;
font-weight: 400;
font-style: normal;

/*minion 3  Regular*/
font-family: "minion-3", serif;
font-weight: 400;
font-style: normal;

font-size: 7px;
line-height: 1.5;

-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: 0.03em;
}









/*スマホ終了
-------------------------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {



/*ロゴ*/
.sp_logo{
opacity: 0;
position: fixed;
z-index: 9999;
top: 11px;
left: auto;
right: 60px;
color: #333;
font-size: 20px;
line-height: 20px;
/*フォント約物すべて、詰める*/
-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: -0.1em;

mix-blend-mode: difference;
-webkit-mix-blend-mode: difference;
}



.sp_show{
display: none;
}
.pc_show{
display: inline-block;
}

ul.g_nav{
display: none;
visibility: hidden;

position: fixed;
z-index: 9999;
width: 100%;
margin: 0 auto;

top: 0px;
left: 0;
display: flex;
justify-content: space-evenly;

mix-blend-mode: difference;
-webkit-mix-blend-mode: difference;
user-select: none;
-webkit-user-select: none;
}



ul.g_nav li{
position: relative;
display: inline-block;

color: #333;
font-size: 23px;
line-height: 23px;

/*フォント約物すべて、詰める*/
-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: -0.1em;
}

ul.g_nav li:first-child{
margin: 0 100px 0 0;
}

ul.g_nav li a{
color: #333;
}



ul.g_nav li::after{
content: '';
position: absolute;
bottom: 0px;
left: 0;
height: 2px;
background: #fff;
width: -webkit-calc(100% - 0.1em);
width: calc(100% - 0.1em);
-webkit-transform: scaleX(0.0);
transform: scaleX(0.0);

transition-delay: 0.7s;
transition-property: opacity, transform;
opacity: 1;

-webkit-transform-origin: right;
transform-origin: right;
transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(.19, 1, .22, 1);
transition: opacity 0.7s, transform 0.7s cubic-bezier(.19, 1, .22, 1);

mix-blend-mode: difference;
-webkit-mix-blend-mode: difference;
}


ul.g_nav li:hover:after{
transition-delay:0.7s;
opacity: 1;
-webkit-transform: scaleX(1.0);
transform: scaleX(1.0);
-webkit-transform-origin: left;
transform-origin: left;
transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(.19, 1, .22, 1);
transition: opacity 0.7s, transform 0.7s cubic-bezier(.19, 1, .22, 1);
}




/*ロゴとコピー*/
.index-logo{
position: fixed;
z-index: 1;
top: 0px;
left: 0px;
width: 100%;
height: 100vh;
height: 100svh;
text-align: center;

display: flex;
justify-content: center;
align-items: center;
}

.index-logo img{
width: 22vw;
height: auto;

opacity: 0;
animation-name: ImgfadeInAnimeLogo;
animation-duration: 4s;
animation-iteration-count: 1;
animation-fill-mode: forwards;/*アニメが終了した後も、100%に指定した状態をキープする。*/
animation-timing-function:ease;
animation-delay: 0s;
}

@keyframes ImgfadeInAnimeLogo{
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}


/*フッター*/

/*フッター*/
body.page_bio footer{
position: relative;
margin: 0 0 0 0;
padding: 0 0 0 0;
border: none;
background: none;
}




.copy_desc_right{
position: fixed;
left: auto;
right: 10px;
bottom: 11px;
text-align: right;
width: calc( 100% - 20px );
width: calc( 100% - 20px );
}

body.page_bio .copy_desc_right{
position: fixed;
left: auto;
right: 10px;
bottom: 11px;
text-align: right;
width: calc( 100% - 20px );
width: calc( 100% - 20px );
margin: 0 0 0 0;
padding: 0 0 0 0;
}



.copy_desc_right .copy_desc{
display: inline;
margin: 0;
padding: 0;

/*IvyOra Display Regular*/
font-family: "ivyora-display", sans-serif;
font-weight: 400;
font-style: normal;

font-size: 10px;
line-height: 1.4;
-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: 0.05em;
}

.copy_desc_right .copy_right{
position: relative;
right: auto;
bottom: auto;
display: inline;
margin: 0 0 0 6px;

/*IvyOra Display Regular*/
font-family: "ivyora-display", sans-serif;
font-weight: 400;
font-style: normal;

font-size: 8.5px;
line-height: 1.6;
-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: 0.05em;
}




/*wp-pagenavi base*/
.wp-pagenavi{
clear: both;
text-align:center;

font-size: 14px;

/*Garamond Premier Display*/
font-family: garamond-premier-pro-display, serif;
font-weight: 400;
font-style: normal;

-moz-font-feature-settings: "palt" 1;
-webkit-font-feature-settings: "palt" 1;
font-feature-settings: "palt" 1;
letter-spacing: 0.0em;
padding: 0 0 0 0;
}

/*ローダー
----------------------------------------------------------------------*/
.loader_layout{
position: fixed;
z-index: -1;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: calc( 100vw - 20px );
width: -webkit-calc( 100vw - 20px );
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}

.loader {
width: 48px;
height: 48px;
border: 3px solid #ccc;
border-bottom-color: transparent;
border-radius: 50%;
display: inline-block;
box-sizing: border-box;
animation: rotation 3s linear infinite;
}


}/*PC終了*/
