/*
Theme Name: invesgram
Theme URI: 
Author: 
Author URI: 
Description: 
Version: 1.0
License: 
License URI: 
Tags: 
Text Domain: 
*/
@charset "UTF-8";
/*------------------------------------------------------------------
********************************************************************
 * ▼構成
 * ・ベースとなるCSS
 * ・スマホ用（@media screen and (max-width: 767px) {} ）
 * 
 * リセットCSS      css / destyle.min.css
 * モジュール系CSS  css / default.css
 * ページ共通CSS    style.css
 * 各ページCSS      css / (top.css, business.css, message.css,,,)
********************************************************************
--------------------------------------------------------------------*/


:root {
	--color-black-1: #000;
	--color-blue-1: #154A8F;
}


/*--------------------------------------------------
**************************************************
  基本
**************************************************
--------------------------------------------------*/
html {
	scroll-behavior: smooth; /* スムーススクロール */
	font-size: 62.5%; /* ブラウザ標準16pxの62.5% → 1rem = 10px */
}

@media (max-width: 750px) {
	html {
		font-size: 2.6vw;
	}
}

body {
	margin: 0px;
	padding: 0px;
	background: none repeat scroll 0% 0%;
	background-attachment: scroll;
	font-family: "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.6;
	letter-spacing: 0.8px;
	font-size: 1.2rem;
	font-weight: 400;
	color: var(--color-black-1);
}


img{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;
}



/*--------------------------------------------------
**************************************************
  テキスト / font
**************************************************
--------------------------------------------------*/
.antonio {
	font-family: "Antonio", sans-serif;
}



/*--------------------------------------------------
**************************************************
  リンク系
**************************************************
--------------------------------------------------*/
a {
	text-decoration: none;
	color: var(--color-black-1);
	transition: all 1s ease;
}

a[href^="tel:"] {
	pointer-events: none;
	color: var(--color-black-1);
}

a:hover {
	color: var(--color-black-1);
}

a img{
	/* display: block; */
	transition: 0.5s;
}

a img:hover {
	opacity: 0.7;
	transition: 0.5s;
}

/* SP */
@media screen and (max-width: 767px) {
	
	a[href^="tel:"] {
		pointer-events: auto;
	}
	
}/* End SP */


/* -- リンクボタン01 -- */
.link_btn01 {
	width:240px;
	margin-left:auto;
	margin-right:auto;
}
.link_btn01 a {
	display:block;
	background:#154A8F;
	padding:10px 0;
	font-size:1rem;
	font-weight:900;
	text-align:center;
	color:#FFF;
	border-radius:20px;
}

@media (max-width: 750px) {
	.link_btn01 {
		width:64%;
	}
	.link_btn01 a {
		padding:1rem 0;
		border-radius:30px;
	}
}

/* -- リンクボタン02 -- */
.link_btn02 {
	text-align:center;
}
.link_btn02 a {
	display:inline-block;
	background:#154A8F;
	padding:10px 25px;
	font-size:1rem;
	font-weight:900;
	text-align:center;
	color:#FFF;
	border-radius:20px;
}
@media (max-width: 750px) {
	.link_btn02 a {
		padding:1rem 2.5rem;
		border-radius:30px;
	}
}

/* -- テキストリンク -- */
a.text_link01 {
	display:block;
	text-align:center;
	font-size:1.2rem;
	font-weight:900;
	color:var(--color-blue-1);
}


/*--------------------------------------------------
**************************************************
  ヘッダー
**************************************************
--------------------------------------------------*/
header {
	position: fixed;
	top: 0;
	right:10vw;
	z-index: 100;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 375px;
	height: 55px;
	background: #fff;
	padding:0 25px 0 15px;
}
.menu_btn {
	cursor: pointer;
	position: relative;
	width: 38px;
	height: 23px;
	background: none;
	border: none;
}

.menu_btn .bar {
	position: relative;
	display: block;
	width: 100%;
	height: 7px;
	background: var(--color-black-1);
	transition: all 0.3s ease;
}

.menu_btn .bar:nth-child(2) {
	position: absolute;
	left: 0;
	bottom: 0;
}

/* 開いた時 */
.menu_btn.open .bar:nth-child(1) {
	transform: rotate(45deg);
	position: absolute;
	top: 8px;
}
.menu_btn.open .bar:nth-child(2) {
	transform: rotate(-45deg);
	position: absolute;
	top: 8px;
}


/*--------------------------------------------------
**************************************************
  グローバルナビゲーション
**************************************************
--------------------------------------------------*/
/* 背景スクロール禁止 */
.main_container.no_scroll{
	height:100vh;
	overflow:hidden;
}
.header_nav_box {
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	position: absolute;
	top: 55px;
	left: 0;
	z-index: -1;
	display: block;
	width: 100%;
	height: calc(100vh - 55px);
	padding:0 0 15vh;
	background: #FFF;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior:contain;
	
	/* スクロールバー非表示 */
	scrollbar-width: none;      /* Firefox */
	-ms-overflow-style: none;   /* IE, Edge */
}
/* Chrome / Safari */
.header_nav_box::-webkit-scrollbar {
	display: none;
}
.header_nav_box.open {
	opacity: 1;
	visibility: visible;
	z-index: 10;
}

.nav_list {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	border-top:1px solid #d9d9d9;
}
.nav_list li{
	display:flex;
}
.nav_list li a {
	width:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center;
	padding:15px 0;
	font-size:0.9rem;
	border-bottom:1px solid #d9d9d9;
	color:#9d9d9d;
	letter-spacing:0;
}
.nav_list li:nth-child(2n) a {
	border-left:1px solid #d9d9d9;
}
.nav_list li a span {
	display:block;
	font-family:"Antonio";
	font-size:1.4rem;
	letter-spacing:.25em;
	color:#333;
	margin-bottom:5px;
}

.nav_contact li a {
	display:block;
	padding:15px 25px;
	text-align:center;
	border-bottom:1px solid #d9d9d9;
	color:#9d9d9d;
}
.nav_contact li a span {
	font-family:"Antonio";
	font-size:1.8rem;
	letter-spacing:.25em;
	color:#333;
}
.nav_sns {
	margin:20px 0 0;
	display:flex;
	justify-content:center;
	gap:15px;
}

@media (max-width: 750px) {
	.nav_list li a {
		padding:1.5rem 0;
	}
	.nav_contact li a {
		padding:1.5rem 2.5rem;
	}
	.nav_sns {
		margin:2rem 0 0;
		gap:1.5rem;
	}
}




/*--------------------------------------------------
**************************************************
  メインコンテンツ
**************************************************
--------------------------------------------------*/
.pc_main {
	width:100%;
	height:100%;
	position:fixed;
	top:;0;
	left:0;
	background:url(imgs/common/main_bg.jpg) no-repeat center / cover;
}

.main_container {
	width:100%;
	max-width:375px;
	min-height:100vw;
	position:relative;
	z-index:10;
	background-color: #fff;
    /* box-shadow: 0 0 56px rgba(121, 117, 132, 1); */
	margin-right:10vw;
	margin-left:auto;
	overflow:hidden;
}
main {
	padding-top:55px;
}

section h2 {
	text-align:center;
	font-size:1.2rem;
	font-weight:900;
}
section h2 span {
	font-family:"Antonio";
	display:block;
	font-size:2.4rem;
	letter-spacing:.5em;
	font-weight:400;
}

@media (max-width: 750px) {
	
}


/*--------------------------------------------------
**************************************************
  コンテンツ位置調整
**************************************************
--------------------------------------------------*/
@media screen and (min-width:751px) and ( max-width:1200px) {
	header {
		right:0;
	}
	.main_container {
		width:100%;
		margin-right:0;
		margin-left:auto;
	}
}
@media screen and (max-width:750px) {
	header {
		right:0;
		width: 100%;
	}
	.main_container {
		width:100%;
		max-width:100%;
		min-height:100vw;
		position:relative;
		z-index:10;
		background-color: #fff;
	    box-shadow: none;
		margin-right:0;
		margin-left:0;
	}
	.pc_main {
		background:none;
		display:none;
	}
}


/*--------------------------------------------------
**************************************************
  OWNERS SALON
**************************************************
--------------------------------------------------*/
.os_content {
	width:92%;
	margin:0 auto;
	aspect-ratio:345 / 236;
	background:url(imgs/top/salon_bg.jpg) no-repeat center / cover;
	border-radius:8px;
	padding:20px;
	color:#FFF;
	display:flex;
	justify-content:space-between;
	flex-direction:column;
	position:relative;
}
.os_content a {
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
}
.os_content h3 {
	text-align:center;
	font-family:"Antonio";
	letter-spacing:0.5em;
	font-size:1.8rem;
	font-weight:400;
}
.os_content h3 + p {
	margin-top:auto;
	font-size:1.2rem;
	font-weight:900;
}
.os_content h3 + p + p {
	margin-top:5px;
	font-size:1rem;
	line-height:2;
}

@media (max-width: 750px) {
	.os_content {
		border-radius:0.8rem;
		padding:2rem;
	}
	.os_content h3 + p + p {
		margin-top:0.5rem;
	}
}


/*--------------------------------------------------
**************************************************
  INCOME / REQUEST
**************************************************
--------------------------------------------------*/
.common_cta_title {
	text-align:center;
	font-size:1.2rem !important;
	font-weight:900;
}
.common_cta_title span {
	font-family:"Antonio";
	display:block;
	font-size:2.4rem;
	letter-spacing:.5em;
	font-weight:400;
}
.common_income .image {
	width:92%;
	margin:20px auto 0;
}
.common_income p {
	width:76%;
	margin:30px auto 0;
	font-size:1rem;
	line-height:2;
	letter-spacing:0.02em;
}
@media (max-width: 750px) {
	.common_income .image {
		margin:2rem auto 0;
	}
	.common_income p {
		margin:3rem auto 0;
	}
}

.common_request {
	padding:30px;
	background:#E2E2E2;
}
.common_request .image {
	text-align:center;
	margin-top:20px;
}

@media (max-width: 750px) {
	.common_request {
		padding:3rem;
	}
	.common_request .image {
		margin-top:2rem;
	}
}


/*--------------------------------------------------
**************************************************
  GALLERY
**************************************************
--------------------------------------------------*/
#gallery p {
	text-align:center;
	font-size:1.2rem;
	font-weight:900;
}
#gallery p span {
	font-family:"Antonio";
	display:block;
	font-size:2.4rem;
	letter-spacing:.5em;
	font-weight:400;
}

#gallery ul {
	margin-top:20px;
	display:flex;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	background: linear-gradient(
		to right,
		#000 0,
		#000 calc(100% / 3),
		#626262 calc(100% / 3),
		#626262 calc(100% / 3 * 2),
		#000 calc(100% / 3 * 2),
		#000 100%
	);
}
#gallery ul li {
	width:100%;
	aspect-ratio: 1 / 1;
	/* background:#000; */
}
/* ----
#gallery ul li:nth-child(2n) {
	background:#626262;
}
---- */

@media (max-width: 750px) {
}


/*--------------------------------------------------
**************************************************
  フッター
**************************************************
--------------------------------------------------*/
footer {
	background:#333;
	padding:50px 0 0;
}
.f_logo_sns {
	padding:0 10px;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.f_logo_sns .f_logo {
	width:103px;
}
.f_logo_sns ul.sns {
	width:calc(100% - 118px);
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding-top:2px;
}
.f_logo_sns ul.sns li a {
	font-size:1rem;
	color:#FFF;
}
.f_logo_sns ul.sns li a {
	background:url(imgs/common/f_icon_x.png) no-repeat left center / 1.4rem;
	padding-left:1.8rem;
}
.f_logo_sns ul.sns li:nth-child(2) a {
	background:url(imgs/common/f_icon_instagram.png) no-repeat left center / 1.4rem;
	padding-left:1.8rem;
}
.f_logo_sns ul.sns li:nth-child(3) a {
	background:url(imgs/common/f_icon_tiktok.png) no-repeat left center / 1.4rem;
	padding-left:1.8rem;
}
.f_logo_sns ul.sns li:nth-child(4) a {
	background:url(imgs/common/f_icon_youtube.png) no-repeat left center / 1.4rem;
	padding-left:1.8rem;
}
.f_address {
	margin-top:30px;
	padding:0 10px;
	font-size:1rem;
	line-height:1.4;
	font-weight:300;
	color:#FFF;
}
.f_navi {
	margin-top:30px;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	border-top:1px solid #444;
}
.f_navi li {
	width:calc(100% / 3);
	text-align:center;
	border-bottom:1px solid #444;
}
.f_navi li:not(:nth-child(3n)) {
	border-right:1px solid #444;
}
.f_navi li a {
	padding:12px 0;
	display:block;
	font-size:1rem;
	color:#888;
}
.f_navi li a:hover {
	color:#dbbf4b;
}
.f_common_navi {
	margin-top:15px;
	display:flex;
	justify-content:center;
}
.f_common_navi li a {
	color:#FFF;
	font-size:1rem;
	font-weight:300;
	padding:0 5px;
	letter-spacing:0em;
	line-height:1em;
	display:block;
}
.f_common_navi li:not(:last-child) a {
	border-right:1px solid #FFF;
}
.f_common_navi li a:hover {
	color:#dbbf4b;
}
.footer_image {
	margin-top:30px;
	width:100%;
	position:relative;
	aspect-ratio:375 / 503;
	background:url(imgs/common/footer_bg.jpg) left top / cover;
}
.footer_image p {
	position:absolute;
	top:40px;
	right:50px;
	color:#FFF;
	font-size:1rem;
	font-weight:900;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing:.15em;
}
.footer_image p + p {
	right:88px;
}
#copyright {
	display:block;
	padding:30px 0;
	text-align:center;
	color:#FFF;
	font-size:1rem;
	font-weight:300;
}

@media (max-width: 750px) {
	footer {
		padding:5rem 0 0;
	}
	.f_logo_sns {
		padding:0 1rem;
	}
	.f_logo_sns .f_logo {
		width:10.3rem;
	}
	.f_logo_sns .f_logo img {
		width:100%;
	}
	.f_logo_sns ul.sns {
		width:calc(100% - 11.8rem);
		display:flex;
		justify-content:space-between;
		align-items:center;
		padding-top:2px;
	}
	.f_address {
		margin-top:3rem;
		padding:0 1rem;
	}
	.f_navi {
		margin-top:3rem;
	}
	.f_navi li a {
		padding:1.2rem 0;
	}
	.f_common_navi {
		margin-top:1.5rem;
	}
	.footer_image p {
		top:10vw;
		right:13vw;
		font-size:1rem;
	}
	.footer_image p + p {
		right:23vw;
	}
}


