@charset "utf-8";
@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;400;700&display=swap);

/* Font
*****************************************************************/


body {
	font-family:"游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: 500;
	line-height: 2.4em;
	letter-spacing: 0.1em;
	text-align: center;
}


html { font-size: 62.5%; }
body { font-size: 14.5px; font-size: 1.45rem; color: #000;}


/* Font */
.gf {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
}

.gf_b {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
}

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

a:hover {
	color: #666;
}

a img {
	transition: .4s ;
}

a img:hover {
	opacity: .5 ;
}

p.btn_lnk {
	margin: 30px auto;
}

p.btn_lnk a {
	color: #000;
	position: relative;
	width: 200px;
	background-color: #8aecef;
	display: inline-block;
	padding: 6px;
	border-radius: 30px;
	transition: .4s;
}

p.btn_lnk a span::after {
	color: #000;
	content: "";
	position: absolute;
	top: 42%;
	right: 20px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
}

p.btn_lnk a:hover {
	color: #8aecef;
	background-color: #fff;
	box-shadow: 0 0 0 1px #8aecef;
	opacity: 1;
}

p.btn_lnk a:hover span::after {
	border-top: 1px solid #8aecef;
	border-right: 1px solid #8aecef;
}

/* Common
*****************************************************************/

.clear { clear:both; }
.right { float:right; }
.left { float:left; }
.clearfix:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
.clearfix { display: inline-table;  overflow:hidden; }
.clear { clear:both; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }

::selection { background: #999; }
::-moz-selection { background: #999; }


/* Contents
*****************************************************************/

/* header */

nav {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100vw;
	background-image: linear-gradient( -45deg,  rgba(255,220,163,1) 21.2%, rgba(129,255,239,1) 90.7% );	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: all .5s;
	z-index: 9;
	display: none;
}

.open nav {
	display: block;
}

nav .inner ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

nav .inner ul li {
	position: relative;
	margin-top: 15px;
}

nav .inner ul li:first-child {
	margin: 60px auto;
}

nav .inner ul li a {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	transition-duration: 0.2s;
}


nav .inner ul li a i {
	margin-right: 5px;
}

nav .inner ul li a:hover {
	color: #006994;
}

nav .inner p.copyright {
	text-align: center;
	color: #fff;
	font-size: 12px;
	margin-top: 60px;
}

.toggle_btn {
	display: block;
	position: fixed;
	top: 30px;
	right: 30px;
	width: 30px;
	height: 30px;
	transition: all .5s;
	cursor: pointer;
	z-index: 10;
}

.toggle_btn span {
	display: block;
	position: absolute;
	left: 0;
	width: 30px;
	height: 2px;
	background-color: #000;
	border-radius: 4px;
	transition: all .5s;
}

.toggle_btn span:nth-child(1) { top: 4px; }
.toggle_btn span:nth-child(2) { top: 14px; }
.toggle_btn span:nth-child(3) { bottom: 4px; }
.open .toggle_btn span { background-color: #fff; }
.open .toggle_btn span:nth-child(1) {
	-webkit-transform: translateY(10px) rotate(-315deg);
	transform: translateY(10px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
	opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
	-webkit-transform: translateY(-10px) rotate(315deg);
	transform: translateY(-10px) rotate(315deg);
}

/* basic */

.wrapper, .inner {
	width: 750px;
	margin: 0 auto;
}

/* top bg */

.topBg {
	position: relative;
}

.topBg .copy {
	width: 100vw;
	position: absolute;
	z-index: +1;
	top: 30vh;
	left: auto;
	right: auto;
}

.topBg .copy p {
	margin-top: 60px;
}

.top-cont {
	margin: 120px auto;
}

.top-cont h2.title {
	text-align: center;
	margin: 30px auto;
}

.top-cont h2.title span {
	display: block;
}

.top-cont ul.item_lst {
	width: 100%;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: left;
	line-height: 1.8em;
}

.top-cont ul.item_lst li {
	box-sizing: border-box;
	width: 33.33333%;
}

.top-cont ul.item_lst li img {
	margin-bottom: 1em;
}

/* about */

.top-cont ul.about_ico {
	width: 100%;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: left;
	line-height: 1.8em;
}

.top-cont ul.about_ico li {
	box-sizing: border-box;
	width: 33.33333%;
	margin-bottom: 60px;
}

.top-cont ul.about_ico li img {
	margin-bottom: 1em;
}

/* studio */

.studio {
	height: 450px;
	background-color: #ffd401;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.studio .inner {
	position: relative;
}

.studio img.p01, .studio img.p02, .studio img.p03, .studio img.logo01 {
	position: absolute;
}

.studio img.p01 {
	top: -40px;
	left: -200px;
}

.studio img.p02 {
	z-index: +2;
	top: 40px;
	right: 90px;
}

.studio img.p03 {
	top: 240px;
	right: -20px;
}

.studio img.logo01 {
	z-index: +3;
	top: 120px;
	left: 30px;
}

.studio p.txt01 {
	background-color: rgba(255,255,255,.8);
	position: absolute;
	z-index: +1;
	top: 220px;
	left: 0;
	padding: 10px 20px;
	text-align: left;
	line-height: 2em;
}

/* access */

.access {
	min-height: 450px;
	background-color: #8aecef;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	text-align: left;
	padding: 40px;
}

.access h2 {
	text-align: right;
	margin: 20px 50px 30px 0;
}

.access .info {
	float: left;
}

.access .company {
	font-size: 20px;
	font-weight: bold;
	border-bottom: 1px solid #000;
	padding-right: 15px;
	display: inline-block;
}

.access .company span {
	font-size: 12px;
	margin-left: 10px;
}

.access .address {
	line-height: 1.6em;
	margin: 30px 0 15px;
	padding-left: 1em;
}

.access .address i {
	margin: 0 .3em 0 -1em;
}

.access .tel {
	font-size: 20px;
	margin-bottom: 10px;
}

.access .tel i {
	font-size: 12px;
	margin-right: .3em;
	vertical-align: middle;
}

.access .date i {
	margin-right: .3em;
}

.gmap {
	float: right;
	width: 370px;
	height: 250px;
}

.insta .snapwidget-widget {
	margin-top: 30px;
}


footer {
	width: 100vw;
	background: #fff url(../../img/footer_image.png) no-repeat center center;
	background-size: cover;
	margin: 0;
	padding: 40px;
}

footer h2 {
	text-align: center;
}

.pc {
	display: inline-block;
}

.sp {
	display: none;
}

@media screen and (max-width: 751px) {

.pc {
	display: none;
}

.sp {
	display: inline-block;
}

	.toggle_btn {
		top: 12px;
		right: 3%;
	}

	.wrapper, .inner {
		width: 94%;
		margin: 0 3%;
	}

	.copy p img {
		width: 80%;
		height: auto;
	}

	.top-cont ul.item_lst {
		display: block;
		align-items: center;
	}

	.top-cont ul.item_lst li {
		width: 100%;
		margin-bottom: 30px;
	}

	.top-cont ul.item_lst li img {
		width: 100%;
		height: auto;
	}

	/* about */

	.top-cont ul.about_ico {
		display: block;
		align-items: center;
	}

	.top-cont ul.about_ico li {
		box-sizing: border-box;
		width: 100%;
		margin-bottom: 60px;
	}

	.top-cont ul.about_ico li img {
		width: 50%;
		height: auto;
	}

	/* studio */

	.studio {
		overflow-x: hidden;
		min-height: 300px;
		height: auto;
	}

	.studio .inner {
		position: relative;
	}

	.studio img.p01, .studio img.p02, .studio img.p03, .studio img.logo01 {
		position: relative;
	}

	.studio img.p01 {
		top: -40px;
		left: -3.5%;
		float: left;
		width: 60%;
		height: auto;
	}

	.studio img.p02 {
		z-index: +1;
		top: 50px;
		right: 0;
		width: 30%;
		height: auto;
	}

	.studio img.p03 {
		top: 50px;
		right: -10%;
		width: 30%;
		height: auto;
	}

	.studio img.logo01 {
		position: absolute;
		top: 0;
		left: auto;
		right: 0;
		width: 60%;
		height: auto;
	}

	.studio p.txt01 {
		position: absolute;
		width: 100%;
		z-index: +1;
		top: 90px;
		left: auto;
		right: auto;
	}

	/* access */

	.access {
		text-align: left;
		padding: 0;
	}

	.access h2 {
		text-align: center;
		margin: 20px auto 30px;
	}

	.access .info {
		width: 100%;
		float: none;
		margin: auto;
	}

	.access .company {
		width: 100%;
		padding-right: 0;
	}

	.gmap {
		float: none;
		width: 100%;
		height: 250px;
		margin: 30px auto;
	}

}

div.topImage div {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 100vh;
	margin: 0;
	text-decoration: none;
}
.topImage div.img01 {  background-image: url(../../assets/img/top_image_01s2.jpg); }
.topImage div.img02 {  background-image: url(../../assets/img/top_image_02s2.jpg); }
.topImage div.img03 {  background-image: url(../../assets/img/top_image_03s2.jpg); }
.topImage .slick-dots { bottom: 10%; z-index: +1; }
.slick-dotted.slick-slider { margin-bottom: 0!important; }
.brand_lnk { position: absolute; bottom: 0; }

/* SP画像差し替え（ローカル化） */
@media screen and (max-width: 1100px) {}
@media screen and (max-width: 899px) {
	.topImage div.img01 { background-image: url(../../assets/img/s01_sp.jpg); }
}
@media screen and (max-width: 736px) {
	.firstView div.topImage div { top: 0; }
	.brand_lnk { display: none; }
}

p.banner img {
	border: 1px solid #ccc;
}