@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

.swiper-wrapper {
  transition-timing-function: linear;
}

.swiper-slide img {
  height: auto;
  width: 100%;
}

.scroll__inner::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
.simplebar-scrollbar::before {
	background: #4fc4d7;
	border-radius: 3px;
	width: 3px;
	margin-left: 0;
	margin-top: 2px;
	margin-bottom: 2px;
}
.simplebar-scrollbar.simplebar-visible::before {
	opacity: 1;
}
.simplebar-track {
	background: #c9caca;
	width: 7px !important;
	border-radius: 6px;
}

.simplebar-track {
    right: 3%;
}

main {
	padding-bottom: 0;
}

.swiper div.icon {
	padding: 10%;
}

.swiper div.icon.narrow {
	padding: 0;
}

.swiper div.icon02 {
	width: 85.96%;
	margin: 0 auto;
}

.swiper div.icon03 {
	width: 62.8%;
	margin: 0 auto;
	padding-top: 8%;
}

.swiper div.icon04 {
	width: 96.49%;
	margin: 0 auto;
}

@keyframes kotokoto {
  0%   { transform: translateY(0) rotate(0deg); }
  20%  { transform: translateY(-2px) rotate(2deg); }
  40%  { transform: translateY(1px) rotate(-2deg); }
  60%  { transform: translateY(-1px) rotate(1.5deg); }
  80%  { transform: translateY(1px) rotate(-1.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

.icon01 img,
.icon02 img,
.icon03 img,
.icon04 img,
.icon05 img {
  animation: kotokoto 1.2s ease-in-out infinite;
  transform-origin: center;
}

.icon01 img { animation-delay: 0s; }
.icon02 img { animation-delay: 0.2s; }
.icon03 img { animation-delay: 0.4s; }
.icon04 img { animation-delay: 0.6s; }
.icon05 img { animation-delay: 0.8s; }

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	
	div#mv_block nav.slide_nav li.menu.work a{
		color: #4fc4d7;
    }
	
	section#work  {
		padding-bottom: 8vw;
	}
	
	section#work div.section_inner {
		width: 78%;
		margin: 0 auto;
	}
	
	section#work div.section_inner h2,
	section#case h2{
		text-align: center;
		margin-bottom: 1em;
	}
	
	section#work div.section_inner p,
	section#case p{
		font-size: 2.0rem;
		font-size: clamp(calc((2.0rem * 0.64)), 1.33vw, 2.0rem);
		font-weight: 700;
		line-height: 2.2;
		letter-spacing: 0.025em;
		text-align: center;
	}
	
	section#work div.section_inner figure {
		line-height: 0;
		margin: 2vw;
	}
	
	section#case {
		padding: 5.4vw 0 9vw;
		background: url("../images/common/bg_blue.jpg") repeat;
		background-size: 250px 2100px;
	}
	
	section#case .swiper {
		margin-top: 4vw;
	}
	
	section#case div.section_inner {
		width: 94%;
		max-width: 1410px;
		margin: 7.3vw auto 0;
		position: relative;
		padding-top: 127.46vw;
		padding-top: 127.46cqw;
	}
	
	section#case div.section_inner div.case_box{
		width: 25.5%;
		overflow: hidden;
		border-radius: 10px;
		position: absolute;
		z-index: 5;
		line-height: 0;
		animation: floatY 4s ease-in-out infinite;
	}

    @keyframes floatY {
      0%   { transform: translateY(0); }
      50%  { transform: translateY(-12px); }
      100% { transform: translateY(0); }
    }
	
	section#case div.section_inner div.case_box div.hover{
		width: 100%;
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0,0,0,.6);
		transition-duration: 0.5s;
		transition-property: opacity;
		opacity: 0;
	}
	
	section#case div.section_inner div.case_box a:hover div.hover{
		opacity: 1;
	}
	
	section#case div.section_inner div.case_box div.hover div.text ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
		gap: 3.8%;
	}
	
	section#case div.section_inner div.case_box div.hover div.text ul li{
		width: auto;
		height: 5.33vw;
		height: 5.33cqw;
		max-height: 80px;
	}
	
	section#case div.section_inner div.case_box div.hover div.text ul li img{
		width: auto;
		height: 100%;
	}
	
	section#case div.section_inner div.case_box div.hover div.text {
		width: 100%;
	}
	
	section#case div.section_inner div.case_box div.hover div.text p{
		font-size: 1.7rem;
		font-size: clamp(calc((1.7rem * 0.64)), 1.13vw, 1.7rem);
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.025em;
		text-align: center;
		color: #FFF;
		margin-top: 1.25em;
	}
	
	section#case div.section_inner div.case_box.case01{
		top: 0;
		left: 37.3%;
		animation: floatY 4s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case02{
		top: 6.55%;
		left: 6.33%;
		animation: floatY 5s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case09{
		top: 6.92%;
		right: 7%;
		animation: floatY 4.6s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case08{
		top: 27.9%;
		left: 11.8%;
		animation: floatY 4.4s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case13{
		top: 23.2%;
		left: 43.8%;
		animation: floatY 3.8s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case10{
		top: 26.1%;
		right: 0;
		animation: floatY 4.4s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case07{
		top: 45.3%;
		left: 1.54%;
		animation: floatY 4.2s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case05{
		top: 48.2%;
		left: 37.5%;
		animation: floatY 4.8s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case11{
		top: 43.5%;
		right: 6%;
		animation: floatY 4s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case12{
		bottom: 22.9%;
		left: 8.45%;
		animation: floatY 5s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case14{
		bottom: 16.8%;
		left: 41.8%;
		animation: floatY 3.8s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case04{
		bottom: 22.2%;
		right: 1.9%;
		animation: floatY 4.8s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case06{
		bottom: 2.6%;
		left: 9.57%;
		animation: floatY 4.6s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case03{
		bottom: 0;
		right: 5.77%;
		animation: floatY 4.2s ease-in-out infinite;
	}
	
	
	
	/*
	section#case div.section_inner div.case_box.case03{
		top: 23.2%;
		left: 43.8%;
		animation: floatY 3.8s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case04{
		top: 6.92%;
		right: 7%;
		animation: floatY 4.6s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case05{
		top: 45.3%;
		left: 1.54%;
		animation: floatY 4.2s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case06{
		top: 27.9%;
		left: 11.8%;
		animation: floatY 4.4s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case07{
		top: 48.2%;
		left: 37.5%;
		animation: floatY 4.8s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case08{
		top: 43.5%;
		right: 6%;
		animation: floatY 4s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case09{
		bottom: 22.9%;
		left: 8.45%;
		animation: floatY 5s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case10{
		bottom: 16.8%;
		left: 41.8%;
		animation: floatY 3.8s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case11{
		bottom: 2.6%;
		left: 9.57%;
		animation: floatY 4.6s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case12{
		bottom: 0;
		right: 5.77%;
		animation: floatY 4.2s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case13{
		top: 26.1%;
		right: 0;
		animation: floatY 4.4s ease-in-out infinite;
	}
	section#case div.section_inner div.case_box.case14{
		bottom: 22.2%;
		right: 1.9%;
		animation: floatY 4.8s ease-in-out infinite;
	}*/
	
	div.pop {
		width: 100vw;
        height: 100vh;
        left: 0;
        top: 0;
        position: fixed;
        background: rgba(0,0,0,.6);
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.35s;
        z-index: 999999;
	}
	
	div.pop.active {
		opacity: 1;
		pointer-events: auto;
		transition: opacity 0.35s;
    }
	
	div.pop_inner {
		width: 90%;
		max-width: 970px;
		max-height: 90vh;
		padding: 9.6vw 0 0;
		overflow: hidden;
		border-radius: 20px;
		background: url(../images/common/bg.jpg) repeat;
		background-size: 250px 2104px;
		position: relative;
		border: 1px solid #000;
	}
	
	div.pop_inner ul.icon {
		width: 100%;
		padding: 0 4%;
		position: absolute;
		top: 28px;
		top: 2vw;
		left: 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 2.4%;
		z-index: 5;
	}
	
	div.pop_inner ul.icon li{
		width: auto;
		height: 5.33vw;
		height: 5.33cqw;
		max-height: 80px;
	}
	
	div.pop_inner ul.icon li img{
		width: auto;
		height: 100%;
	}
	
	div.pop_inner p.period {
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.64)), 0.933vw, 1.4rem);
		font-weight: 700;
		line-height: 1.4;
		display: inline-block;
		position: absolute;
		top: 54px;
		top: 3.6vw;
		right: 12.8%;
	}
	
	div.pop_inner h3 {
		font-size: 2.8rem;
		font-size: clamp(calc((2.8rem * 0.64)), 1.86vw, 2.8rem);
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0.025em;
		text-align: center;
		margin-bottom: 1em;
	}
	
	div.pop .pop_scroll {

    }
	
	div.pop .scroll__inner {
        overflow: hidden;
		height: 50vh;
        max-height: 600px;
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
		margin-bottom: 6vw;
    }
	
	div.pop div.block {
        overflow-y: auto;
        padding: 0 12%;
        min-height: 0;
    }
	
	div.pop div.block div.photo{
        overflow: hidden;
		line-height: 0;
		border-radius: 10px;
    }
	
	div.pop div.block div.photo:nth-child(n + 2){
        margin-top: 3.3vw;
    }
	
	div.pop div.block p{
        font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.64)), 1.06vw, 1.6rem);
		font-weight: 700;
		line-height: 2;
		letter-spacing: 0.025em;
    }
	
	div.pop div.block div.photo + p {
		margin-top: 4vw;
	}
	
	div.pop div.block p + p {
		margin-top: 1.5em;
	}
	
	div.pop div.block div.info_box {
		margin-top: 3.6vw;
	}
	
	div.pop div.block div.info_box h5{
		font-family: "Lato", "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: 2.1rem;
		font-size: clamp(calc((2.1rem * 0.64)), 1.4vw, 2.1rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.37em;
		transform: scale(1, 0.7);
		margin-bottom: 0.25em;
	}
	
	div.pop div.block div.info_box h5:nth-child(n + 2){
		margin-top: 2em;
	}
	
	div.pop div.block div.info_box p {
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.64)), 0.933vw, 1.4rem);
		font-weight: 700;
		line-height: 1.4;
	}
	
	div.pop div.block div.info_box p + p {
		margin-top: 0.2em;
	}
	
	div.pop div.block div.info_box p span{
		display: inline-block;
		position: relative;
		padding-left: 4em;
	}
	
	div.pop div.block div.info_box p span::before{
		content: "";
		width: 2em;
		height: 1px;
		display: inline-block;
		background: #3e3a39;
		position: absolute;
		left: 1em;
		top: 50%;
	}
	
	div.pop div.pop_inner a.more {
		width: 28.5%;
		height: 2.66vw;
		height: 2.66cqw;
		max-height: 40px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 2.66vw auto;
		font-size: 1.3rem;
		font-size: clamp(calc((1.3rem * 0.64)), 0.866vw, 1.3rem);
		font-weight: 700;
		color: #000;
		background: #FFF;
		border: 1px solid #000;
		text-align: center;
		position: relative;
	}
	
	div.pop div.pop_inner a.more span {
		width: 14.8%;
		display: inline-block;
		line-height: 0;
		position: absolute;
		top: 12.5%;
		left: 2.5%;
		z-index: 3;
	}
	
	div.pop div.pop_inner a.more::after {
		content: "";
		width: 4.93vw;
		width: 4.93cqw;
		max-width: 74px;
		height: 2.13vw;
		height: 2.13cqw;
		max-height: 32px;
		background: url("../images/work/arrow_more.svg") no-repeat;
		background-size: contain;
		position: absolute;
		top: -23%;
		right: -22%;
		z-index: 5;
	}
	
	div.pop div.pop_inner div.close_btn {
		cursor: pointer;
		width: 5.2%;
		max-width: 54px;
		line-height: 0;
		position: absolute;
		top: 28px;
		top: 2vw;
		right: 2.6%;
		z-index: 99;
	}
	
	div.pop div.pop_inner div.close_btn02 {
		display: none;
	}
	
}

@media screen and (min-width:961px) and (max-width: 1500px){

}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	
	section#work  {
		padding-bottom: 12vw;
	}
	
	section#work div.section_inner {
		width: 90%;
		margin: 0 auto;
	}
	
	section#work div.section_inner h2,
	section#case h2{
		text-align: center;
		margin-bottom: 1em;
	}
	
	section#work div.section_inner p,
	section#case p{
		font-size: calc(2.4rem * 0.48);
		font-size: clamp(calc((2.4rem * 0.48)), 3.2vw, calc(2.4rem * 1.28));
		font-weight: 700;
		line-height: 2.2;
		letter-spacing: -0.025em;
		text-align: center;
	}
	
	section#work div.section_inner figure {
		width: 94vw;
		width: 94cqw;
		line-height: 0;
		margin-top: 8vw;
		margin-left: -2vw;
		margin-left: -2cqw;
	}
	
	
	section#case {
		padding: 12vw 0;
		background: url("../images/common/bg_blue.jpg") repeat;
		background-size: 250px 2100px;
	}
	
	section#case .swiper {
		margin-top: 8.6vw;
	}
	
	section#case div.section_inner {
		width: 87%;
		margin: 9.7vw auto 0;
		position: relative;
	}
	
	section#case div.section_inner div.case_box{
		width: 82%;
		margin: 0 auto;
		overflow: hidden;
		border-radius: 2vw;
		line-height: 0;
		position: relative;
	}
	
	section#case div.section_inner div.case_box + div.case_box{
		margin-top: 6.6vw;
	}
	
	section#case div.section_inner div.case_box div.hover{
		width: 100%;
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0,0,0,.6);
		transition-duration: 0.5s;
		transition-property: opacity;
		opacity: 0;
	}
	
	section#case div.section_inner div.case_box a:hover div.hover{
		opacity: 1;
	}
	
	section#case div.section_inner div.case_box div.hover div.text ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
		gap: 7.6%;
	}
	
	section#case div.section_inner div.case_box div.hover div.text ul li{
		width: auto;
		height: 13.33vw;
		height: 13.33cqw;
		max-height: 80px;
	}
	
	section#case div.section_inner div.case_box div.hover div.text ul li img{
		width: auto;
		height: 100%;
	}
	
	section#case div.section_inner div.case_box div.hover div.text {
		width: 100%;
	}
	
	section#case div.section_inner div.case_box div.hover div.text p{
		font-size: calc(2.3rem * 0.48);
		font-size: clamp(calc((2.3rem * 0.48)), 3.06vw, calc(2.3rem * 1.28));
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.025em;
		text-align: center;
		color: #FFF;
		margin-top: 1.25em;
	}
	
	div.pop {
		width: 100vw;
        height: 100vh;
        left: 0;
        top: 0;
        position: fixed;
        background: rgba(0,0,0,.6);
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.35s;
        z-index: 999999;
	}
	
	div.pop.active {
		opacity: 1;
		pointer-events: auto;
		transition: opacity 0.35s;
    }
	
	div.pop_inner {
		width: 90%;
		max-height: 90vh;
		max-height: 90svh;
		padding: 22.6vw 0 0;
		overflow: hidden;
		border-radius: 2vw;
		background: url(../images/common/bg.jpg) repeat;
		background-size: 250px 2104px;
		position: relative;
		border: 1px solid #000;
	}
	
	div.pop_inner ul.icon {
		width: 100%;
		padding: 0 8.8%;
		position: absolute;
		top: 5vw;
		left: 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 2.4%;
		z-index: 5;
	}
	
	div.pop_inner ul.icon li{
		width: auto;
		height: 13.33vw;
		height: 13.33cqw;
	}
	
	div.pop_inner ul.icon li img{
		width: auto;
		height: 100%;
	}
	
	div.pop_inner p.period {
		display: none;
	}
	
	div.pop_inner h3 {
		font-size: calc(3.0rem * 0.48);
		font-size: clamp(calc((3.0rem * 0.48)), 4vw, calc(3.0rem * 1.28));
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0.025em;
		text-align: center;
		margin-bottom: 1em;
	}
	
	div.pop .pop_scroll {

    }
	
	div.pop .scroll__inner {
        overflow: hidden;
		height: 50vh;
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
		margin-bottom: 21vw;
    }
	
	div.pop div.block {
        overflow-y: auto;
        padding: 0 8.8%;
        min-height: 0;
    }
	
	div.pop div.block div.photo{
        overflow: hidden;
		line-height: 0;
		border-radius: 2vw;
    }
	
	div.pop div.block div.photo:nth-child(n + 2){
        margin-top: 3.3vw;
    }
	
	div.pop div.block p{
        font-size: calc(2.5rem * 0.48);
		font-size: clamp(calc((2.5rem * 0.48)), 3.33vw, calc(2.5rem * 1.28));
		font-weight: 700;
		line-height: 1.8;
		letter-spacing: 0.025em;
    }
	
	div.pop div.block div.photo + p {
		margin-top: 4vw;
	}
	
	div.pop div.block p + p {
		margin-top: 1.5em;
	}
	
	div.pop div.block div.info_box {
		margin-top: 8vw;
	}
	
	div.pop div.block div.info_box h5{
		font-family: "Lato", "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: calc(3.1rem * 0.48);
		font-size: clamp(calc((3.1rem * 0.48)), 4.13vw, calc(3.1rem * 1.28));
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.37em;
		transform: scale(1, 0.7);
		margin-bottom: 0.25em;
	}
	
	div.pop div.block div.info_box h5:nth-child(n + 2){
		margin-top: 1.5em;
	}
	
	div.pop div.block div.info_box p {
		font-size: calc(2.4rem * 0.48);
		font-size: clamp(calc((2.4rem * 0.48)), 3.2vw, calc(2.4rem * 1.28));
		font-weight: 700;
		line-height: 1.4;
		text-align: left;
	}
	
	div.pop div.block div.info_box p + p {
		margin-top: 0.2em;
	}
	
	div.pop div.block div.info_box p span{
		display: inline-block;
		position: relative;
		padding-left: 2em;
	}
	
	div.pop div.block div.info_box p span::before{
		content: "";
		width: 1.5em;
		height: 1px;
		display: inline-block;
		background: #3e3a39;
		position: absolute;
		left: 0.25em;
		top: 50%;
	}
	
	div.pop div.pop_inner a.more {
		width: 60%;
		height: 6.66vw;
		height: 6.66cqw;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 8vw auto;
		font-size: calc(2.3rem * 0.48);
		font-size: clamp(calc((2.3rem * 0.48)), 3.06vw, calc(2.3rem * 1.28));
		font-weight: 700;
		color: #000;
		background: #FFF;
		border: 1px solid #000;
		text-align: center;
		position: relative;
	}
	
	div.pop div.pop_inner a.more span {
		width: 14.8%;
		display: inline-block;
		line-height: 0;
		position: absolute;
		top: 12.5%;
		left: 2.5%;
		z-index: 3;
	}
	
	div.pop div.pop_inner a.more::after {
		content: "";
		width: 14.79vw;
		width: 14.79cqw;
		height: 6.39vw;
		height: 6.39cqw;
		background: url("../images/work/arrow_more.svg") no-repeat;
		background-size: contain;
		position: absolute;
		top: -30%;
		right: -22%;
		z-index: 5;
	}
	
	div.pop div.pop_inner div.close_btn {
		cursor: pointer;
		width: 7%;
		line-height: 0;
		position: absolute;
		top: 6.2vw;
		right: 5%;
		z-index: 99;
	}
	
	div.pop div.pop_inner div.close_btn02 {
		cursor: pointer;
		width: 44%;
		padding: 1em 0;
		font-family: "Lato", "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: calc(2.4rem * 0.48);
		font-size: clamp(calc((2.4rem * 0.48)), 3.2vw, calc(2.4rem * 1.28));
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.37em;
		text-align: center;
		transform: scale(1, 0.7);
		background: #dcdddd;
		border: 1px solid #3e3a39;
		position: absolute;
		bottom: 5.8vw;
		right: 28%;
		z-index: 99;
	}
}