@charset "UTF-8";

/*
Theme Name: PORTFOLIO
Author: Youjiro Ito
Version: 1.0
*/

/* ------------------------------ */
/* カスタムプロパティ */
/* ------------------------------ */
:root {
	--color-bg-base: #f3f3f3;
	--color-bg-base2: #f0f0f0;
	--color-bg-white: #ffffff;
	--color-bg-light: #C3C3C3;
	--color-bg-light2: #E5E5E5;
	--color-bg-light3: #DFDFDF;
	--color-bg-main_01: #84CCC9;
	--color-bg-main_02: #F29C9F;
	--color-bg-sub_01: #b7e5e3;
	--color-bg-sub_02: #FCBDBF;
	--color-bg-tag: #747474;
	--color-bg-tag2: #286B8A;
	--color-font-base: #252626;
	--color-font-light: #999999;
	--color-font-light_green: #5f706f;
	--color-font-link: #2196F3;
	--color-font-emphasis: #DB454A;
	--color-font-error: #e01818;
	--color-arrange-001: #CFEBF7;
	--color-arrange-002: #FBF9C0;
	--color-arrange-003: #DDEDD3;
	--font-family-base: 'Poppins','Noto Sans JP','メイリオ', Meiryo, sans-serif;
}
/* ------------------------------ */
/* 全体共通のスタイル */
/* ------------------------------ */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
	font-size: 13px;
	color: var(--color-font-base);
	background: var(--color-bg-base);
	font-family: var(--font-family-base);
	letter-spacing: 0.05em;
	line-height: 1.5;
	font-weight: 400;
	word-wrap: break-word;
	word-break: break-all;
}
@media screen and (min-width: 740px) {
    body {
        font-size: 16px;
    }
}
p {
	font-size: 13px;
	line-height: 1.7;
}
@media screen and (min-width: 740px) {
    p {
        font-size: 16px;
    }
}
.l-contents p{
	font-size: 13px;
	padding-left: 1em;
	line-height: 1.7;
}
@media screen and (min-width: 740px) {
    .l-contents p{
        font-size: 16px;
    }
}

/* ------------------------------ */
/* リセットCSS */
/* ------------------------------ */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
}

/* HTML5
-------------------------------------*/
article,aside,canvas,details,figcaption,figure, header,footer,main,menu,nav,section,summary {
	display: block;
}

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

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

fieldset,
img {
    border: 0;
}

address,
caption,
cite,
code,
dfn,
th,
var {
    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: bold;
    font-feature-settings: "palt";
    letter-spacing: .0625em;
}

q:before,
q:after {
    content: "";
}

abbr,
acronym {
    border: 0;
    font-variant: normal;
}

sup {
    vertical-align: text-top;
}

sub {
    vertical-align: text-bottom;
}

input,
textarea,
select,
button {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    font-size: 100%;
    border-radius: 0;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    background-color: inherit;
}

input, textarea {
	font-size: 16px;
	/* font-family: Arial, Hiragino Sans,Hiragino Kaku Gothic ProN,BIZ UDPGothic,Meiryo,sans-serif; */
}

label {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    user-select: none;
}

input[type=radio] {
	display: none;
	visibility: hidden;
	cursor: pointer;
}

input[type=submit] , input[type=button] {
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	letter-spacing: 0.15em;
}

input[type="email"] {
	font-family: Arial, Hiragino Sans,Hiragino Kaku Gothic ProN,BIZ UDPGothic,Meiryo,sans-serif;
	letter-spacing: 0.05em;
}

textarea {
    resize: vertical;
    display: block;
}

/* placeholder設定*/
input::placeholder, textarea::placeholder { 
    color: #aaa; 
    font-size: 16px;
}
@media screen and (min-width: 740px) {
    input::placeholder, textarea::placeholder {
        font-size: 16px;
    }
}

button {
    padding: 0;
    cursor: pointer;
}

legend {
    color: #000;
}

a {
    text-decoration: none;
    color: inherit;
    outline: none;
    transition: all 0.3s ease-in-out;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
a:hover {
	opacity: 0.8;
}

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

svg {
    display: block;
}

*::selection {
    background: var(--color-bg-sub_01);
}

/* ------------------------------ */
/* 汎用 強制クラス */
/* ------------------------------ */
/* display: none;（強制） */
.dn {
	display: none !important;
}
/* display: block;（強制） */
.db {
	display: block !important;
}
/* display: inline-block;（強制） */
.dib {
	display: inline-block !important;
}
.dfl {
	display: flex !important;
}
/* text-align: center（強制） */
.tac {
	text-align: center !important;
}
/* text-align: left（強制） */
.tal {
	text-align: left !important;
}
/* text-align: right（強制） */
.tar {
	text-align: right !important;
}
/* padding設定（強制） */
.pt0 {
	 padding-top: 0px !important; 
}
.pt10 {
	padding-top: 10px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pt150 {
	padding-top: 150px !important;
}
.pt200 {
	padding-top: 200px !important;
}

.pb0 {
	padding-bottom: 0px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pl0 {
	padding-left: 0px !important;
}
.pl5 {
	padding-left: 5px !important;
}
.pl10 {
	padding-left: 10px !important;
}
.pl20 {
	padding-left: 20px !important;
}
.pl30 {
	padding-left: 30px !important;
}
.pr0 {
	padding-right: 0px !important;
}
.pr5 {
	padding-right: 5px !important;
}
.pr10 {
	padding-right: 10px !important;
}
.pr20 {
	padding-right: 20px !important;
}
.pr30 {
	padding-right: 30px !important;
}

/* margin無し（強制） */
.mn {
	margin: 0 0 0 0 !important;
}
/* margin　中央寄せ（強制） */
.mce {
	margin: 0 auto!important;
}
/* margin　中央寄せ解除（強制） */
.mce_none {
	margin-right: 0!important;
	margin-left: 0!important;
}
/* margin設定（強制） */
.mt0 {
	margin-top: 0px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mb0 {
    margin-bottom: 0px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.ml0 {
	margin-left: 0px !important;
}
.ml10 {
	margin-left: 10px !important;
}
.ml20 {
	margin-left: 20px !important;
}
.ml30 {
	margin-left: 30px !important;
}
.mr0 {
	margin-right: 0px !important;
}
.mr10 {
	margin-right: 10px !important;
}
.mr20 {
	margin-right: 20px !important;
}
.mr30 {
	margin-right: 30px !important;
}
/* width設定 （強制）*/
.w100 {
	width: 100% !important;
}
.w50 {
	width: 50% !important;
}
.wa {
	width: auto !important;
}
/* max-width リセット設定 （強制）*/
.maxW_None {
	max-width: none !important;
}
/* min-width リセット設定 （強制）*/
.minW_None {
	min-width: 0 !important;
}
/* 画面幅いっぱいにしたい要素にあてるクラス */
.widthMax { 
	margin: 0 calc(50% - 50vw);
}
/* height設定 （強制）*/
.ha {
	height: auto !important;
}
/*font size 設定（強制） */
.f_sp_10 {
	font-size: 10px !important;
}
.f_sp_11 {
	font-size: 11px !important;
}
.f_sp_12 {
	font-size: 12px !important;
}
.f_sp_13 {
	font-size: 13px !important;
}
.f_sp_14 {
	font-size: 14px !important;
}
.f_sp_15 {
	font-size: 15px !important;
}
.f_sp_16 {
	font-size: 16px !important;
}

@media screen and (min-width: 740px) {
	.f_tab_11  {
		font-size: 11px !important;
	}
}
@media screen and (min-width: 740px) {
	.f_tab_12  {
		font-size: 12px !important;
	}
}
@media screen and (min-width: 740px) {
	.f_tab_13  {
		font-size: 13px !important;
	}
}
@media screen and (min-width: 740px) {
	.f_tab_14  {
		font-size: 14px !important;
	}
}
@media screen and (min-width: 740px) {
	.f_tab_15  {
		font-size: 15px !important;
	}
}
@media screen and (min-width: 740px) {
	.f_tab_16  {
		font-size: 16px !important;
	}
}
@media screen and (min-width: 740px) {
	.f_tab_17  {
		font-size: 17px !important;
	}
}
@media screen and (min-width: 740px) {
	.f_tab_18  {
		font-size: 18px !important;
	}
}

@media screen and (min-width: 1200px) {
	.f_PC_13  {
		font-size: 13px !important;
	}
}
@media screen and (min-width: 1200px) {
	.f_PC_14  {
		font-size: 14px !important;
	}
}
@media screen and (min-width: 1200px) {
	.f_PC_15  {
		font-size: 15px !important;
	}
}
@media screen and (min-width: 1200px) {
	.f_PC_16  {
		font-size: 16px !important;
	}
}
@media screen and (min-width: 1200px) {
	.f_PC_17  {
		font-size: 17px !important;
	}
}
@media screen and (min-width: 1200px) {
	.f_PC_18  {
		font-size: 18px !important;
	}
}


/*font color 設定（強制） */
.font_red {
    color: red !important;
}
/*font weight 設定（強制） */
.fb {
    font-weight: bold!important;
}
.fn {
    font-weight: normal!important;
}

/* border設定 （強制）*/
.bn {
	border: none !important;
}
/*vh設定 （強制） */
.vh {
	visibility: hidden !important;
}
/* クリック（タップ）無効　強制クラス */
.pen {
    pointer-events: none !important;
}
/* opacity 設定 */
.op0 {
	opacity: 0;
}
.op1_important {
	opacity: 1 !important;
}
/* animation-delay, transition-delay 設定 */
.td_03 {
	transition-delay: .3s!important;
}
.td_05 {
	transition-delay: .5s!important;
}
.td_07 {
	transition-delay: .7s!important;
}

.ad_03 {
	animation-delay: .3s!important;
}
.ad_05 {
	animation-delay: .5s!important;
}
.ad_07 {
	animation-delay: .7s!important;
}

/* ------------------------------ */
/* 　　　　　FORM　　　　　　 */
/* ------------------------------ */
/* アニメーションボタン */
.c-btn01__link {
	text-decoration: none;
	display: flex;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	justify-content: space-between;
	align-items: center;
	color: #ffffff;
	font-weight: 500;
	background: var(--color-font-base);
	border: 1px solid var(--color-font-base);
	padding: 5px 5px 5px 35px;
	border-radius: 50px;
	transition: 0.3s ease all;
}
.c-btn01__link:hover {
	opacity: 1;
	/* background: #fff; */
	/* color: #252626; */
}
.c-btn01__link_span {
    transition: all 0.6s ease;
    text-align: center;
    flex: 1;
    font-size: 16px;
    color: var(--color-bg-white);
}
.c-btn01__link:hover .c-btn01__link_span {
	opacity: 1;
	letter-spacing: 0.15em;
}

.c-btn01-arw {
	margin-left: 10px;
	height: 48px;
	width: 48px;
}
@media all and (min-width: 740px) {
  .c-btn01-arw {
    margin-left: 20px;
    height: 45px;
    width: 45px;
  }
}

.c-btn01-arw svg {
	height: 100%;
	width: 100%;
}

.c-btn01-arw__circle {
	transition: all 0.6s ease;
	fill: #ffffff;
	stroke: #ffffff;
	stroke-dasharray: 201;
	stroke-dashoffset: 0;
	stroke-width: 1;
}

.c-btn01-arw__ico {
	transition: all 0.6s ease;
	fill: #252626;
}

@media (hover: hover) and (pointer: fine) {
  .c-btn01__link:hover .c-btn01-arw__circle {
    -webkit-animation: btn01Circle 1s forwards;
    animation: btn01Circle 1s forwards;
    fill: #252626;
    /* transition-delay: 0.8s; */
  }
  .c-btn01__link:hover .c-btn01-arw__ico {
    fill: #ffffff;
    transition-delay: 0.8s;
  }
}
@keyframes btn01Circle {
  0% {
    stroke-dashoffset: 201;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* 汎用ボタン */
.c-buttonFill_0 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  height: 35px;
  font-size: 12px;
  color: var(--color-bg-light);
  text-align: center;
  font-weight: bold;
  background-color: var(--color-icon);
  border: 1px solid #ffffff;
  box-shadow: 0 0 0 1px var(--color-icon);
  line-height: 1;
  border-radius: 0.25rem;
}
.c-buttonFill_0:hover {
	background: var(--color-bg-light);
	color: var(--color-icon);
	opacity: 1;
}

/* 通常form用 input */
.tf-c-form-control_normal {
	display: block;
	width: 100%;
	height: 40px;
	margin: 0;
	padding: .5rem .5rem;
	border: 1px solid var(--color-border3);
	border-radius: 5px;
	outline: none;
	background-clip: border-box;
	background-color: var(--color-bg-light);
	color: var(--color-font-base);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	box-shadow: 0 2px 6px -4px rgba(0, 0, 0, 0.2) inset, 0 2px 4px -4px rgba(0, 0, 0, 0.2) inset;
	transition: border-color .15s ease-in-out;box-shadow: .15s ease-in-out;
}
.tf-c-form-control_normal:focus {
	border: 1px solid rgba(90, 180, 255, 0.5);
	box-shadow: 0 2px 6px -4px rgba(0, 0, 0, 0.2) inset, 0 2px 4px -4px rgba(0, 0, 0, 0.2) inset, 0 0 0 0.25rem rgba(2,132,199,.25);
}

/*汎用disable設定*/
.disable_1 {
	background-color: #c6c6c6 !important;
	border: 1px solid #c6c6c6 !important;
	pointer-events: none !important;
	user-select: none !important;
	color: var(--color-bg-light) !important;
	background-image: none !important;
	box-shadow: none !important;
}
.disable_2 {
	filter: opacity(0.5) !important;
	pointer-events: none !important;
	user-select: none;
}
.disable_3 {
	filter: contrast(0.8) !important;
	pointer-events: none !important;
	user-select: none;
}
/*汎用inputエラー設定*/
.err {
    border: 1px solid #c80a2f !important;
    background-color: #fff4f4 !important;
}
.err:focus {
	box-shadow: inset 0 0 3px 0px #bbbbbb, 0 0 0 .25rem rgba(220,38,38, .25) !important;
}

/* pagetopに戻る設定
--------------------*/
.pagetop {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 77px;
	z-index: 5;
}
.pagetop a{
    display: block;
    font-size: 0;
    width: 60px;
    height: 60px;
    text-align: center;
    background: var(--color-font-base);
    border-radius: 50%;
    line-height: 50px;
    position: relative;
    border: 1px solid var(--color-bg-base);
}
.pagetop a:hover{
		 border: 1px solid var(--color-font-base);
		 background: #fff;
		 opacity: 1;
}
@media (max-width: 1100px) {
	.pagetop a:hover{
		 border: 1px solid rgba(255,255,255,0.85);
		 background: var(--color-font-base);
		 opacity: 1;
	}
}
.pagetop a::before {
	position: absolute;
	content: '';
	width: 10px;
	height: 10px;
	border-left: solid 4px #ffffff;
	border-top: solid 4px #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 24px;
	left: 23px;
	margin-top: 0px;
	transition: all  0.35s ease;
}
.pagetop a:hover::before {
	border-left: solid 4px var(--color-font-base);
	border-top: solid 4px var(--color-font-base);
}
@media (max-width: 1100px) {
	.pagetop a:hover::before {
		border-left: solid 4px #ffffff;
		border-top: solid 4px #ffffff;
	}
}

/*----------------------------------------------------
　　　ナビゲーション（ドロワー）メニュー 
----------------------------------------------------*/
.nav-open .black-bg {
	display: none;
}
body.nav-open {
	overflow:hidden; 
}
@media screen and (min-width: 740px) {
	body.nav-open {
		overflow: visible;
	}
}
/* ナビゲーション（ドロワー）メニュー */
.drawerMenu {
	margin: 0;
	padding: 0;
	position: absolute;
	right: 10px;
	z-index: 10;
}
@media screen and (min-width: 740px) {
	.drawerMenu {
		position: relative;
	}
}
.gnav {
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding-top: 130px;
  background-color: var(--color-bg-base);
  /*transition: all .1s ease; */
  z-index: 10;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  display: none;
}
@media screen and (min-width: 740px) {
	.gnav {
		position: relative;
		display: block !important;
		padding: 0;
		height: auto;
		background-color: transparent;
		overflow: visible;
	}
}

.hamburger {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	width: 56px;
	height: 56px;
	cursor: pointer;
	z-index: 10;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
@media screen and (min-width: 740px) {
	.hamburger {
		display: none;
	}
}
.hamburger .humbergerButton__line {
	position: relative;
	display: block;
	height: 2px;
	width: 24px;
	opacity: 1;
	background-color: var(--color-font-base);
	transition: background .2s ease-in-out;
}
.hamburger .humbergerButton__line:after, 
.hamburger .humbergerButton__line:before {
	content: "";
	transition: inherit;
	transition-delay: .2s,0s,0s;
	transition-property: top,transform,background-color;
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	opacity: 1;
	background-color: var(--color-font-base);
}
.hamburger .humbergerButton__line:before {
	top: -8px;
}
.hamburger .humbergerButton__line:after {
	top: 8px;
}

.nav-open .hamburger .humbergerButton__line {
	background-color: transparent;
}

.nav-open .hamburger .humbergerButton__line:after, 
.nav-open .hamburger .humbergerButton__line:before {
	top: 0;
	transition-delay: 0s,.2s,0s;
}
.nav-open .hamburger .humbergerButton__line:before {
	--tw-rotate: 45deg;
}
.nav-open .hamburger .humbergerButton__line:after {
	--tw-rotate: -45deg;
}
.nav-open .hamburger .humbergerButton__line:after, 
.nav-open .hamburger .humbergerButton__line:before {
	transform: translate(0,0) rotate(var(--tw-rotate)) skewX(0) skewY(0) scaleX(1) scaleY(1);
}

.nav {
  margin: 0;
  padding: 0px 0 50px;
  list-style: none;
  font-size: 40px;
}
@media screen and (min-width: 740px) {
	.nav {
		display: flex;
		padding: 0;
		font-size: 15px;
	}
}
.menu-item {
	padding-left: 30px;
	margin: 0 0 8px;
	overflow: clip;
	line-height: 1;
	position: relative;
}
@media screen and (min-width: 740px) {
	.menu-item {
		margin: 0 0 0 0px;
		padding: 0;
		display: inline-flex;
		/* overflow: visible; */
	}
}

.menu-item .menu_pageLink {
  display: inline-block;
  padding: 0 0;
  border-bottom: 0px solid #fff;
  text-decoration: none;
  color: var(--color-font-base);
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 740px) {
	.menu-item .menu_pageLink {
		font-weight: 500;
		position: relative;
		transition: .3s cubic-bezier(.4,.4,0,1);
		width: 7em;
		height: 1em;
		position: relative;
		text-align: center;
	}
}

.menu-item.current .menu_pageLink .link_en::first-letter {
	color: var(--color-bg-main_01);
}
@media screen and (min-width: 740px) {
	.menu-item.current .menu_pageLink .link_en::first-letter {
	font-weight: 600;
	}
}



.menu-item .menu_pageLink:hover {
	opacity: 1;
}

@media screen and (min-width: 740px) {
	.menu_pageLink span {
		display: grid;
		place-items: center;
		position: absolute;
		inset: 0;
		transform-style: preserve-3d;
		transition: rotate .4s;
		transform-origin: 0 50% -1.8rem;
	}
}

.menu_pageLink .link_en {
	padding: 0;
	display: block;
}
@media screen and (min-width: 740px) {
	.menu_pageLink .link_en {
		padding: 0;
		font-size: 15px;
	}
}
.menu_pageLink .link_ja {
	padding: 0;
	display: block;
	font-size: 12px;
	margin-top: 2px;
}
@media screen and (min-width: 740px) {
	.menu_pageLink .link_ja {
		padding: 0;
		margin: 0;
		display: grid;
		rotate: x -90deg;
		font-size: 15px;
		letter-spacing: 0;
	}

}

@media (any-hover: hover) {
	.menu_pageLink:hover .link_ja {
		rotate: x 0deg;
	}
	.menu_pageLink:hover .link_en {
		rotate: x 90deg;
	}
}

@media screen and (max-width: 740px) {
	.gnav.is-open .menu-item:nth-child(1) .menu_pageLink {
		animation: kf-sp_menu .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
		animation-delay: .1s
	}
	
	.gnav.is-open .menu-item:nth-child(2) .menu_pageLink {
		animation: kf-sp_menu .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
		animation-delay: .2s
	}
	
	.gnav.is-open .menu-item:nth-child(3) .menu_pageLink {
		animation: kf-sp_menu .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
		animation-delay: .3s
	}
	
	.gnav.is-open .menu-item:nth-child(4) .menu_pageLink {
		animation: kf-sp_menu .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
		animation-delay: .4s
	}
	
	.gnav.is-open .menu-item:nth-child(5) .menu_pageLink {
		animation: kf-sp_menu .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
		animation-delay: .5s
	}
	@keyframes kf-sp_menu {
		0% {
			transform: translateY(100%)
		}
	
		to {
			transform: translateY(0)
		}
	}
}

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: all .4s ease;
  cursor: pointer;
}
/* 表示された時用のCSS */
.nav-open .black-bg {
  opacity: .5;
  visibility: visible;
}

.menuAndClose {
	font-size: 10px;
	position: absolute;
	top: 32px;
	left: 0px;
	display: block;
	width: 39px;
	font-family: Arial,sans-serif;
}

/* ------------------------------ */
/* テーブル */
/* ------------------------------ */
/* small */
.table-normal {
    padding: 30px 0px;
}
.table_small {
	border-collapse: separate;
	border-spacing: 1px;
	width: 100%;
	color: var(--color-font-base);
	font-size: 12px;
	background: #b4abab;
	font-weight: 400;
	line-height: 1.25;
	table-layout: fixed;
}

.table_small td, .table_small th {
	border: 1px solid #ffffff;
}
.table_small th {
	font-weight: bold;
	font-size: 13px;
	background-color: var(--color-bg-base4);
	background-image: linear-gradient(to bottom, #f8f6ef 0%,#e7e4d7 100%);
	color: var(--color-font-base);
	letter-spacing: .0625em;
	text-align: center;
	vertical-align: middle;
	padding: 0.55rem 0.2rem;
	white-space: nowrap;
}
.table_small td {
	text-align: center;
	vertical-align: middle;
	padding: 0.4rem 0.4rem;
	letter-spacing: .0625em;
	background-color: #fff;
}

/* ------------------------------ */
/* 　　　　　その他　　　　　 */
/* ------------------------------ */
/* スムーススクロール、アンカー位置調整 */
#tab::before {
	content: '';
	display: block;
	padding-top: 20px;
	margin-top: -20px;
}
@media screen and (min-width: 740px) {
    #tab::before {
	    padding-top: 30px;
	    margin-top: -30px;
	}
}


/* ------------------------------ */
/* コンポーネント(使い回すスタイル) */
/* ------------------------------ */
/* 水平線 */
hr {
	display: block;
	height: 2px;
	border: 0;
	border-top: 1px solid #dddddd;
	background: #fff;
	margin: 1em 0;
	padding: 0;
}
/* スマホだけ表示 */
@media screen and (min-width: 740px) {
	.sp_only {
		display: none !important;
	}
}
/* PC（タブレット）だけ表示 */
@media screen and (max-width: 740px) {
	.pc_only {
		display: none !important;
	}
}

/* 見出し（H2） */
.header3rd {
	padding: 0;
	letter-spacing: 0.1em;
}
@media screen and (min-width: 740px) {
	.header3rd {
		padding: 0;
	}
}

@media screen and (min-width: 740px) {
	.page_link_inner.page_worksClass .header3rd {
		position: absolute;
		right: 50px;
		width: 40%;
	}
}

.header3rd_ja {
	padding: 0;
	display: block;
	font-size: 14px;
	line-height: 1.1em;
	opacity: 0;
}
@media screen and (min-width: 740px) {
	.header3rd_ja {
		padding: 0;
		font-size: 18px;
	}
}
.header3rd_en {
	position: relative;
	padding: 0;
	display: inline-block;
	font-size: 38px;
	line-height: 1.3;
}
@media screen and (min-width: 740px) {
	.header3rd_en {
		padding: 0;
		font-size: 60px;
		line-height: 1.1;
	}
}
.header3rd_en::first-letter {
  color: var(--color-bg-main_02);
}
.page_link_inner.page_worksClass .header3rd_en::first-letter {
	color: var(--color-bg-main_01);
}
.l-subTop.page_worksClass .header3rd_en::first-letter {
	color: var(--color-bg-main_01);
}

.header3rd_en::before {
	position: absolute;
	content:"";
	top: 22px;
	right: -20px;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: var(--color-bg-main_02);
	z-index: 0;
	opacity: 0;
}
@media screen and (min-width: 740px) {
	.header3rd_en::before {
		top: 34px;
		right: -25px;
		width: 20px;
		height: 20px;
	}
}
.page_link_inner.page_worksClass .header3rd_en::before {
	background-color: var(--color-bg-main_01);
}
.l-subTop.page_worksClass .header3rd_en::before {
	background-color: var(--color-bg-main_01);
}

.header3rd_en.view::before {
	/* animation: pageFadeIn 1s ease-in-out 0s 1 normal forwards; */
	animation: pageFadeIn 1s ease 0s 1 normal  forwards;
	animation-delay: 2s;
}
.header3rd_en.is-view::before {
	animation: pageFadeIn 1s ease 0s 1 normal  forwards;
	animation-delay: 1s;
}

/* 見出し（H3） */
.subpage_header3rd {
	font-size: 16px;
	padding: 0px 5px 0px;
	border-bottom: 1px solid var(--color-font-base);
	text-align: center;
	width: fit-content;
	display: block;
	margin: 0 auto 24px;
	line-height: 2em;
}
@media screen and (min-width: 1024px) {
	.subpage_header3rd {
		font-size: 18px;
		margin: 0 auto 40px;
	}
}
/* animetion */
/* .header3rd_en.view {
	opacity: 0;
	transform: translateX(40px);
	display: inline-block;
	animation: slideIn 1s ease forwards;
	animation-delay: 300ms;
  } */
  .char2 {
	opacity: 0;
	transform: translateX(40px);
	display: inline-block;
	animation: slideIn 1s ease forwards;
	/* animation-delay: 300ms; */
  }
  @keyframes slideIn {
	 to {
	  opacity: 1;
	  transform: translateX(0);
	}
  }

.subpage_header3rd___2 {
	font-size: 16px;
	padding: 0px 5px 0px;
	width: fit-content;
	display: block;
	margin: 0 auto 24px;
	line-height: 2em;
}
@media screen and (min-width: 1024px) {
	.subpage_header3rd___2 {
		font-size: 18px;
		margin: 0 auto 40px;
	}
}

/* 見出し （H4） */
.header_wrapBox {
	padding: 50px 0;
}
.content_wrap_singlePage .header_wrapBox {
	padding-bottom: 30px;
}
.subpage_header4th {
	position: relative;
	padding: 0px 0 0 24px;
	display: flex;
	align-items: center;
	font-size: 16px;
	line-height: 1;
	clip-path: inset(0 100% 0 0);
	transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media screen and (min-width: 740px) {
	.subpage_header4th {
		font-size: 18px;
	}
}
.subpage_header4th.is-view {
	clip-path: inset(0 0 0 0);
}
.storongClass {
	padding: 0;
	clip-path: inset(0 100% 0 0);
	transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.storongClass.is-view {
	clip-path: inset(0 0 0 0);
}

.subpage_header4th::before {
	position: absolute;
	content:"";
	top: 50%;
	left: 0px;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	border-radius: 4px;
	background-color: var(--color-bg-sub_02);
	z-index: 0;
}
.page_2ndClass .subpage_header4th::before {
	background-color: var(--color-bg-sub_01);
}
.page_singleClass .subpage_header4th::before {
	background-color: var(--color-bg-sub_01);
}

.subpage_header4th:after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: var(--color-bg-light2);
	margin-left: 10px;
}

/* 見出し （H5） */
.header_5th {
	padding: 0;
	display: flex;
	align-items: center;
	color: var(--color-bg-main_01);
	font-size: 24px;
}
@media screen and (min-width: 740px) {
	.header_5th {
		font-size: 36px;
	}
}

.header_5th:before,
.header_5th:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    /* background-color: var(--color-bg-main_01); */
    border-top: 1px dashed var(--color-bg-main_01);
}

.header_5th:before {
    margin-right: 1rem;
}

.header_5th:after {
    margin-left: 1rem;
}
.header_5th_ja {
	padding: 0;
	text-align: center;
	font-weight: bold;
	padding: 0 0 30px;
	color: var(--color-font-light_green);
}

/* ------------------------------ */
/*          レイアウト（共通）      */
/* ------------------------------ */
.l-wrapper {
	padding: 0;
	margin: 0;
	overflow: clip;
	position: relative;
	opacity: 0;
}
.l-wrapper.is-loaded {
	/* animation: pageFadeIn 1s ease-in-out 0s 1 normal forwards; */
	animation: pageFadeIn 1s ease 0s 1 normal  forwards;
}

@keyframes pageFadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.l-main {
	padding-top: 88px;
	padding-bottom: 100px;
	position: relative;
}
/* ------------------------------ */
/* コンテナ */
/* ------------------------------ */
/* 最大幅 */
.l-container {
    width: 100%;
    margin: 0 auto;
    padding: 0px 0px;
}
/* 最大幅（paddingあり） */
.l-container_p {
    width: 100%;
    margin: 0 auto;
    padding: 0px 12px;
}
/* 最大幅指定（1100px） */
.l-container_maxwidth {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 12px;
}
/* ------------------------------ */
/* ヘッダー */
/* ------------------------------ */
.l-header {
	padding: 12px;
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 15;
	transition: all 0.2s ease;
}
@media screen and (min-width: 740px) {
	.l-header {
		padding: 12px;
	}
}
.l-header.change {
	padding: 0;
}

.header_inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    /* max-width: 1100px; */
    margin: 0 auto;
    padding: 0px 10px;
    height: 64px;
    /* background: #ffffff; */
    border-radius: 12px;
	transition: all 0.2s ease;
}
.l-header.change .header_inner{
	border-radius: 0;
}

.header_inner::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 1);
	-webkit-backdrop-filter: blur(50px);
	backdrop-filter: blur(50px);
	border-radius: 12px;
	box-shadow: 1px 1px 15px -5px rgba(0, 0, 0, 0.1);
	left: 0;
	top: 0;
	z-index: -1;
	transition: all 0.2s ease;
}

.l-header.change .header_inner::before{
	border-radius: 0;
	background: rgba(255, 255, 255, 0.9);
}

.header__1st {
	margin: 0;
	padding: 10px;
	position: relative;
	z-index: 20;
	font-weight: 500;
}
.header__1st a{
	display: block;
}
.header__1st a img {
	display: block;
	height: 25px;
}
@media screen and (min-width: 740px) {
	.header__1st a img {
		height: 28px;
	}
}

/* ------------------------------ */
/* コンテンツ */
/* ------------------------------ */
.l-contents {
	padding: 0;
	margin: 0;
	display: block;
	width: 100%;
	opacity: 0;
}
.contents_inner {
	position: relative;
	margin-top: 0px;
	padding: 24px 30px 40px;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: 0rem 0rem 1.2rem rgb(0 0 0 / 5%);
}
@media screen and (min-width: 740px) {
	.contents_inner {
		margin-top: 30px;
		padding: 40px 30px 40px;
		border-radius: 40px;
	}
}
@media screen and (min-width: 1024px) {
	.contents_inner {
		padding: 40px 30px 60px;
	}
}
.contents_inner::before {
	position: absolute;
	content: "";
	top: -85px;
	left: -60px;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background-color: var(--color-bg-sub_02);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
	transform: scale(0);
	transition: 1s ease;
}
.contents_inner.page_contactClass::before {
	display: none;
}
.animtrigger.slideDown__multiple.is-view .contents_inner::before {
	transform: scale(1);
}

.contents_inner_single {
	position: relative;
	margin-top: -20px;
	padding: 24px 30px 40px;
	border-radius: 20px;
	background-color: #fff;
	/* box-shadow: 0rem 0rem 1.2rem rgb(0 0 0 / 5%); */
}
@media screen and (min-width: 740px) {
	.contents_inner_single {
		margin-top: -50px;
		padding: 40px 30px 40px;
		border-radius: 40px;
	}
}
@media screen and (min-width: 1024px) {
	.contents_inner_single {
		padding: 40px 30px 60px;
	}
}

.m-single_mainContent_wrap {
	padding: 0;
}

.l-contents.page_2ndClass .contents_inner::before {
	background-color: var(--color-bg-sub_01);
	top: -85px;
	left: auto;
	right: -60px;
}
.contents_inner.contents_inner_dn::before {
	display: none;
}
.content_wrap {
	padding: 0;
	margin: 0 auto;
	max-width: 900px;
}
.content_wrap_top {
	padding: 0;
	margin: 0 auto;
	max-width: 800px;
}
.content_wrap_singlePage_block{
	padding: 0;
}

.comment_text_sp {
	display: block;
	padding: 10px 0;
	max-width: 900px;
	text-align: right;
	margin: 0 auto;
	font-size: 10px;
	color: var(--color-bg-tag);
}
@media (any-hover: hover) {
	.comment_text_sp {
		display: none;
	}
}
.comment_text_pc {
	display: none;
}
@media (any-hover: hover) {
	.comment_text_pc {
		display: block;
		padding: 10px 0;
		max-width: 900px;
		text-align: right;
		margin: 0 auto;
		font-size: 13px;
		color: var(--color-bg-tag);
	}
}


.content_wrap_singlePage {
	padding: 50px 0 0;
	margin: 0 auto;
	max-width: 900px;
}
.content_wrap_singlePage:not(:first-child) {
	padding-top: 0;
}
/* ------------------------------ */
/* フッター */
/* ------------------------------ */
.footer {
	display: block;
	color: var(--color-bg-white);
	/* border-radius: 0px 40px 0px 0px; */
	position: relative;
	z-index: 3;
	
}
/* .footer.is-view {
	animation: pageFadeIn .5s ease-out 0s 1 normal forwards;
} */

.footer_inner {
	margin: 12px;
	background-color: var(--color-font-base);
	border-radius: 12px 52px 12px 52px;
	/* box-shadow: .5rem .5rem 1.2rem rgb(0 0 0 / 5%); */
	/* border: 1px solid var(--color-bg-white); */
	background-image: url(../img/bg_ptn001.svg);
	background-position: 5% center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0;
}
@media screen and (min-width: 740px) {
	.footer_inner {
		background-position: 100% center;
	}
}
.footer__copy {
	text-align: center;
	padding: 0 40px 40px;
	font-size: 10px;
}
@media screen and (min-width: 740px) {
	.footer__copy {
		padding: 0 40px 40px;
		/* max-width: 1100px; */
		margin: 0 auto;
	}
}
.footer__copy_inner {
	padding: 40px 0 0;
	border-top: 1px solid #464646;
}
@media screen and (min-width: 740px) {
	.footer__copy_inner {
	padding: 40px 0 0;
	}
}

.footer_nav {
	position: relative;
	padding: 50px 40px 50px;
	/* max-width: 1100px; */
	margin: 0 auto;
}
.c-footer__pageItem {
	overflow: clip;
}
.c-footer__pageItem:not(:first-child) {
	margin-top: 12px;
}
.c-footer__pageItem .pageItem_link {
	white-space: nowrap;
	display: inline-block;
	transform: translateY(100%)
}
.pageItem_link:hover {
	opacity: 1;
	color: var(--color-bg-main_01);
}

.c-footer__pages.is-view .c-footer__pageItem:nth-child(1) .pageItem_link {
	animation: kf-sp_menu_2 .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
	animation-delay: .1s
}

.c-footer__pages.is-view .c-footer__pageItem:nth-child(2) .pageItem_link {
	animation: kf-sp_menu_2 .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
	animation-delay: .2s
}

.c-footer__pages.is-view .c-footer__pageItem:nth-child(3) .pageItem_link {
	animation: kf-sp_menu_2 .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
	animation-delay: .3s
}

.c-footer__pages.is-view .c-footer__pageItem:nth-child(4) .pageItem_link {
	animation: kf-sp_menu_2 .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
	animation-delay: .4s
}

.c-footer__pages.is-view .c-footer__pageItem:nth-child(5) .pageItem_link {
	animation: kf-sp_menu_2 .8s cubic-bezier(.22,1,.36,1) 0s 1 normal both;
	animation-delay: .5s
}

@keyframes kf-sp_menu_2 {
	0% {
		transform: translateY(100%)
	}

	to {
		transform: translateY(0)
	}
}


.c-footer__pageItem .pageItem_en {
	display: block;
	font-size: 40px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 740px) {
	.c-footer__pageItem .pageItem_en {
		display: inline-block;
		font-size: 55px;
	}
}
.c-footer__pageItem.current .pageItem_link .pageItem_en::first-letter {
	color: var(--color-bg-main_01);
}

.c-footer__pageItem .pageItem_ja {
	display: inline-block;
	margin-left: 0;
	margin-top: 4px;
	font-feature-settings: "palt" on,"liga" off;
	font-size: 12px;
	font-style: normal;
	line-height: 100%;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 740px) {
	.c-footer__pageItem .pageItem_ja {
		margin-left: .4rem;
		margin-top: 0;
		font-size: 11px;
		display: inline;
	}
}

small.footer_copyright {
	font-size: 10px;
}

/* ------------------------------ */
/*     レイアウト（背景あしらい）    */
/* ------------------------------ */
.l-bg {
	position: relative;
}

.l-bg_line {
  padding: 0;
}

.l-bg_line {
	position: absolute;
	top: 100px;
	right: -70px;
	z-index: -1;
}
@media only screen and (min-width: 1024px) {
	.l-bg_line {
		top: 80px;
		right: -40px;
		left: auto;
	}
}
.l-bg_line_contents {
	position: absolute;
	top: 50px;
	right: -70px;
}
@media only screen and (min-width: 1024px) {
	.l-bg_line_contents {
		top: 100px;
		right: -40px;
		left: auto;
	}
}

@media only screen and (min-width: 1025px) {
	.u-sp {
		display:none!important
	}
}

@media only screen and (max-width: 1024px) {
	.u-pc {
		display:none!important
	}
}

.c-svg {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.c-svg__wrapper {
	display: block;
	width: 100%;
	height: 100%;
}
.c-svg__wrapper svg {
	display: block;
	width: 100%;
	height: 100%;
}

.l-bg_line .c-svg {
	width: 178.1rem;
	/* aspect-ratio: 1781/770; */
	clip-path: polygon(0% 0%,0% 0%,0% 100%,0% 100%);
	transition: clip-path 1.1s ease-out 0.0s;
}
.l-bg_line.is-view .c-svg {
	clip-path: polygon(0% 0%,100% 0%,150% 100%,0% 100%);
}

@media only screen and (max-width: 1024px) {
	.l-bg_line .c-svg {
		width: 85.7rem;
		aspect-ratio: 657/339;
	}
}

.l-bg_line_contents .c-svg {
	width: 178.1rem;
	/* aspect-ratio: 1781/770; */
	clip-path: polygon(0% 0%,0% 0%,0% 100%,0% 100%);
	transition: clip-path 1.1s ease-out 0.0s;
}
.l-bg_line_contents.is-view .c-svg {
	clip-path: polygon(0% 0%,100% 0%,150% 100%,0% 100%);
}

@media only screen and (max-width: 1024px) {
	.l-bg_line_contents .c-svg {
		width: 85.7rem;
		aspect-ratio: 657/339;
	}
}


/* ------------------------------ */
/* 　ボックス・ブロック・パーツ　　　*/
/* ------------------------------ */
.c-box_wrapper {
    padding: 0;
    margin: 0;
}
.c-box_wrapper_img {
    padding: 100px 0 70px;
    margin: 0;
    text-align: center;
}

/* 文章中のあしらい　001 */
.text-diamond_shape {
	display: block;
	margin: 45px auto 50px;
	padding: 0px !important;
	width: 12px;
	height: 12px;
	background: var(--color-bg-white);
	border: 1px solid var(--color-font-light);
	transform: rotate(45deg) skew(calc((90deg - 80deg) / 2), calc((90deg - 80deg) / 2));
}

/* ------------------------------ */
/*   レイアウト（セクション） TOP   */
/* ------------------------------ */
/* ファーストビュー */
.l-fv {
    padding: 38px;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: calc(100vh - 70px);
    height: calc(100svh - 70px);
    position: relative;
    gap: 10px;
}
@media screen and (min-width: 650px) {
	.l-fv {
		/* padding: 0; */
		margin: 0;
		justify-content: center;
		flex-wrap: nowrap;
		height: calc(100vh - 100px);
		height: calc(100svh - 100px);
		gap: 0;
	}
}
@media screen and (min-width: 1024px) {
	.l-fv {
		margin: 0;
		/* height: calc(100vh - 200px); */
		/* height: calc(100svh - 200px); */
	}
}
/* sp横持ち */
@media (orientation: landscape) and (max-height: 450px) {
	.l-fv {
	  height: 100vh;
	}
}

.l-fv::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 80%;
  /* background: var(--color-bg-sub_01); */
  border-radius: 12px;
  /* box-shadow: .4rem .4rem 1rem rgb(0 0 0 / 5%); */
  left: 0;
  top: 0;
  z-index: -1;  /*LOGOとメニューボタンが疑似要素の上にくるように調整*/
}
@media screen and (min-width: 740px) {
	.l-fv::before {
		height: 80%;
	}
}

.fv_left {
	padding: 0;
	margin: 0;
	width: 100%;
	display: flex;
	height: 32%;
	background-image: url(../img/img_about2.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (min-width: 650px) {
	.fv_left {
		justify-content: center;
		height: auto;
		width: 40%;
		background-position: center 0%;
		background-size: 70%;
	}
}
@media screen and (min-width: 740px) {
	.fv_left {
		width: 35%;
		background-position: center 10%;
		background-size: 60%;
	}
}
@media screen and (min-width: 1024px) {
	.fv_left {
		background-position: center 10%;
		background-size: 60%;
	}
}
@media screen and (min-width: 1200px) {
	.fv_left {
		background-position: center 10%;
		background-size: 50%;
	}
}
.anm-rht {
	transform: translate(-30px, 0);
}
.anm-lft {
	transform: translate(30px, 0);
}
.anm-fadein {
	opacity: 0;
	animation: anm-fadein .85s cubic-bezier(0.42, 0, 0.58, 1) normal forwards;
}



.fv_center {
	padding: 0;
	margin: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	height: 20%;
}
@media screen and (min-width: 650px) {
	.fv_center {
		justify-content: center;
		align-items: center;
		height: auto;
		width: 100px;
	}
}

.fv_center_inner {
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@media screen and (min-width: 650px) {
	.fv_center_inner {
		padding: 0;
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-start;
	}
}
.fv_center_inner div {
	display: inline-block;
	padding: 0;
	font-weight: 500;
	font-size: 16px;
	margin: 3px 0;
	font-feature-settings: "palt";
    letter-spacing: 0.1em;
}
@media screen and (min-width: 650px) {
	.fv_center_inner div {
		padding: 0;
		writing-mode: vertical-rl;
		font-size: 22px;
		margin: 0 5px;
		letter-spacing: 0.2em;
	}
}
@media screen and (min-width: 1200px) {
	.fv_center_inner div {
		font-size: 24px;
	}
}
.brClass {
	display: block;
}
.char {
	opacity: 0;
	display: inline-block;
	animation: fadeIn_fv___3 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes fadeIn_fv {
	0% {
		opacity: 0;
		transform: translateY(15px);
	}
	100% {
        opacity: 1;
        transform: translate(0px);
    }
}
@keyframes fadeIn_fv___2 {
	0% {
		opacity: 0;
		transform: scale3d(2.5, 2.5, 2.5);
		filter: blur(10px);
	}
	100% {
		opacity: 1;
		transform: scale3d(1, 1, 1);
		filter: blur(0px);
	}
 }
 @keyframes fadeIn_fv___3 {
	0% {
		opacity: 0;
		transform: scale(1.25) translate(0px, 4px);
	}
	100% {
		opacity: 1;
		transform: scale(1) translate(0);
	}
 }

 
.fv_right {
	padding: 0;
	margin: 0;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	height: 34%;
	background-image: url(../img/img_works.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (min-width: 650px) {
	.fv_right {
		/* justify-content: center; */
		align-items: end;
		height: auto;
		width: 35%;
		background-position: 100% 85%;
		background-size: 90%;
	}
}
@media screen and (min-width: 900px) {
	.fv_right {
		background-position: 100% 80%;
		background-size: 85%;
	}
}
@media screen and (min-width: 1024px) {
	.fv_right {
		background-position: 100% 80%;
		background-size: 80%;
	}
}
@media screen and (min-width: 1200px) {
	.fv_right {
		background-position: center 80%;
		background-size: 70%;
	}
}


/* scroll ↓ */
.l-fv .scroll-area {
	position: absolute;
	bottom: 40px;
	right: 5px;
	width: 9px;
	height: 83px;
}
@media screen and (min-width: 650px) {
	.l-fv .scroll-area {
		bottom: 30px;
		left: 50%;
		right: 20px;
		height: 83px;
		transform: translateX(-50%) !important;
	}
}

/* delay(timeline) */
.l-fv.fv-active .fv_left.image01 {
	animation-delay: 800ms;
}
.l-fv.fv-active .fv_right.image02 {
	animation-delay: 1300ms;
}
.l-fv.fv-active .fv_center {
	animation-delay: 1800ms;
}

.l-fv.fv-active .scroll-area {
	animation-delay: 6000ms;
}

/* sp横持ち */
@media (orientation: landscape) and (max-height: 450px) {
	.l-fv .scroll-area {
		position: absolute;
		bottom: 10px;
		right: 8px;
		left: auto;
		width: 9px;
		height: 83px;
		animation-delay: 700ms;
	}
}

.anm-fadein___scroll {
	opacity: 0;
	animation: anm-fadein .85s ease-in-out normal forwards;
}
@keyframes anm-fadein {
	0% {
	  opacity: 0;
	}
	100% {
	  opacity: 1;
	  transform: translate(0,0);
	}
 }
.l-fv .scroll-area .border {
	position: relative;
	width: 1px;
	height: 100%;
	margin: 0 auto;
}
.l-fv .scroll-area .border .inner {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: var(--color-font-base);
	animation: scroll_border .5s ease-in-out .75s forwards;
}
@keyframes scroll_border {
	0% {
	  height: 0;
	}
	100% {
	  height: 100%;
	}
}
.l-fv .scroll-area .border .inner .dot {
	position: absolute;
	display: block;
	top: -4px;
	left: -4px;
	width: 9px;
	height: 9px;
	border-radius: 100%;
	overflow: hidden;
	z-index: 0;
	opacity: 0;
	animation: scroll_dot 3.75s ease-in-out 3.15s infinite;
}
@keyframes scroll_dot {
	0%, 100% {
	  opacity: 0;
	  top: 0;
	  margin: 2px 0 0 0;
	}
	15%, 60% {
	  opacity: 1
	}
	75% {
	  opacity: 0;
	  top: 100%;
	  margin: -10px 0 0 0;
	}
}
.l-fv .scroll-area .border .inner .dot span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--color-font-base);
	animation: scroll_dot_opa .5s ease-in-out 1.25s forwards;
}
@keyframes scroll_dot_opa {
	0% {
	  opacity: 0;
	}
	100% {
	  opacity: 1;
	}
  }

/* 挨拶（GREETING） */
.l-greeting {
    padding: 0;
    margin: 0;
    display: block;
    width: 100%;
	opacity: 0;
}
.greeting_inner {
	position: relative;
	margin-top: 130px;
	padding: 100px 30px 80px;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: 0rem 0rem 1.2rem rgb(0 0 0 / 5%);
}
@media screen and (min-width: 650px) {
	.greeting_inner {
		margin-top: 110px;
		padding: 140px 40px 40px;
		border-radius: 40px;
	}
}
@media screen and (min-width: 740px) {
	.greeting_inner {
		margin-top: 120px;
		padding: 145px 40px 40px;
		border-radius: 40px;
	}
}

.greeting_inner::before {
	position: absolute;
	content:"";
	bottom: -55px;
	right: 0;
	width: 150px;
	height: 150px;
	background-image: url(../img/man_kirakira.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (min-width: 740px) {
	.greeting_inner::before {
		bottom: -70px;
		right: 10px;
		width: 180px;
		height: 180px;
	}
}

.greeting_header {
	position: absolute;
	top: -90px;
	left: 50%;
	width: 170px;
	height: 170px;
	border-radius:50%;
	background: var(--color-bg-main_01);
	/*display:flexで中央配置*/
	color: var(--color-bg-white);
	outline: 2px solid var(--color-bg-white);
	outline-offset: -10px;
	display:flex;
	align-items: center;
	justify-content:center;
	align-content: center;
	flex-direction: column;
	padding-top: 10px;
	opacity: 0;
}
@media screen and (min-width: 740px) {
	.greeting_header {
		top: -110px;
		left: 50%;
		width: 200px;
		height: 200px;
	}
}

.greeting_header.is-view {
	animation: slideDownMore 1s cubic-bezier(.175,.885,.32,1.275) 1 forwards;
}

@keyframes slideDownMore {
	0% {
	  transform: translateY(50%) translateX(-50%) ;
	  opacity: 0;
	}
	100% {
	  transform: translateX(-50%);
	}
	40%,100% {
	  opacity: 1;
	}
}

@keyframes zoomOutMini_center {
	0% {
		transform: translateX(-50%) scale(1.3) translateY(-20px);
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateX(-50%) scale(1) translateY(0px);
	}
}

@keyframes popup {
	0% {
	  transform: translateX(-50%) translateY(80px) scale(0.3);
	  opacity: 0;
	}
	100% {
	  transform: translateX(-50%) translateY(0) scale(1.0);
	}
	80%, 100% {
	  opacity: 1;
	}
}


  

.greeting_header span {
	display: block;
}
.greeting_header_1st{
	font-size: 20px;
	padding: 0 5px;
	font-weight: 100;
	border-bottom: 1px solid var(--color-bg-white);
}
@media screen and (min-width: 740px) {
	.greeting_header_1st {
		font-size: 25px;
	}
}
.greeting_header_2nd{
	font-size: 12px;
	font-weight: 100;
	margin-top: 7px;
}
@media screen and (min-width: 740px) {
	.greeting_header_2nd {
		font-size: 14px;
	}
}

.greeting_arrangement {
	padding: 10px 0px 40px;
	text-align: center;
	font-family: "EB Garamond", serif;
	font-size: 40px;
	color: var(--color-bg-light3);
	letter-spacing: 0.25em;
	opacity: 0;
}
@media screen and (min-width: 740px) {
	.greeting_arrangement {
		position: absolute;
		top: 50%;
		left: -45px;
		transform: translateY(-50%);
		height: 100%;
		text-align:initial;
		padding: 0;
		writing-mode: vertical-rl;
		font-size: 70px;
		letter-spacing: 0.01em;
		text-align: center;
	}
}
@media screen and (min-width: 1160px) {
	.greeting_arrangement {
		position: absolute;
		top: 50%;
		left: -80px;
		transform: translateY(-50%);
		height: 100%;
		font-size: 110px;
		letter-spacing: 0.01em;
	}
}
.greeting_arrangement.is-view  {
	animation: blurIn 1s ease-in-out 1 forwards;
}

.greeting_inner_box {
	text-align: center;
	display: block;
	margin: 0 auto;
	line-height: 1.7;
}
.greeting_inner_box .greeting_inner_box_center {
	text-align: left;
	display: inline-block;
}
.emphasized_phrase {
	padding: 50px 0 40px;
	text-align: center;
	font-size: 15px;
	font-weight: bold;
}
@media screen and (min-width: 740px) {
	.emphasized_phrase {
		font-size: 20px;
	}
}

/* ページリンクボックス（交互） */

.l-page_link {
    padding: 100px 0 0;
    margin: 0;
    display: block;
    width: 100%;
	opacity: 0;
}
.page_link_inner {
	position: relative;
	margin-top: 0px;
	padding: 30px;
	border-radius: 20px;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	box-shadow: 0rem 0rem 1.2rem rgb(0 0 0 / 5%);
}
@media screen and (min-width: 740px) {
	.page_link_inner {
		margin-top: 0px;
		padding: 60px;
		border-radius: 40px;
		flex-direction: row;
	}
}
.page_link_inner::before {
	position: absolute;
	content:"";
	top: -85px;
	left: -60px;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background-color: var(--color-bg-sub_02);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
	transform: scale(0);
	transition: 1s ease;
}
.page_link_inner.page_worksClass::before {
	background-color: var(--color-bg-sub_01);
	left: auto;
	right: -60px;
}
.animtrigger.slideDown__multiple.is-view .page_link_inner::before {
	transform: scale(1);
}

@media screen and (min-width: 740px) {
	.page_link_inner.page_worksClass {
		flex-direction: row-reverse;
	}
}

.page_link_left {
	width: 100%;
	padding: 0 0 20px;
}
@media screen and (min-width: 740px) {
	.page_link_left {
		width: 50%;
		padding: 0;
	}
}
.page_link_right {
	width: 100%;
	padding: 0 0 20px;
}
@media screen and (min-width: 740px) {
	.page_link_right {
		width: 50%;
		padding: 0;
	}
}
.link_img_box{
	padding: 0;
	background: var(--color-bg-sub_02);
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 4 / 3;
}
@media screen and (min-width: 740px) {
	.link_img_box {
		aspect-ratio: 1 / 1;
	}
}
.link_img{
	/* object-fit: contain; */
	width: 50%;
}
.page_link_inner.page_worksClass .link_img {
	width: 60%;
}

.page_link_inner.page_worksClass .link_img_box {
	background: var(--color-bg-sub_01);
}

.page_link_text {
	position: relative;
	padding: 20px 16px;
	font-weight: 500;
}
@media screen and (min-width: 740px) {
	.page_link_text {
		position: absolute;
		top: 135px;
		width: 40%;
		padding: 20px 0;
	}
}
@media screen and (min-width: 740px) {
	.page_link_inner.page_worksClass .page_link_text {
		right: 50px;
	}
}

.page_link_btn {
	padding: 10px 0;
}

@media screen and (min-width: 740px) {
	.page_link_btn {
		position: absolute;
		bottom: 60px;
		padding: 0;
		width: 100%;
		max-width: 250px;
	}
}

@media screen and (min-width: 740px) {
	.page_link_btn.contact_btn {
		position: relative;
		bottom: auto;
		padding: 0;
		width: 100%;
		max-width: 250px;
		margin: 0 auto;
	}
}

/* ------------------------------ */
/*　　　サブページ「ABOUT」ページ   */
/* ------------------------------ */
/* top */
.l-subTop {
	padding: 50px 0 0;
	position: relative;
}
@media screen and (min-width: 740px) {
	.l-subTop {
		padding: 110px 0 0;
	}
}
.l-subTop::before {
	position: absolute;
	content: "";
	top: -10px;
	left: -50px;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: var(--color-bg-sub_02);
	z-index: -1;
	transform: scale(0);
	transition: 1s ease;
}
@media screen and (min-width: 740px) {
	.l-subTop::before {
		top: 0px;
		left: -80px;
		width: 150px;
		height: 150px;
	}
}
.l-subTop.page_worksClass::before {
	background-color: var(--color-bg-sub_01);
}
.l-subTop.is-view::before {
	transform: scale(1);
}

.l-subTop_inner{
	padding: 20px;
}
.sub_page_text {
	position: relative;
	padding: 8px 0px 0;
	font-weight: 500;
	font-size: 12px;
}
@media screen and (min-width: 740px) {
	.sub_page_text {
	font-size: 14px;
	}
}

/* 見出し下のサムネイル画像 */
.thumbnail_img_wrap{
	padding: 50px 0 30px;
	margin-bottom: 20px;
	background: var(--color-bg-sub_02);
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column-reverse;
	gap: 20px;
}
@media screen and (min-width: 740px) {
	.thumbnail_img_wrap{
		flex-direction:row;
		padding: 70px 0 70px;
		gap: 0;
	}
}

.m-section_wrap a {
	color: var(--color-font-link);
}

.top .m-section_wrap:not(:last-child) {
	margin-bottom: 0px;
}
.about .m-section_wrap:not(:last-child) {
	margin-bottom: 100px;
}
@media screen and (min-width: 740px) {
	.m-section_wrap:not(:last-child) {
		margin-bottom: 50px;
	}
}

.content_title {
	/* display: none; */
	color: var(--color-bg-white);
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.08em;
}
@media screen and (min-width: 740px) {
	.content_title {
		width: 50%;
		display: flex;
		justify-content: center;
		font-size: 60px;
		letter-spacing: 0.05em;
	}
}
@media screen and (min-width: 1024px) {
	.content_title {
		font-size: 80px;
		letter-spacing: 0.08em;
	}
}
.content_img {
	display: flex;
	width: 50%;
	justify-content: center;
}
@media screen and (min-width: 740px) {
	.content_img {
		display: flex;
		width: 50%;
		justify-content: center;
	}
}
.link_img_class {
	/* object-fit: contain; */
	width: 80%;
}

/* 画像 */
.content_img_class {
	width: 100%;
	max-width: 400px;
}
/* 交互・色違いBOX */
.l-contents.page_2ndClass .thumbnail_img_wrap {
	background: var(--color-bg-sub_01);
}
@media screen and (min-width: 740px) {
	.l-contents.page_2ndClass .content_title {
		font-size: 45px;
	}
}
@media screen and (min-width: 1024px) {
	.l-contents.page_2ndClass .content_title {
		font-size: 60px;
	}
}

/* name biography */
.nb_wrap {
	padding: 10px 0 30px;
}
@media screen and (min-width: 740px) {
	.nb_wrap {
		display: flex;
		justify-content: space-between;
	}
}
.nb_items_left{
	display: flex;
	width: 100%;
	position: relative;
	margin-bottom: 40px;
	padding: 20px;
}
@media screen and (min-width: 740px) {
	.nb_items_left{
		width: 30%;
		margin: 0;
		min-width: 260px;
	}
}
.headeing_name_inner::before {
	position: absolute;
	content: "";
	top: -33px;
	left: 0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: var(--color-arrange-001);
	z-index: -1;
}
@media screen and (min-width: 740px) {
	headeing_name_inner::before {
		top: 0px;
		left: -80px;
		width: 150px;
		height: 150px;
	}
}

.headeing_name {
	width: 30px;
}
.headeing_name_inner {
	writing-mode: vertical-rl;
	font-weight: bold;
	position: relative;
	line-height: 1;
	z-index: 0;
}
.headeing_name_inner::after {
	position: absolute;
	content: '';
	right: -10px;
	top : 0;
	height: 35px;
	width: 1px;
	background: var(--color-font-base);
}
.face_box {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.img_faceClass {
	display: block;
	padding: 0 0 20px;
}
.face_img{
	display: block;
	max-width: 150px;
}
.text_nameClass {
	display: block;
	font-weight: 500;
	font-size: 13px;
	position: relative;
	z-index: 0;
}
@media screen and (min-width: 740px) {
	.text_nameClass {
		font-size: 14px;		
	}
}
.text_nameClass::after {
	position: absolute;
	content: "";
	bottom: -30px;
	right: -90px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background-color: var(--color-arrange-002);
	z-index: -1;
}
@media screen and (min-width: 740px) {
	.text_nameClass::after {
		bottom: -30px;
		right: auto;
		left: -130px;
	}
}
.text_name_flex {
	display: flex;
	width: 100%;
}
.text_name_flex span {
	white-space: nowrap;
	display: block;
	width: 35px;
}
.nb_items_right{
	display: flex;
	width: 100%;
	position: relative;
	padding: 20px;
	border: 1px solid var(--color-font-base);
}
@media screen and (min-width: 740px) {
	.nb_items_right{
		display: flex;
		width: 60%;
	}
}

.headeing_bio {
	width: 50px;
}
.headeing_bio_inner {
	writing-mode: vertical-rl;
	font-weight: bold;
	position: relative;
	line-height: 1;
	z-index: 0;
}
.headeing_bio_inner::before {
	position: absolute;
	content: "";
	top: 17px;
	left: 0px;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background-color: var(--color-arrange-003);
	z-index: -1;
}
.headeing_bio_inner::after {
	position: absolute;
	content: '';
	right: -10px;
	top : 0;
	height: 35px;
	width: 1px;
	background: var(--color-font-base);
}
.bio_box{
	flex: 1;
	padding: 40px 0;
	font-size: 13px;
	line-height: 1.7;
	display: flex;
	align-items: center;
	position: relative;
	CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
}
@media screen and (min-width: 740px) {
	.bio_box{
		font-size: 14px;		
	}
}
strong.strongClass {
	color: var(--color-font-emphasis);
}

.about_listClass {
	padding: 1em 0 2em 24px;
	counter-reset:list;
}
.about_listClass li {
	display: block;
	position:relative;
	padding: 11px 0;
	padding-left: 27px;
	line-height: 1;
}
.about_listClass li:before{
	counter-increment: list;
	content: counter(list);
	position: absolute;
	left: -10px;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: var(--color-font-emphasis);
	border-radius: 50%;
	top: 50%;
	transform: translateY(-50%);
	}

/* 職務経歴 */
.work_list_wrap{
	padding: 0;
}
.l-contents dl {
	font-size: 13px;
	padding: 10px 1em 15px 1em;
	line-height: 1.7;
	margin-bottom: 15px;
	background: var(--color-bg-base);
	/* border-left: 5px solid #a6a6a6; */
	border-radius: 5px;
}
@media screen and (min-width: 740px) {
    .l-contents dl {
        font-size: 16px;
    }
}
.l-contents dl dt{
	font-weight: 500;
	margin-bottom: 10px;
	position: relative;
	/* line-height: 1; */
	border-bottom: 1px solid var(--color-bg-light);
	padding: 0 0 5px 0px;
}
.l-contents dl dt::before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	/* background-image: url(../img/clock.svg); */
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 17px;
	height: 17px;
	left: 0px;
	top: 13%;
	transform: translateY(0%);
}

.l-contents dl dd{
	font-weight: normal;
	padding-left: 0;
	/* font-size: 12px; */
}
.projectTitle {
	padding: 0 0 5px;
	font-weight: bold;
}


/* thank you */
.m-thanks_wrap {
	/* margin-top: -20px; */
	text-align: center;
}
.img_class {
	display: inline-block;
	width: 50px;
}
.thanks_box {
	padding: 0;
	margin: 20px auto 0;
	max-width: 350px;
	background-image: url(../img/thank_you.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (min-width: 740px) {
	.thanks_box {
		max-width: 500px;
	}
}
.thanks_box.inquiry {
	background-image: url(../img/thank_you_inquiry.svg);
}

.text01 {
	display: block;
	font-size: 14px;
	margin-bottom: 8px;
}
@media screen and (min-width: 740px) {
	.text01 {
		font-size: 16px;
		margin-bottom: 16px;
	}
}
.text02 {
	display: block;
	font-size: 14px;
}
@media screen and (min-width: 740px) {
	.text02 {
		font-size: 16px;
	}
}

/* わたくしが出来ること */
.skill_list {
	font-size: 17px;
	padding-left: 1.5em;
}
@media screen and (min-width: 740px) {
	.skill_list {
		font-size: 17px;
	}
}
.skill_list li:not(:last-child) {
	margin-bottom: 24px;
}
.skill_title {
	padding: 0;
	font-weight: 500;
	position: relative;
}
.skill_title::before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 9999px;
	background: var(--color-bg-light);
	left: -15px;
	top: 50%;
	transform: translateY(-50%);
}
.skill_contents {
	padding: 8px 0 0;
	font-size: 12px;
}
@media screen and (min-width: 740px) {
	.skill_contents {
		font-size: 14px;
	}
}
.skill_contents span {
	padding: 0px 22px;
	display: inline-flex;
	height: 40px;
	margin: 4px 2px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-font-base);
	border-radius: 5px;
	line-height: 1;
}


/* ページ内リンク */
.m-inPage_link {
	padding: 0px 0px 30px;
	opacity: 0;
}
@media screen and (min-width: 740px) {
	.m-inPage_link {
		padding: 0px 0px 0px;
	}
}
.m-inPage_link.is-view {
	animation: slideDown .8s cubic-bezier(0.68, -0.55, 0.27, 1.55) 0s 1 normal forwards;
}

.inPage_link_item {
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 740px) {
	.inPage_link_item {
		gap: 20px;
	}
}
.inPage_link_item li {
	padding: 0;
}
.inPage_link_item li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0px 15px;
	height: 48px;
	background: #ffffff;
	font-size: 10px;
	border: 1px solid var(--color-font-base);
	border-radius: 50px;
	font-weight: 600;
	color: var(--color-font-base);
	box-shadow: 0px 5px 0px 0px #555;
	transition: .3s ease;
	position: relative;
}
@media screen and (min-width: 740px) {
	.inPage_link_item li a {
		font-size: 13px;
	}
}

.inPage_link_item li a:hover {
	opacity: 1;
}

@media (any-hover: hover) {
	.inPage_link_item li a:hover {
		/* animation: anima-button 1s; */
		background: var(--color-arrange-001);
	}
}

@keyframes anima-button {
    0% {
        box-shadow: 0 0 0 0 rgb(100 100 100 / 50%);
    }
    100% {
        box-shadow: 0 0 0 10px rgb(0 0 0 / 0%);
    }
}
/* .inPage_link_item li a::before {
	opacity: 0;
} */

.inPage_link_item li.is-view a::before {
	animation: bounce__low .7s cubic-bezier(.075, .82, .165, 1) 1 forwards;
	
}

.inPage_link_item li:nth-child(1) a::before {
	content: '01';
	position: absolute;
	top: -15px;
	left: 10px;
	font-size: 14px;
	color: var(--color-bg-light);
	z-index: -1;
	animation-delay: .7s;
}
.inPage_link_item li:nth-child(2) a::before {
	content: '02';
	position: absolute;
	top: -15px;
	left: 10px;
	font-size: 14px;
	color: var(--color-bg-light);
	z-index: -1;
	animation-delay: 1.0s;
}
.inPage_link_item li:nth-child(3) a::before {
	content: '03';
	position: absolute;
	top: -15px;
	left: 10px;
	font-size: 14px;
	color: var(--color-bg-light);
	z-index: -1;
	animation-delay: 1.3s;
}
@media screen and (min-width: 740px) {
	.inPage_link_item li:nth-child(1) a::before {
		content: '01';
		position: absolute;
		top: -22px;
		/* left: 10px; */
		font-size: 20px;
	}
	.inPage_link_item li:nth-child(2) a::before {
		content: '02';
		position: absolute;
		top: -22px;
		/* left: 10px; */
		font-size: 20px;
	}
	.inPage_link_item li:nth-child(3) a::before {
		content: '03';
		position: absolute;
		top: -22px;
		/* left: 10px; */
		font-size: 20px;
	}
}

.inPage_link_item li a::after {
	content: '';
	position: absolute;
	bottom: -11px;
	left: auto;
	background-color: #555555;
	width: 16px;
	height: 22px;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: -1;
}

/* ------------------------------ */
/*　　　サブページ「WORKS」ページ   */
/* ------------------------------ */
.l-w_list{
	padding: 0;
}
.w_list_inner{
	padding: 0;
}

/* 一覧 box */
.m-list_wrapper {
	display: flex;
	gap: 50px 0px;
	flex-wrap: wrap;
	padding: 0;
	position: relative;
	z-index: 0;
}
@media screen and (min-width: 740px) {
	.m-list_wrapper {
		gap: 60px 60px;
	}
}
@media screen and (min-width: 740px) {
	.m-list_wrapper {
		gap: 20px 20px;
	}
}
@media screen and (min-width: 1024px) {
	.m-list_wrapper {
		gap: 40px 40px;
	}
}

.box005 {
	opacity: 0;
	background: var(--color-bg-white);
	width: 100%;
	font-weight: 500;
	display: flex;
	justify-content: center;
	border-radius: 3rem 0 3rem 0;
	box-shadow: 0 0px 5px -1px #cdd3d8;
}

/*　　　animation   */

/* スクロールアニメーション基本（左下からのスライドアップ） */
.animtrigger.showUp__multiple.is-view  {
	animation: showUp 1s cubic-bezier(0.37, 0.11, 0.19, 1) 1 forwards;
}
/* スクロールアニメーション基本 2（フェードイン） */
.animtrigger.pageFadeIn.is-view {
	animation: pageFadeIn 2s ease-out 1 forwards;
}
.animtrigger.pageFadeIn___p.is-view {
	animation: pageFadeIn 1s cubic-bezier(.26,.06,0,1) 1 forwards;
}

/* スクロールアニメーション　1（ふわふわ） */
.animtrigger.fuwafuwa.is-view {
	animation: fuwafuwa 3s ease-in-out infinite alternate;
}

/* スクロールアニメーション　2 */
.animtrigger.slideDown__multiple.is-view  {
	animation: slideDown 0.7s cubic-bezier(.43,.05,.17,1)  1 forwards;
}
.animtrigger.slideDown__multiple___2.is-view {
	animation: slideDown 0.7s cubic-bezier(.43,.05,.17,1) 1 forwards;
	animation-delay: .3s;
}
/* スクロールアニメーション　2.5 */
.animtrigger.slideDown__single.is-view  {
	animation: slideDown .5s cubic-bezier(0,.14,.19,1)  1 forwards;
}
/* スクロールアニメーション　2.5 */
.animtrigger.slideUp_single.is-view  {
	animation: slideUp .5s cubic-bezier(0,.14,.19,1)  1 forwards;
}
/* スクロールアニメーション　3 */
.animtrigger.zoomOut__multiple.is-view  {
	animation: zoomOutMini .6s cubic-bezier(0,.14,.19,1)  1 forwards;
}
/* スクロールアニメーション　3 */
.animtrigger.zoomIn__multiple.is-view {
	animation: zoomInMini .6s cubic-bezier(0.18, 0.89, 0.32, 1.28) 1 forwards;
}

/* スクロールアニメーション　4 */
.animtrigger.slideIn_A.is-view  {
	animation: slideIn_leftRIght .7s cubic-bezier(.075, .82, .165, 1) 1 forwards;
}
/* スクロールアニメーション　4 */
.animtrigger.slideIn_B.is-view  {
	animation: slideIn_rightLeft .7s cubic-bezier(.075, .82, .165, 1) 1 forwards;
}
/* スクロールアニメーション　5 */
.animtrigger.bounce.is-view  {
	animation: bounce 1s cubic-bezier(.075, .82, .165, 1) 1 forwards;
	transform-origin: center bottom;
}
.animtrigger.bounce__2.is-view  {
	animation: bounce__2 1s cubic-bezier(.075, .82, .165, 1) 1 forwards;
	transform-origin: center bottom;
}
/* スクロールアニメーション　6 */
.animtrigger.rubberBand.is-view  {
	animation: rubberBand 1s cubic-bezier(.075, .82, .165, 1) 1 forwards;
}
/* スクロールアニメーション　7 */
.animtrigger.rotate_horizontal_center.is-view  {
	animation: rotate_horizontal_center .8s ease 1 forwards;
}
/* スクロールアニメーション　8 */
.animtrigger.jello_horizontal.is-view  {
	animation: jello_horizontal 1.0s linear 1 forwards;
}


@keyframes showUp {
	0% {
		transform: translate(-10px, 15px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
@keyframes slideDown {
	0% {
		transform: translateY(5vh);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
@keyframes slideUp {
	0% {
		transform: translateY(-5vh);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
@keyframes blurIn {
	0% {
		opacity: 0;
		/* transform: scale(1.5) translateY(-50%); */
		filter: blur(10px);
	}
	100% {
		opacity: 1;
		/* transform: scale(1) translateY(-50%); */
		filter: blur(0px);
	}
 }

@keyframes fuwafuwa {
	0% {
	  transform:translate(0, 0) rotate(-7deg);
	}
	50% {
	  transform:translate(0, -7px) rotate(0deg);
	}
	100% {
	  transform:translate(0, 0) rotate(7deg);
	}
}
@keyframes yurayura {
	0% { 
		transform:translateX( -12px); 
	}
	100% { 
		transform:translateX(  0px); 
	}
}

@keyframes zoomOutMini {
	0% {
		transform: scale(1.1);
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes zoomInMini {
	0% {
		transform: scale(0.5);
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes slideIn_leftRIght {
	0% {
		transform: translate(-50%, 0);
		opacity: 0;
	}
	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}
@keyframes slideIn_rightLeft {
	0% {
		transform: translate(50%, 0);
		opacity: 0;
	}
	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}
@keyframes bounce {
	from, 20%, 53%, 80%, to {
		-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	40%, 43% {
		-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		-webkit-transform: translate3d(0, -30px, 0);
		transform: translate3d(0, -30px, 0);
	}

	70% {
		-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		-webkit-transform: translate3d(0, -15px, 0);
		transform: translate3d(0, -15px, 0);
	}

	90% {
		-webkit-transform: translate3d(0, -4px, 0);
		transform: translate3d(0, -4px, 0);
	}
}
@keyframes bounce__low {
	from, 20%, 53%, 80%, to {
		-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	40%, 43% {
		-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		-webkit-transform: translate3d(0, -10px, 0);
		transform: translate3d(0, -10px, 0);
	}

	70% {
		-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		-webkit-transform: translate3d(0, -5px, 0);
		transform: translate3d(0, -5px, 0);
	}

	90% {
		-webkit-transform: translate3d(0, -2px, 0);
		transform: translate3d(0, -2px, 0);
	}
}


@keyframes rubberBand {
	from {
	  -webkit-transform: scale3d(1, 1, 1);
	  transform: scale3d(1, 1, 1);
	}
  
	30% {
	  -webkit-transform: scale3d(1.25, 0.75, 1);
	  transform: scale3d(1.25, 0.75, 1);
	}
  
	40% {
	  -webkit-transform: scale3d(0.75, 1.25, 1);
	  transform: scale3d(0.75, 1.25, 1);
	}
  
	50% {
	  -webkit-transform: scale3d(1.15, 0.85, 1);
	  transform: scale3d(1.15, 0.85, 1);
	}
  
	65% {
	  -webkit-transform: scale3d(0.95, 1.05, 1);
	  transform: scale3d(0.95, 1.05, 1);
	}
  
	75% {
	  -webkit-transform: scale3d(1.05, 0.95, 1);
	  transform: scale3d(1.05, 0.95, 1);
	}
  
	to {
	  -webkit-transform: scale3d(1, 1, 1);
	  transform: scale3d(1, 1, 1);
	}
}

@keyframes rotate_horizontal_center {
	0% {
		transform: rotateX(0)
	}

	100% {
		transform: rotateX(-360deg)
	}
}
@keyframes jello_horizontal {
	0% {
		transform: scale3d(1, 1, 1)
	}

	30% {
		transform: scale3d(1.25, .75, 1)
	}

	40% {
		transform: scale3d(.75, 1.25, 1)
	}

	50% {
		transform: scale3d(1.15, .85, 1)
	}

	65% {
		transform: scale3d(.95, 1.05, 1)
	}

	75% {
		transform: scale3d(1.05, .95, 1)
	}

	100% {
		transform: scale3d(1, 1, 1)
	}
}

@media screen and (min-width: 740px) {
	.animtrigger.col2rows {
		width: calc(100% / 2 - 10px);
	}
	.animtrigger.col2rows.is-view:nth-child(2){animation-delay: .3s;}
	.animtrigger.col2rows.is-view:nth-child(3){animation-delay: .0s;}
	.animtrigger.col2rows.is-view:nth-child(4){animation-delay: .3s;}
	.animtrigger.col2rows.is-view:nth-child(5){animation-delay: .0s;}
	.animtrigger.col2rows.is-view:nth-child(6){animation-delay: .3s;}	
}
@media screen and (min-width: 1024px) {
	.animtrigger.col2rows {
		width: calc(100% / 2 - 20px);
	}
}

.box {
	position: relative;
	padding: 0 0;
}
.storyList {
	display: flex;
	flex-direction: column;
	color: var(--color-font-base);
	padding: 16px;
	height: 100%;
}
.storyList:hover {
	opacity: 1;
}
.story-article-list-img {
	position: relative;
	overflow: hidden;
	margin-bottom: 10px;
	border-radius: 2rem 0 0rem 0;
}
.tagClass {
	position: absolute;
	top: 8px;
	right: 8px;
	padding: 0 8px;
	height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-font-base);
	color: #fff;
	font-size: 10px;
	border-radius: 3px;
}

.story-article-list-img span img {
	transform: scale3d(1,1,1);
	transition: all .5s;
	width: 100%;
	height: auto;
	border: none;
}
.story-article-list-ttl span {
	position: relative;
	display: inline-block;
	color: var(--color-font-base);
}

@media (any-hover: hover) {
	.storyList:hover .story-article-list-img span img {
		transform: scale3d(1.07,1.07,1.07);
	}
	.storyList:hover .story-article-list-ttl span::after {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}

.story-article-list-ttl {
	position: relative;
	display: inline-block;
	padding-bottom: 5px;
	font-size: 14px;
	z-index: 1;
	flex-grow: 1;
}
@media screen and (min-width: 1024px) {
	.story-article-list-ttl {
		font-size: 18px;
		padding-bottom: 8px;
	}
}
.story-article-list-ttl span::after {
	position: absolute;
	bottom: 0px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #111;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .4s;
}

.l-client_wrapper {
	padding: 0 0 0px;
	position: relative;
	max-width: 900px;
	margin: 0 auto;
}
.client_wrap{
	display: flex;
	align-items: center;
	padding-left: 5px;
}
.client_wrap___workDetail {
	display: flex;
	align-items: flex-start;
	padding: 0px 0px 10px;
	flex-direction: column;
}
@media screen and (min-width: 740px) {
	.client_wrap___workDetail {
		flex-direction: row;
		align-items: center;
		padding: 0px 0px 10px;
	}
}
.l-contents .client_wrap___workDetail p{
	padding-left: 1em;
	min-width: 100px;
}
@media screen and (min-width: 740px) {
    .l-contents .client_wrap___workDetail p{
        font-size: 13px;
    }
}
.l-contents .client_wrap___workDetail p.story-article-list-excerpt {
	padding-top: 0.7em;
}
@media screen and (min-width: 740px) {
    .l-contents .client_wrap___workDetail p.story-article-list-excerpt {
	padding-top: 0em;
    }
}

.story-article-list-tag {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 12px;
	padding: 0px 10px;
	height: 25px;
	background: var(--color-bg-tag2);
	color: #fff;
	margin-right: 10px;
}
@media screen and (min-width: 1024px) {
	.story-article-list-tag {
		font-size: 13px;
	}
}
.l-contents .client_wrap p {
	font-size: 12px;
}
@media screen and (min-width: 740px) {
    .l-contents .client_wrap p{
        font-size: 13px;
    }
}


.story-article-list-excerpt {
	font-size: 12px;
	padding: 0;
	color: var(--color-font-base);
}
@media screen and (min-width: 1024px) {
	.story-article-list-excerpt {
		font-size: 14px;
	}
}

/* ページナビゲーション */
.generalWrap2 {
	margin: 80px 0px -70px;
}
.wp-pagenavi {
	margin: 20px 0;
	padding: 0 10px;
	font-size: 14px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.wp-pagenavi a {
    color: var(--color-font-base);
}
.pages {/* 左の表記 */
    margin-right: 20px;
    color: var(--color-font-base);
}
.wp-pagenavi .current,
.wp-pagenavi a.page {
    margin-right: 6px;
    display: inline-block;
    border: solid 1px var(--color-font-base);
    background: var(--color-font-base);
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease-in-out;
}
.wp-pagenavi .current {/* カレント数字 */
    background: #ffffff;
    border: solid 1px var(--color-font-base);
    color: var(--color-font-base);
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
    background: #ffffff;
    color: var(--color-font-base);
}
.wp-pagenavi .first,
.wp-pagenavi .extend {
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    padding: 5px;
    margin-right: 6px;
    border: solid 1px var(--color-font-base);
    background: var(--color-font-base);
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease-in-out;
    font-size: 16px;
}
.wp-pagenavi .previouspostslinke:hover,
.wp-pagenavi .nextpostslink:hover{
	background: #ffffff;
	color: var(--color-font-base);
}
/* -------------------------------------------- */
/*　　　サブページ「WORKS（制作実績詳細）」ページ   */
/* -------------------------------------------- */
/* swiper */
.l-swiper_area {
	padding: 0 0 0px;
	position: relative;
	max-width: 900px;
	margin: 0 auto;
}
.swiper {
	padding: 0;
	border: 1px solid #d8d8d8;
	/* box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px; */
}
.swiper-slide {
	text-align: center;
}
.swiper-slide img {
	width: 100%;
	margin: 0 auto;
}
.swiper-button-prev {
	padding: 0;
	left: 0.4rem !important;
}
@media screen and (min-width: 740px) {
	.swiper-button-prev {
		left: 0.7rem !important;
	}
}
.swiper-button-next{
	padding: 0;
	right: 0.4rem !important;
}
@media screen and (min-width: 740px) {
	.swiper-button-next{
		right: 0.7rem !important;
	}
}

.swiper-button-prev,
.swiper-button-next {
	height: 30px !important;
	width: 30px !important;
	background: rgba(0, 0, 0, 0.3);
	border-radius: 50%;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	transition: .2s ease;
}
@media screen and (min-width: 740px) {
	.swiper-button-prev,
	.swiper-button-next {
		height: 50px !important;
		width: 50px !important;
		top: 50% !important;
	}
}
@media (any-hover: hover) {
	.swiper-button-prev:hover, .swiper-button-next:hover {
		transform: translateY(-50%) scale(1.05) !important;
	}
}

.swiper-button-next::after, .swiper-button-prev::after {
	font-size: 0.4rem !important;
	color: var(--color-bg-white);
}
@media screen and (min-width: 740px) {
	.swiper-button-next::after, .swiper-button-prev::after {
		font-size: 0.7rem !important;
	}
}
.swiper-button-prev.swiper-button-disabled {
	display: none !important;
}
.swiper-button-next.swiper-button-disabled {
	display: none !important;
}

.swiper-pagination {
	bottom: -56px !important;
}
.swiper-pagination-bullet-active {
	background: var(--color-bg-main_01) !important;
}

.swiper-pagination-bullet {
	width: 10px !important;
	height: 10px !important;
}

/* content */
.work_single_contents_wrap{
	padding: 0;
}
.work_listClass {
	padding: 0 0 0 45px;
	list-style-type: square;
}
.work_listClass li {
	padding-bottom: 5px;
}
.work_listClass_client {
	padding: 0 0 0 25px;
}

.content_wrap_singlePage_voice {
	padding: 80px 0 40px;
	margin: 0 auto;
	max-width: 900px;
}
.general_box {
	padding: 40px 20px;
	background: var(--color-bg-base);
	border-radius: 10px;
}
@media screen and (min-width: 740px) {
	.general_box {
		padding: 40px;
	}
}
.general_flex{
	display: flex;
	flex-direction: column;
	gap: 20px;
}
@media screen and (min-width: 740px) {
	.general_flex{
		display: flex;
		flex-direction: row;
		align-items: center;
	}
}
.general_flex_item_left {
	padding: 0px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	background-image: url(../img/voice2.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 75px;
}
@media screen and (min-width: 740px) {
	.general_flex_item_left {
		width: 150px;
		margin-left: 10px;
		background-size: 70px;
		height: 75px;
	}
}
.general_flex_item_right {
	padding: 10px;
	text-align: left;
	font-size: 14px;
}
@media screen and (min-width: 740px) {
	.general_flex_item_right {
		padding: 10px;
		font-size: 16px;
		width: auto;
	}
}

/* next prev　記事リンクエリア */
.linkPagination {
	color: var(--color-bg-tag);
	padding: 50px 5px 0;
	font-size: 30px;
	letter-spacing: 0.01em;
	position: relative;
	display: inline-block;
	line-height: 1;
}
.linkPagination::first-letter {
	color: var(--color-bg-main_01);
	font-size: 40px;
}
.linkPagination::after {
	position: absolute;
	content: "";
	bottom: 4px;
	right: -35px;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background-color: var(--color-bg-main_01);
	z-index: 0;
}

.postLinks {
	width: 100%;
	border-top: 1px solid #d4d4d4;
	border-bottom: 1px solid #d4d4d4;
	margin: 20px 0 0;
	padding: 0;
}
@media screen and (min-width: 740px) {
	.postLinks {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row-reverse;
	}
}
.postLink {
	width: 100%;
	font-size: 12px;
	padding: 0 8px;
}
@media screen and (min-width: 740px) {
	.postLink {
		width: 50%;
		font-size: 14px;
	}
}
.postLink-prev {
	text-align: center;
	border-bottom: 1px solid #d4d4d4;
	position: relative;
	overflow:hidden;
}
@media screen and (min-width: 740px) {
	.postLink-prev {
		text-align: left;
		border-bottom: 0px solid #d4d4d4;
		padding-left: 0;
	}
}
.postLink-prev::before {
	content: "Older";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -23px;
	font-family:"EB Garamond", serif;
	color: var(--color-bg-light);
	font-size: 50px;
	z-index: 1;
}

.postLink-next {
	text-align: center;
	position: relative;
	overflow:hidden;
}
@media screen and (min-width: 740px) {
	.postLink-next {
		text-align: right;
		padding-right: 0;
	}
}
.postLink-next::before {
	content: "Newer";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -23px;
	font-family:"EB Garamond", serif;
	color: var(--color-bg-light);
	font-size: 50px;
	z-index: 1;
}

.postLink a {
	position: relative;
	padding: 0px 10px 0 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 160px;
	margin: 15px 0;
	color: #626262;
	background: var(--color-bg-white);
	line-height: 2em;
	transition: all 0.5s linear(0 0%, 0 1.8%, 0.01 3.6%, 0.03 6.35%, 0.07 9.1%, 0.13 11.4%, 0.19 13.4%, 0.27 15%, 0.34 16.1%, 0.54 18.35%, 0.66 20.6%, 0.72 22.4%, 0.77 24.6%, 0.81 27.3%, 0.85 30.4%, 0.88 35.1%, 0.92 40.6%, 0.94 47.2%, 0.96 55%, 0.98 64%, 0.99 74.4%, 1 86.4%, 1 100%);
	box-shadow: 0px 10px 20px -10px #d0cabe;
}
@media (any-hover: hover) {
	.postLink a:hover {
		color: var(--color-bg-white);
		background: var(--color-bg-main_01);
		padding: 0px 20px;
		opacity: 1;
	}
}

.postLink-prev a {
	border-radius:10px;
}
@media screen and (min-width: 740px) {
	.postLink-prev a {
		border-left: 1px solid #d0cabe;
		justify-content: flex-end;
		border-radius: 0px 20px 20px 0px;
		padding: 0px 40px 0 10px;
	}
}

.postLink-next a {
	border-radius:10px;
}
@media screen and (min-width: 740px) {
	.postLink-next a {
		text-align: right;
		justify-content: flex-start;
		border-radius: 20px 0px 0px 20px;
		padding: 0px 10px 0 40px;
	}
}
.postLink a .postLink_inner {
	padding: 10px 0;
}


.dli-chevron-round-left {
  display: inline-block;
  vertical-align: middle;
  color: #ababab;
  line-height: 1;
  position: absolute;
  right: 20px;
  width: 11px;
  height: 11px;
  transform: translateX(25%) rotate(-135deg);
}
.dli-chevron-round-left::before, .dli-chevron-round-left::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
}
.dli-chevron-round-left::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.1em;
}
.dli-chevron-round-left::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.1em;
}

.dli-chevron-round-right {
  display: inline-block;
  vertical-align: middle;
  color: #ababab;
  line-height: 1;
  position: absolute;
  right: 20px;
  width: 11px;
  height: 11px;
  transform: translateX(-25%) rotate(45deg);
}
@media screen and (min-width: 740px) {
	.dli-chevron-round-right {
		right: auto;
		left: 20px;
	}
}
.dli-chevron-round-right::before, .dli-chevron-round-right::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
}
.dli-chevron-round-right::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.1em;
}
.dli-chevron-round-right::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.1em;
}

/* -------------------------------------------- */
/*　　　サブページ「CONTACT」ページ   */
/* -------------------------------------------- */
.form_header {
	padding: 0px 0px 20px;
	border-bottom: 1px dashed var(--color-font-light);
}
@media screen and (min-width: 740px) {
	.form_header {
		padding: 0px 0px 30px;
	}
}
.form_header_flex{
	display: flex;
	justify-content: flex-end;
	font-size: 12px;
	font-weight: 500;
}
@media screen and (min-width: 740px) {
	.form_header_flex{
		font-size: 15px;
	}
}

.form_header_item_left{
	padding: 0;
	margin-right: 2em;
	position: relative;
	display: flex;
	align-items: center;
	line-height: 1;
}
.form_header_item_left::before {
	position: absolute;
	content:"";
	top: 50%;
	left: -16px;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--color-bg-main_02);
	z-index: 0;
}
.form_header_item_right{
	padding: 0;
	position: relative;
	display: flex;
	align-items: center;
	line-height: 1;
}
.form_header_item_right::before {
	position: absolute;
	content:"";
	top: 50%;
	left: -16px;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--color-bg-main_01);
	z-index: 0;
}

.form_content {
	padding: 30px 0;
}
.tf-c-form__row {
	margin-bottom: 30px;
	padding: 0;
	font-weight: 500;

}
@media screen and (min-width: 740px) {
    .tf-c-form__row {
        display: flex;
        justify-content: space-between;
    }
}
.mw_wp_form_preview .tf-c-form__row {
	padding-bottom: 0px;
}
@media screen and (min-width: 740px) {
	.mw_wp_form_preview .tf-c-form__row {
		border-bottom: 1px solid var(--color-bg-light);
		padding-bottom: 30px;
	}
}
.tf-c-form__label_entry {
	word-wrap: break-word;
	display: flex;
	margin-bottom: 10px;
	color: var(--color-font-base);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	/* align-items: center; */
	position: relative;
}
@media screen and (min-width: 740px) {
	.tf-c-form__label_entry {
		flex: 0 0 auto;
		width: 170px;
		padding: 0;
		margin: 15px 0;
		font-size: 16px;
	}
}

.tf-c-form__label_entry.rec::before {
	position: absolute;
	content:"";
	top: 50%;
	left: -18px;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--color-bg-main_02);
	z-index: 0;
}
@media screen and (min-width: 740px) {
	.tf-c-form__label_entry.rec::before {
		top: auto;
		transform: none;
	}
}
.tf-c-form__label_entry.opt::before {
	position: absolute;
	content:"";
	top: 50%;
	left: -18px;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--color-bg-main_01);
	z-index: 0;
}
@media screen and (min-width: 740px) {
	.tf-c-form__label_entry.opt::before {
		top: auto;
		transform: none;
	}
}


@media screen and (min-width: 740px) {
	.tf-c-form__row__main {
	  flex: 1 1 auto;
	  display: flex;
	  align-items: center;
	}
}
@media screen and (min-width: 740px) {
	.tf-c-form__item {
		width: 100%;
		margin: 0;
	   }
}
/* input */
.tf-c-form-control {
	display: block;
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 0.55em .85em;
	border-radius: 5px;
	outline: none;
	background-clip: border-box;
	background-color: var(--color-bg-white);
	color: var(--color-font-base);
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5;
	border: 1px solid var(--color-bg-light);
	line-height: 1.5;
	box-shadow: 0 2px 6px -4px rgba(0, 0, 0, 0.2) inset, 0 2px 4px -4px rgba(0, 0, 0, 0.2) inset;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.tf-c-form-control:focus {
	border: 1px solid rgba(90, 180, 255, 0.5);
	box-shadow: 0 2px 6px -4px rgba(0, 0, 0, 0.2) inset, 0 2px 4px -4px rgba(0, 0, 0, 0.2) inset, 0 0 0 0.25rem rgba(2,132,199,.25);
}
.tf-c-form__item .error {
	padding: 5px 0 0px;
	color: var(--color-font-error) !important;
	display: block !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-align: left !important;
}
 /* テキストエリア */
 .textareaClass {
    min-height: 200px;
}


.form_footer {
	padding: 0px 0 30px;
}
@media screen and (min-width: 740px) {
	.form_footer {
		padding: 0px 0 30px;
	}
}

/* checkbox */
.policycheck{
	padding: 0px 0 40px;
	text-align: left;
}
@media screen and (min-width: 740px) {
	.policycheck {
		text-align: center;
	}
}

.policycheck label {
	vertical-align: middle;
	display: inline-block;
	cursor: pointer;
}

.check_agree {
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	padding-top: 1px;
}

.checkbbox_pure {
	appearance: none;
	border: 1px solid var(--color-font-light);
	background-color: #fff;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	box-shadow: inset 0 0 3px 0px #bbbbbb;
}
.checkbbox_pure:checked {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23252626' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	background-color: #fff;
}

/* contact btn */
input.btn.btn-send {
	text-decoration: none;
	display: flex;
	width: 100%;
	max-width: 300px;
	height: 56px;
	margin: 0 auto 30px;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	font-weight: 500;
	background: var(--color-font-base);
	border: 1px solid var(--color-font-base);
	padding: 0;
	border-radius: 50px;
	transition: 0.3s ease all;
}
input.btn.btn-back {
	text-decoration: none;
	display: flex;
	width: 100%;
	max-width: 300px;
	height: 56px;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	color: var(--color-font-base);
	font-weight: 500;
	background: #fff;
	border: 1px solid var(--color-font-base);
	padding: 0;
	border-radius: 50px;
	transition: 0.3s ease all;
}
input.btn.btn-send:hover, input.btn.btn-back:hover {
	letter-spacing: 0.25em;
}

.content_wrap .mw_wp_form {
	padding: 0 12px;
}
.contactMessage {
	text-align: center;
	margin: 30px 0;
	padding: 0 !important;
	text-decoration: underline;
	text-underline-offset: 10px;
	font-weight: bold;
	/* color: var(--color-bg-tag); */
}
/* loop text */
.wrapper___1 {
	display: flex;
	width: 100%;
	overflow: hidden;
	position: absolute;
	height: 250px;
	top: 50px;
	z-index: 1;
	mix-blend-mode: soft-light;
}
@media screen and (min-width: 740px) {
	.wrapper___1 {
		top: 55px;
		z-index: -1;
		mix-blend-mode: soft-light;
	}
}
.wrapper___2 {
	display: flex;
	width: 100%;
	overflow: hidden;
	position: absolute;
	bottom: -50px;
}

.loop_text___1 {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: 130px;
	overflow: hidden;
	padding-left: 20px;
	font-weight: 700;
	color: #ffffff;
	line-height: 1;
}
.loop_text___2 {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: 150px;
	overflow: hidden;
	padding-left: 20px;
	font-weight: 700;
	color: #ffffff;
	line-height: 1;
}

.loop_text___1:nth-child(odd), .loop_text___2:nth-child(odd) {
  animation: loop 100s -50s linear infinite;
}

.loop_text___1:nth-child(even), .loop_text___2:nth-child(even) {
  animation: loop2 100s linear infinite;
}

@keyframes loop {
    0% {
      transform: translateX(100%);
    }
    to {
      transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
      transform: translateX(0);
    }
    to {
      transform: translateX(-200%);
    }
}


