
/****reset
*****************************************/
html {
  font-size: 62.5%; }

html, body {
  width: 100%;
  height: auto; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  -webkit-text-decoration: normal;
  text-decoration: normal;
  cursor: pointer; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

input, select {
  vertical-align: middle; }



html {
font-size: 62.5%;
}

@media only screen and (max-width: 1280px) {
html {
font-size: 50%;
  }
}
@media only screen and (max-width: 768px) {
html {
  font-size: calc(100vw / 100);
  }
}

@media only screen and (max-width: 540px) {
html {
  font-size: calc(100vw / 75);
  }
}

html, body {
  width: 100%;
  height: auto; }

body {
  color: #000000;
  font-family: "M PLUS 1",Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  background: #FFFFFF;
  }
@media screen and (max-width: 768px) {
body {
}
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto; }

a {
  text-decoration: none;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

figure {
  line-height: 0; }

.center {
  text-align: center !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
.f_en{
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

body.fixed{
  position: fixed;
  width:100%;
}

#wrapper_all{
	position:relative;
    width: 100%;
    overflow: hidden;
}
#wrapper{
}



#l-header_wrap a,
.footer a,
#wrapper a img {
  opacity: 1;
-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out; }

#l-header_wrap a:hover,
.footer a:hover,
#wrapper a:hover img {
  opacity: .85; }
a.mover_btn{
  opacity: 1;
-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out;}
a.mover_btn:hover{
  opacity: .5 !important;
}

@media screen and (max-width: 768px) {
#wrapper{
}
}


/*****フッター****/

.l-footer {
    width: 100%;
    padding:1rem 3rem 5rem;
    color: #000;
    background: #FFF;
    position: relative;
}
.l-footer .l-footer__inner {
    width:100%;
	max-width: 1080px;
    margin: 0 auto;
    padding: 0;
	position:relative;
}
.l-footer_wrap{
text-align: left;
}
.l-footer_copy{
font-size: 1.0rem;
margin: 3.0rem auto 0;
}
#page-top{
    height: 52px;
    width: 52px;
    position: fixed;
    right: 20px;
    bottom: 120px;
    z-index: 102;
    transition: all 0s;
    /*transition: all .2s;*/
}
.pagetop__arrow {
}
#page-top {
}
#page-top:hover {
}
.btn_pagetop_wrap{
    position: fixed;
	width:30px;
	height:150px;
    bottom:30px;
    right: 30px;
	z-index:1000;
	/*display:none;*/
}
#btn_pagetop {
	transition-duration:0.2s;
    cursor: pointer;
    margin-left: auto;
}
#btn_pagetop  a:hover img{
	opacity:1;
}
#btn_pagetop  img{max-width: 100%;height: auto;}
@media (max-width : 768px) {
.l-footer {
}
.l-footer .l-footer__inner {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.l-footer_copy{
font-size: 1.8rem;
margin: 3.0rem auto 0;
}
#page-top{
    bottom: 2rem;
    right: 10px;
	width:30px;
    height: 30px;
}
.btn_pagetop_wrap{
	width:20px;
	height:100px;
    bottom:8px;
    right: 8px;
}
}


/***** bg grade ****/
.bg_wrap{
position: fixed;
display: flex;
justify-content: center;
align-items: center; 
width: 100%;
height: 100svh;
}
.bg_gradation_wrap {
width: 840px;
z-index: -1;
}
video {
width: 100%;
filter: drop-shadow(0px 0px rgba(0,0,0,0));
outline: none;
border: none;
}
@media screen and (max-width: 768px) {
.bg_gradation_wrap {
width: 90vw;
}
}


/***** pg wrap ****/
.pg_wrap{
width: 100%;
margin: 0 auto;
}
@media screen and (max-width: 1280px) {
.pg_wrap{
}
}
@media screen and (max-width: 768px) {
.pg_wrap{
}
}
/***** head ****/
.header_wrap{
position: fixed;
width: 100%;
top: 30px;
z-index: 2;
}
.header{
max-width: 1380px;
margin: 0 auto;
padding: 0 30px;
display: flex;
align-items: center;
justify-content: space-between;
}
.logo_tko{
width: 70px;
}
.head_btn{
}
a.btn_cont{
}
a.btn_cont{
background: #000;
color: #fff;
font-size: 1.6rem;
font-weight: 700;
display: inline-block;
padding: 2.0rem 7rem 2.0rem 4rem;
position: relative;
margin: auto;
width: 100%;
text-align: center;
text-decoration: none;
border-radius: 8rem;
}
a.btn_cont::before, a.btn_cont::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
margin: auto;
vertical-align: middle;
}
a.btn_cont::before {
width: 3rem;
height: 3rem;
-webkit-border-radius: 50%;
border-radius: 50%;
border: solid 2px #FFF;
}
a.btn_cont::after {
right: 3.1rem;
top: -0.3rem;
width: 1.0rem;
height: 1.0rem;
border-top: 2px solid #FFF;
border-right: 2px solid #FFF;
transform: rotate(135deg);
}

@media screen and (max-width: 768px) {
.header_wrap{
top: 10px;
}
.header{
padding: 0 15px;
}
.logo_tko{
width: 50px;
}
a.btn_cont{
font-size: 2.4rem;
padding: 2.2rem 8.5rem 2.5rem 5rem;
border-radius: 8rem;
}
a.btn_cont::before, a.btn_cont::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
margin: auto;
vertical-align: middle;
}
a.btn_cont::before {
width: 3.4rem;
height: 3.4rem;
}
a.btn_cont::after {
right: 3.4rem;
top: -0.3rem;
width: 1.0rem;
height: 1.0rem;
}
}

img {
vertical-align: bottom;
margin: 0;
padding: 0;
}
img {
}

/*****コンテンツ****/
.contents{
	margin-top:0em;
	min-height:500px;
	margin-bottom:0;
}
.main_contents{
position: relative;
max-width: 1140px;
margin: 0 auto;
padding: 0 30px;
}

@media screen and (max-width: 768px) {
.contents{
	margin-top:0em;
	margin-bottom:0em;
}
.main_contents{
width: 100%;
padding: 0;
margin: 6rem auto;
}
}


/***** TOP LOGO ****/
.top_logo_wrap{
height: 100svh;
position: relative;
}
.top_logo {
max-width: 700px;
width: 90%;
position: absolute;
top: 45%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.top_read{
position: absolute;
bottom: 5rem;
width: 100%;
text-align: center;
font-size: 3.2rem;
font-weight: 700;
}
@media screen and (max-width: 768px) {
.top_logo {
top: 45%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.top_read{
position: absolute;
bottom: 20rem;
width: 90%;
left: 5%;
font-size: 3.6rem;
}
}


/***** box ****/
.main_box{
background: #FFF;
width: 100%;
padding: 5rem;
border-radius: 3rem;
margin: 7rem auto;
}
.main_ttl_wrap{
font-size: 3.8rem;
font-weight: 700;
text-align: center;
margin-bottom: 6rem;
}
.main_ttl {
  position: relative;
  display: inline-block;
}
.main_ttl:before {
  content: '';
  position: absolute;
  bottom: -3rem;
  display: inline-block;
  width: 8rem;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  border-radius: 2px;
}
.main_read{
max-width: 840px;
margin: 0 auto;
font-size: 1.8rem;
font-weight: 700;
line-height: 1.8;
margin-bottom: 5rem;
}
.main_read_ct{
text-align: center;
}
@media screen and (max-width: 768px) {
.main_box{
width: 94%;
padding: 5rem 3rem 3rem;
border-radius: 3rem;
margin: 7rem auto;
}
.main_ttl_wrap{
font-size: 5.2rem;
margin-bottom: 8rem;
}
.main_ttl {
}
.main_ttl:before {
  bottom: -4rem;
  width: 14rem;
  height: 2px;
}
.main_read{
font-size: 3.2rem;
margin-bottom: 6rem;
}
.main_read_ct{
text-align: left;
}
}


/***** kikuwhat ****/
.kikuwhat_wrap{
max-width: 840px;
margin: 0 auto;
}
.kikuwhat_list{
    display: flex;
    justify-content: space-between;
   align-items: flex-start;
}
.kikuwhat_list_box{
flex: auto;
}
.fukidashi {
    position: relative;
    padding: 1.5rem;
    border-radius: 1.5rem;
    border: 3px solid #000;
    background-color: #fff;
    font-weight: 700;
    font-size: 1.8rem;
    width: 100%;
    text-align: center;
    margin-bottom: 3rem;
}
.fukidashi:before {
    position: absolute;
    top: 100%;
    left: 40%;
    transform: skew(-45deg);
    height: 2.0rem;
    width: 2.0rem;
    border-right: 4px solid #000;
    background-color: #fff;
    content: "";
}
.fukidashi_inn{
font-size: 3.0rem;
color: #FFF;
padding:0rem 0.8rem 0.2rem;
display: inline-block;
margin-right: 0.3rem;
line-height: 1.3;
vertical-align: baseline;
}
.fukidashi_inn_01{
background: #39b274;
}
.fukidashi_inn_02{
background: #d079c8;
}
.kikuwhat_list_box_1 .kikuwhat_fig{
margin-right: 10%;
}
.kikuwhat_list_box_3 .kikuwhat_fig{
margin-left: 10%;
}
.kikuwhat_list_box_1{
width: 40%;
}
.kikuwhat_list_box_3{
width: 40%;
margin-left: -5%;
}
.kikuwhat_list_box_2{
width: 30%;
margin-left: -5%;
display: flex;
margin-top: 15rem;
align-items: center;
}
.kikuwhat_ct_arr{
width:0;
height:0;
border-style:solid;
border-width: 1.5rem 0 1.5rem 2.2rem;
}
.kikuwhat_ct_01{
border-color: transparent transparent transparent #53c96f;
}
.kikuwhat_ct_03{
border-color: transparent transparent transparent #977dfc;
}
.kikuwhat_ct_en{
  max-width:400px;
  border-radius: 100%;
  padding: 1.5rem;
  background: linear-gradient(90deg, rgba(88,219,146,1) 0%, rgba(134,106,237,1)100%);
  display: flex;
  justify-content: center;
  align-items: center; 
text-align: center;
font-size: 2.0rem;
font-weight: 700;
margin: 0 0.5rem;
color: #FFF;
line-height: 1.4;
}
.kikuwhat_ct_en span{
font-size: 3.0rem;
display: inline-block;
}
.kikuwhat_ct_en::before {
  display: block;
  content: '';
  padding-top: 100%;
}
.kikuwhat_note{
font-size: 1.2rem;
margin-top: 3.0rem;
}
@media screen and (max-width: 768px) {
.kikuwhat_wrap{
}
.kikuwhat_list{
   flex-flow: column;
}
.kikuwhat_list_box{
}
.fukidashi {
    padding: 2rem;
    border-radius: 2rem;
    font-size: 3.6rem;
    margin-bottom: 6rem;
}
.fukidashi:before {
    left: 45%;
    height: 3.0rem;
    width: 3.0rem;
}
.fukidashi_inn{
font-size: 6.0rem;
padding:0rem 1.0rem 0.4rem;
margin-right: 0.5rem;
}
.fukidashi_inn_01{
}
.fukidashi_inn_02{
}
.kikuwhat_list_box_1 .kikuwhat_fig{
width: 90%;
margin: 0 auto;
}
.kikuwhat_list_box_3 .kikuwhat_fig{
width: 90%;
margin: 0 auto;
}
.kikuwhat_list_box_1{
width: 100%;
}
.kikuwhat_list_box_3{
width: 100%;
margin-left: 0%;
}
.kikuwhat_list_box_2{
width: 100%;
display: flex;
margin: 8rem auto;
align-items: center;
flex-flow: column;
}
.kikuwhat_ct_arr{
width:0;
height:0;
border-style:solid;
border-width: 2.6rem 2rem 0 2rem;
z-index: 2;
}
.kikuwhat_ct_01{
border-color: #FFFFFF transparent transparent transparent;
}
.kikuwhat_ct_03{
border-color: #FFFFFF transparent transparent transparent;
}
.kikuwhat_ct_en{
  max-width:inherit;
  padding: 2.5rem;
font-size: 3.0rem;
margin: -6rem 0.5rem;
width: 50%;
}
.kikuwhat_ct_en span{
font-size: 4.0rem;
display: inline-block;
}
.kikuwhat_ct_en::before {
  display: block;
  content: '';
  padding-top: 100%;
}
.kikuwhat_note{
font-size: 1.8em;
margin-top: 5.0rem;
}
}


/***** tkowhat ****/
.tkowhat_head{
display: flex;
justify-content: space-between;
align-items: flex-start;
max-width: 840px;
margin: 0 auto;
}
.tkowhat_head_item{
width: 47.5%;
background: linear-gradient(90deg,rgba(88, 219, 146, 1) 0%, rgba(134, 106, 237, 1) 100%);
text-align: center;
font-size: 1.8rem;
font-weight: 700;
color: #FFF;
padding: 1.2rem;
border-radius: 1.2rem;
}
ul.works_list{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
max-width: 840px;
margin: 5rem auto 0;
}
ul.works_list li{
width: 47.5%;
margin: 0 0 3rem;
}
.works_list_box{
position: relative;
width: 100%;
overflow: hidden;
text-align: left;
}
.works_list_detail{
position: absolute;
left: 0;
bottom: 0;
width: 100%;
box-sizing: border-box;
padding: 1.5rem;
  -webkit-transition-property: opacity transform height;
  transition-property: opacity transform height;
  -webkit-transition-duration: .25s;
  transition-duration: .25s;
  -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  transition-timing-function: cubic-bezier(.215, .61, .355, 1);
}
.works_list_detail_ttl{
  position: relative;
  display: block;
font-size: 1.2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.works_list_detail:before{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: #fff;
  opacity: .8;
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform .55s cubic-bezier(.215, .61, .355, 1);
  transition: -webkit-transform .55s cubic-bezier(.215, .61, .355, 1);
  transition: transform .55s cubic-bezier(.215, .61, .355, 1);
  transition: transform .55s cubic-bezier(.215, .61, .355, 1), -webkit-transform .55s cubic-bezier(.215, .61, .355, 1);
}
.works_list_box:hover .works_list_detail:before {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left;
  -webkit-transition: -webkit-transform .45s cubic-bezier(.215, .61, .355, 1);
  transition: -webkit-transform .45s cubic-bezier(.215, .61, .355, 1);
  transition: transform .45s cubic-bezier(.215, .61, .355, 1);
  transition: transform .45s cubic-bezier(.215, .61, .355, 1), -webkit-transform .45s cubic-bezier(.215, .61, .355, 1);
}
.works_list_box{
display: block;
  text-decoration: none;
  overflow: hidden;
  height: 100%;
  position: relative;
}
.works_list_detail_txt{
  -webkit-transition: opacity .45s cubic-bezier(.215, .61, .355, 1);
  transition: opacity .45s cubic-bezier(.215, .61, .355, 1);
  opacity: 0;
}
.works_list_box:hover .works_list_detail_txt {
  opacity: 1;
  -webkit-transition: opacity .45s cubic-bezier(.215, .61, .355, 1);
  transition: opacity .45s cubic-bezier(.215, .61, .355, 1);
  -webkit-transition-delay: .4s;
  transition-delay: .4s;
}
@media screen and (max-width: 768px) {
.tkowhat_head{
flex-flow: column;
}
.tkowhat_head_item{
width: 100%;
font-size: 3.2rem;
padding: 1.6rem;
border-radius: 2rem;
margin: 1.0rem auto;
}
ul.works_list{
flex-flow: column;
margin: 1rem auto 0;
}
ul.works_list li{
width: 100%;
margin: 3.5rem 0 0;
}
.works_list_detail{
position: static;
left: auto;
bottom: auto;
width: 100%;
padding: 1.0rem 0rem;
}
.works_list_detail_ttl{
  position: relative;
  display: block;
font-size: 2.4rem;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}
.works_list_detail:before{
  background: none;
  opacity: 0;
}
.works_list_detail_txt{
  opacity: 1;
}
}

/***** youtube ****/
.youtube {
  width: 100%;
  max-width: 840px;
  margin: 6rem auto;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
.youtube{
width: 94%;
margin: 7rem auto;
}
}




/***** kadai ****/
.kadai_wrap{
display: flex;
justify-content: space-between;
align-items: flex-start;
max-width: 1000px;
}
.kadai_block{
width: 32%;
}
.kadai_ttl{
text-align: center;
font-size: 1.6rem;
font-weight: 700;
padding: 1.2rem;
border-radius: 1.2rem;
color: #FFF;
margin-bottom: 1.5rem;
}
.kadai_ttl_01{
background: linear-gradient(90deg,rgba(88, 219, 146, 1) 0%, rgba(134, 106, 237, 1) 100%);
}
.kadai_ttl_02{
background: linear-gradient(90deg,#f478db 0%, #866aed 100%);
}
.kadai_ttl_03{
background: linear-gradient(90deg,#4bddff 0%, #866aed 100%);
}
.kadai_head{
display: flex;
align-items:center;
margin-bottom: 2.5rem
}
.kadai_head_fig{
max-width: 60px;
}
.kadai_head_read{
font-size: 1.4rem;
margin-left: 1.0rem;
line-height: 1.4;
}
.kadai_box{
position: relative;
padding: 0.5rem 1.5rem 1.5rem;
border: solid 2px #000000;
border-radius: 1.0rem;
margin-bottom: 2rem;
}
.kadai_box_head{
position: absolute;
display: inline-block;
top: -0.9rem;
left: 50%;
transform: translateX(-50%);
padding: 0 9px;
line-height: 1;
font-size: 1.6rem;
font-weight: 700;
background: #FFF;
text-align: center;
white-space: nowrap;
}
.kadai_box_head_02{
color: #808080;
top: -1.2rem;
font-size: 2.0rem;
}
.kadai_box_inn{
display: flex;
align-items:center;
margin-top: 1.5rem;
min-height: 6rem;
}
.kadai_box_inn_fig{
max-width: 50px;
}
.kadai_box_inn_read{
font-size: 1.4rem;
margin-left: 1.0rem;
line-height: 1.4;
}
.kadai_box_inn_read span{
font-weight: 700;
}
@media screen and (max-width: 768px) {
.kadai_wrap{
flex-flow: column;
}
.kadai_block{
width: 100%;
margin-bottom: 3.5rem;
}
.kadai_block:last-child{
margin-bottom: 0;
}
.kadai_ttl{
width: 100%;
font-size: 3.2rem;
padding: 1.6rem;
border-radius: 2rem;
margin-bottom: 3.0rem;
}
.kadai_head{
margin-bottom: 4.5rem
}
.kadai_head_read{
font-size: 2.8rem;
margin-left: 2.0rem;
}
.kadai_box{
padding: 1rem 2rem 3rem;
border-radius: 2.0rem;
margin-bottom: 4rem;
}
.kadai_box_head{
top: -1.8rem;
padding: 0 9px;
line-height: 1;
font-size: 3.2rem;
}
.kadai_box_head_02{
top: -2.0rem;
font-size: 4.0rem;
}
.kadai_box_inn{
margin-top: 2.5rem;
min-height: inherit;
}
.kadai_box_inn_read{
font-size: 2.8rem;
margin-left: 2.0rem;
}
}


/***** project ****/
.project_wrap{
display: flex;
justify-content: space-between;
align-items: flex-start;
max-width: 1000px;
flex-wrap: wrap;
}
.project_block{
width: 46%;
}
.project_block:nth-child(n+3){
margin-top:4rem;
}
.project_ttl{
text-align: center;
font-size: 1.6rem;
font-weight: 700;
padding: 1.2rem;
border-radius: 1.2rem;
color: #FFF;
margin-bottom: 1.5rem;
}
.project_ttl_01{
background: linear-gradient(90deg,rgba(88, 219, 146, 1) 0%, rgba(134, 106, 237, 1) 100%);
}
.project_ttl_02{
background: linear-gradient(90deg,#f478db 0%, #866aed 100%);
}
.project_ttl_03{
background: linear-gradient(90deg,#4bddff 0%, #866aed 100%);
}
.project_ttl_04{
background: linear-gradient(90deg,#b4f500 0%, #866aed 100%);
}
.project_box{
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.project_fuki_area{
width: 46%;
}
.project_arr{
width: 11%;
margin-top: 17rem;
}
.project_hum_list{
width: 50%;
margin-left: -7%;
margin-top: 2rem;
}
.project_fuki_area .fukidashi{
font-size: 1.4rem;
text-align: left;
}
.project_fuki_fig{
max-width: 108px;
margin: 0 auto;
}
.triangle {
  display: inline-block;
  width: 2.4rem;
  height: 4.0rem;
  background: #808080;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.project_hum_list{
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
}
.project_hum_item{
width: 48%;
text-align: center;
}
.project_hum_item:last-child{
margin-left: 25%;
margin-top: 1.0rem;
}
.project_hum_fig{
max-width: 70px;
margin: 0 auto 0.5rem;
}
.project_hum_name{
font-size: 1.0rem;
line-height: 1.2;
text-align: center;
}
.project_note{
font-size: 1.4rem;
text-align: center;
margin-top: 2rem;
font-weight: 700;
}
@media screen and (max-width: 768px) {
.project_wrap{
flex-flow: column;
}
.project_block{
width: 100%;
margin-bottom: 7.5rem;
}
.project_block:nth-child(n+3){
margin-top:0;
}
.project_block:last-child{
margin-bottom: 0;
}
.project_ttl{
width: 100%;
font-size: 3.2rem;
padding: 1.6rem;
border-radius: 2rem;
margin-bottom: 3.0rem;
}
.project_box{
flex-flow: column;
}
.project_fuki_area{
width: 100%;
}
.project_arr{
width: 100%;
margin-top: 0;
}
.project_hum_list{
width: 100%;
margin-left: 0%;
margin-top: 2rem;
}
.project_fuki_area{
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.project_fuki_area .fukidashi{
font-size: 2.8rem;
order: 2;
margin-bottom: 3rem;
}
.project_fuki_area .fukidashi:before{
    top: 40%;
    left: -1.75rem;
    transform: skew(135deg);
    height: 2.0rem;
    width: 2.0rem;
    border-right: none;
    border-left: 4px solid #000;
}
.project_fuki_fig{
width: 40%;
max-width: 108px;
margin: 0 auto;
order: 1;
}
.triangle {
  display: block;
  width: 8rem;
  height: 4.8rem;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  margin: 0 auto;
}
.project_hum_list{
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: nowrap;
}
.project_hum_item{
width: 32%;
text-align: center;
}
.project_hum_item:last-child{
margin-left: 0;
margin-top: 0;
}
.project_hum_fig{
margin: 0 auto 1rem;
}
.project_hum_name{
font-size: 1.8rem;
}
.project_note{
font-size: 2.8rem;
margin-top: 2rem;
}
}


/***** sugoi ****/
.sugoi_wrap{
display: flex;
justify-content: space-between;
align-items: stretch;
max-width: 1000px;
margin-top: 12rem;
}
.sugoi_block{
width: 32%;
background: #f3f3f3;
border-radius: 1.5rem;
padding: 2.0rem;
position: relative;
}
.sugoi_point_icon{
position: absolute;
top: -50px;
left: 50%;
max-width: 108px;
transform: translateX(-50%);
}
.sugoi_read{
font-size: 1.8rem;
font-weight: 700;
margin-top: 5rem;
line-height: 2.0;
}
.sugoi_read span{
background: #fffb00;
padding: 0 0.4rem 0.2rem;
}
@media screen and (max-width: 768px) {
.sugoi_wrap{
flex-flow: column;
margin-top: 18rem;
}
.sugoi_block{
width: 100%;
padding: 4.0rem;
border-radius: 2rem;
margin-bottom: 12rem;
}
.sugoi_block:last-child{
margin-bottom: 0;
}
.sugoi_point_icon{
position: absolute;
top: -8rem;
width: 16rem;
max-width: inherit;
}
.sugoi_read{
font-size: 3.4rem;
margin-top: 7rem;
line-height: 2.0;
}
.sugoi_read span{
background: #fffb00;
padding: 0 0.6rem 0.2rem;
}
}


/***** plan ****/
.plan_wrap{
display: flex;
justify-content: space-between;
align-items: stretch;
max-width: 1000px;
}
.plan_block_l{
width: 154px;
background: #53c96f;
border-radius: 1.5rem;
padding: 0.5rem;
display: flex;
align-items: center;
justify-content: center;
}
.plan_block_l2{
background: #977dfc;
}
.plan_block_r{
width: calc(100% - 154px - 2rem);
margin-left: 2rem;
background: #f3f3f3;
border-radius: 1.5rem;
padding: 2.5rem;
}
.plan_block_r2{
margin-left: 2rem;
background: none;
border-radius: 0;
padding: 0;
}
.plan_ttl{
font-size: 2.0rem;
font-weight: 700;
color: #FFF;
text-align: center;
}
.plan_ttl span{
font-size: 1.4rem;
font-weight: 400;
display: block;
}
.plan_head_wrap{
}
.plan_head_item{
display: inline-block;
vertical-align: middle;
}
.plan_head_item_01{
font-size: 1.6rem;
font-weight: 700;
color: #FFF;
background: #000;
padding: 1rem 4rem;
border-radius: 1rem;
margin-right: 1rem;
}
.plan_head_item_02{
font-size: 1.8rem;
font-weight: 700;
}
.plan_head_read{
font-size: 1.4rem;
margin: 1rem 0 0;
}
.plan_sv_head{
font-size: 1.4rem;
font-weight: 700;
margin: 2rem 0 0.5rem;
}
.plan_sv_list{
display: flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;
}
.plan_sv_list_item{
width: 24.5%;
font-size: 1.4rem;
text-align: center;
border: solid 1px #cacaca;
padding: 0.4rem;
margin-top: 0.4rem;
}

.plan_plus_wrap{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem auto;
}
.plan_plus {
  position: relative;
  width: 60px;
  height: 60px;
  margin: 0 6px;
}
.plan_plus:before, .plan_plus:after {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: #000000;
}
.plan_plus:before {
  width: 6px;
  height: 60px;
}
.plan_plus:after {
  width: 60px;
  height: 6px;
}

.js-scroll-btn.visible{
display: none;
}

.plan_plus_list{
display: flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;
}
.plan_plus_box{
width: 19.2%;
text-align: center;
background: #f3f3f3;
padding: 1.5rem 0.2rem;
border-radius: 1.5rem;
}
.plan_plus_box:nth-child(n+6){
margin-top: 1rem;
}
.plan_plus_box_top{
font-size: 1.4rem;
position: relative;
margin-bottom: 2rem;
min-height: 5rem;
display: flex;
align-items: center;
text-align: center;
justify-content: center;
}
.plan_plus_box_top:before {
  content: '';
  position: absolute;
  bottom: -1rem;
  display: inline-block;
  width: 8rem;
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  background-color:#cacaca;
  border-radius: 2px;
}
.plan_plus_box_btm{
font-size: 1.8rem;
font-weight: 700;
/*display: flex;
align-items: flex-start;
text-align: center;
justify-content: center;
flex-wrap: wrap;*/
min-height: 3rem;
margin-top: 2.5rem;
}
.plan_plus_box_btm span{
display: block;
font-size: 1.1rem;
font-weight: 400;
line-height: 1.1;
}
.plan_note{
font-size: 1.2rem;
margin-top: 2rem;
}
@media screen and (max-width: 768px) {
.plan_wrap{
flex-flow: column;
margin-top: 4rem;
}
.plan_block_l{
width: 100%;
border-radius: 2rem;
padding: 2rem;
margin-bottom: 2rem;
}
.plan_block_l2{
}
.plan_block_r{
width: 100%;
margin-left: 0;
border-radius: 2em;
padding: 3rem;
}
.plan_block_r2{
margin-left: 0;
padding: 0;
}
.plan_ttl{
font-size: 3.6rem;
}
.plan_ttl span{
font-size: 2.4rem;
display: inline-block;
}
.plan_head_wrap{
}
.plan_head_item{
}
.plan_head_item_01{
font-size: 3.0rem;
padding: 2rem 6rem;
border-radius: 2rem;
margin-right: 2rem;
}
.plan_head_item_02{
font-size: 3.6rem;
}
.plan_head_read{
font-size: 2.6rem;
margin: 2rem 0 0;
}
.plan_sv_head{
font-size: 2.6rem;
margin: 3rem 0 0;
}
.plan_sv_list{
flex-flow: column;
}
.plan_sv_list_item{
width: 100%;
font-size: 2.6rem;
padding: 0.8rem;
margin-top: 0.8rem;
}

.plan_plus_wrap{
  margin: 3rem auto 1rem;
}
.plan_plus {
  position: relative;
  width: 40px;
  height: 40px;
  margin: 0 4px;
}
.plan_plus:before, .plan_plus:after {
}
.plan_plus:before {
  width: 4px;
  height: 40px;
}
.plan_plus:after {
  width: 40px;
  height: 4px;
}

.table-scroll{
overflow: auto;
width: 100%;
position: relative;
padding-top: 8rem;
}
.js-scroll-btn{
position: absolute;
right: 0;
top: 0;
max-width: 120px;
opacity: 0;
transition: all 0.2s ease;
}
.js-scroll-btn.visible{
display: block;
opacity: 1;
}


.plan_plus_list{
width: 200vw;
}
.plan_plus_box{
width: 19.2%;
padding: 1.5rem 0.5rem;
border-radius: 2rem;
}
.plan_plus_box:nth-child(n+6){
margin-top: 1.5rem;
}
.plan_plus_box_top{
font-size: 2.2rem;
margin-bottom: 2rem;
min-height: 8rem;
}
.plan_plus_box_top:before {
  bottom: -1rem;
  width: 10rem;
  height: 1px;
}
.plan_plus_box_btm{
font-size: 2.8rem;
min-height: 7rem;
margin-top: 3rem;
/*flex-flow: column;*/
}
.plan_plus_box_btm span{
display: block;
font-size: 1.8rem;
}
.plan_note{
font-size: 1.8rem;
margin-top: 2rem;
}

}


/***** intro ****/
.intro_wrap{

}
.intro_block{
/*width: 100%;
max-width: 1000px;*/
}
.intro_block:last-child{
/*margin-top: 5rem;*/
}

.scroll_wrap {
  overflow: hidden;
  width: 100%;
}
.scroll_contents {
  display: flex;
}
.scroll_item {
  width: 1000px;
  margin-right: 2rem;
}


.intro_head{
clip-path: polygon(0% 0%, 97% 0%, 100% 50%, 97% 100%, 0% 100%);
display: flex;
justify-content: space-around;
align-items: stretch;
padding: 1rem 0;
}
.intro_head_01{
background: linear-gradient(90deg,#f39333 0%, #f45cd6 100%);
}
.intro_head_02{
background: #53c96f;
}
.intro_head_03{
background: linear-gradient(90deg,#bc5cf4 0%, #14abff 100%);
}
.intro_head_04{
background: #977dfc;
}
.intro_head_item{
font-size: 1.8rem;
font-weight: 700;
color: #FFF;
width: 40%;
text-align: center;
}
.intro_mdl_wrap{
display: flex;
justify-content: space-around;
align-items: stretch;
margin: 2rem auto;
}
.intro_mdl{
width: 40%;
text-align: center;
}
.intro_mdl_item{
font-size: 1.6rem;
font-weight: 700;
padding: 1rem;
border: solid 1px#cacaca;
border-radius: 1.0rem;
margin-bottom: 1.0rem;
}
.intro_mdl_hum_list{
display: flex;
justify-content: center;
align-items: flex-start;
}
.intro_mdl_hum_item{
width: 24%;
text-align: center;
}
.intro_mdl_hum_fig{
max-width: 70px;
margin: 0 auto 0.5rem;
}
.intro_mdl_hum_name{
font-size: 1.0rem;
line-height: 1.2;
text-align: center;
}


/*.scroll_wrap {
  overflow: hidden;
  background: #899395;
}
.scroll_contents {
  display: flex;
  padding-left: 10%;
}
.scroll_item {
  width: 1000px;
  background: #fff;
  padding: 16px;
  margin-right: 50px;
}
*/
/*.side-scroll-container{
  overscroll-behavior: none;
  width: 200%;
height: 400px;
  display: flex;
  flex-wrap: nowrap;
}
.side-scroll-item{
width: 100%;
}*/

/*.side-scroll{
width: 100%;
height: 400px;

position: relative;
}
.side-scroll-container{
display: flex;
}
.side-scroll-item{
height: 400px;
}
*/
/*.side-scroll{
width: 100%;
height: 400px;
overflow: hidden;
position: relative;
}
.side-scroll-container{
position: absolute;
top: 0;
left: 0;
  display: flex;
  width: 200%;
  min-width: 100%;
  height: 400px;
}*/

/*.side-scroll {
  width: 200%;
}
.side-scroll-container {
  align-items: center;
  display: flex;
  margin-inline: auto;
  overflow: hidden;
  width: 100%;
}
.side-scroll-list {
margin-left:20%;
  display: flex;
  gap: 3vw;
}
.side-scroll-item{
position:relative;
max-width: 1000px;
}

*/

@media screen and (max-width: 768px) {
.intro_block_wrap{
display: flex;
justify-content: space-between;
align-items: stretch;
width: 330vw;
}
.intro_block{
}
.intro_block:last-child{
margin-top: 0;
}
.scroll_item {
  width: 100%;
  margin-right: 0;
}
.intro_head{
padding: 2rem 0;
}
.intro_head_item{
font-size: 2.6rem;
width: 40%;
}
.intro_mdl_wrap{
margin: 3rem auto;
}
.intro_mdl{
width: 42%;
}
.intro_mdl_item{
font-size: 2.4rem;
padding: 1.5rem;
border-radius: 1.5rem;
margin-bottom: 1.0rem;
}
.intro_mdl_hum_list{
flex-wrap: wrap;
}
.intro_mdl_hum_item{
width: 40%;
margin-top: 1rem;
}
.intro_mdl_hum_fig{
max-width: 70px;
margin: 0 auto 0.5rem;
}
.intro_mdl_hum_name{
font-size: 1.8rem;
}

}



/***** jirei ****/
.jirei_wrap{
display: flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;
max-width: 1000px;
margin-top: 12rem;
}
.jirei_block{
width: 48%;
background: #f3f3f3;
border-radius: 1.5rem;
padding: 2.0rem 2.0rem;
position: relative;
}
.jirei_block:nth-child(n+3){
margin-top: 9rem;
}
.jirei_step_icon{
position: absolute;
top: -50px;
left: 50%;
max-width: 108px;
transform: translateX(-50%);
}
.jirei_step_inn{
margin: 5rem auto 0;
}
.jirei_main_fig{
max-width: 420px;
margin: 1rem auto 0.5rem;
}
.jirei_read{
font-size: 1.8rem;
font-weight: 700;
line-height: 2.0;
width: 94%;
margin: 0 auto;
}
.jirei_wrap .fukidashi {
    background-color: #f3f3f3;
    font-size: 1.4rem;
    text-align: left;
    width: 90%;
    margin: 6rem auto 2.5rem;
    padding: 1.5rem 2.0rem;
}
.jirei_wrap .fukidashi:before {
    background-color: #f3f3f3;
}
@media screen and (max-width: 768px) {
.jirei_wrap{
flex-flow: column;
margin-top: 18rem;
}
.jirei_block{
width: 100%;
padding: 4.0rem;
border-radius: 2rem;
margin-bottom: 12rem;
}
.jirei_block:nth-child(n+3){
margin-top: 0rem;
}
.jirei_block:last-child{
margin-bottom: 0rem;
}
.jirei_step_icon{
position: absolute;
top: -8rem;
width: 16rem;
max-width: inherit;
}
.jirei_read{
font-size: 3.0rem;
margin-top: 1rem;
line-height: 1.8;
width: 96%;
}
.jirei_wrap .fukidashi {
font-size: 2.8rem;
width: 96%;
margin-bottom: 3rem;
}
}



/***** contact_area ****/
.contact_area{
background: #FFF;
padding: 12rem 3rem 2rem  3rem;
margin: 6rem auto 0;
position: relative;
}
.contact_area_block{
max-width: 760px;
margin: 0 auto;
}
.contact_pp_txt{
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 1.0rem;
}
.contact_pp_txt span{
font-size: 1.2rem;
margin-left: 0.5rem;
}
.contact_pp_txt a{
color: #000;
text-decoration: underline;
}
.contact_pp_check{
margin: 0rem auto 2rem;
}
.contact_pp_check label:hover {
	cursor: pointer;
}
.contact_note{
font-size: 1.4rem;
margin: 0rem auto 2rem;
text-align: center;
}
@media screen and (max-width: 768px) {
.contact_area{
padding: 15rem 5rem 3rem 5rem;
}
.contact_pp_txt{
font-size: 2.4rem;
margin-bottom: 1.0rem;
}
.contact_pp_txt span{
font-size: 1.8rem;
margin-left: 0.5rem;
}
.contact_pp_check{
margin: 0rem auto 3rem;
}
.contact_note{
font-size: 2.0rem;
margin: 0rem auto 2rem;
}
}




/***** anime ****/
.anime {
    opacity : 0.01;
    transform : translate(0, 30px);
    transition : all 800ms;
    }
.anime.fadein {
    opacity : 1;
    transform : translate(0, 0);
    }

.logoshow {
    opacity : 1;
    transition : all 500ms;
    }
.logoshow.fadein {
    opacity : 0;
    }



/* ==========================================================================
   Helper classes
   ========================================================================== */

.pc-only{ display:inline;}
.sp-only{ display:none;}
.pc-b-only{ display: block;}
.sp-b-only{ display:none;}
@media screen and (max-width: 768px) {
.pc-only{ display:none;}
.sp-only{ display:inline;}
.pc-b-only{ display: none;}
.sp-b-only{ display:block;}
}
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

