@charset "UTF-8";
*{
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	/*outline: 2px solid red;*/
}

/*--カスタムプロパティ--*/
:root{
	--BaseColor: red;
	--SubColor: #3f9cc1;
	--btnBgColor: #3790b4;
	--Sub02Color: #FCF8EE;
	--TableBgColor: #edfcfe;
	--GrayBgColor: #F3F3F3;
	--linkColor: #4472C4;
}

/*--リンクカラー--*/
a {
	outline: none;
	text-decoration: underline;
	transition: all 0.3s;
	color: var(--linkColor);
}
a:hover {
	text-decoration: none;
	opacity: 0.7;
}
/*a[href^="tel:"] {
 pointer-events: none;
}*/
.btn_bgleft span,
.btn_bgleft div{
	position: relative;
	z-index: 3;
	color:#fff;
}

.btn_bgleft::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: var(--btnBgColor);
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}

.btn_bgleft:hover::before{
	transform-origin:left top;
	transform:scale(1, 1);
}
/*--他共通--*/
img,svg{
	max-width: 100%;
	vertical-align: bottom;
}
ul,ol{
	list-style: none;
}
.wrap_l{
	max-width: 90%;
	margin: 0 auto;
}
.wrap_r{
	max-width: 75%;
	margin: 0 auto;
}
.wrap_s{
	max-width: 65vw;
	margin: 0 auto;
}
.color_red{
	color: #FF0000;
}
.inline_block{
	display: inline-block;
}
.pc_none{
	display: none;
}


body{
	/*font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Godthic Pro W3", sans-serif;*/
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	font-weight: 400;
	font-size: 1.1vw;
	line-height: 1.43;
	color: #000;
}

/*-------------------------------------------
header
--------------------------------------------*/
header{
	width: 100%;
	display: flex;
	justify-content:space-between;
	align-items: center;
}
header a{
	color: #000;
	font-weight: 400;
	text-decoration: none;
}
h1{
	/* padding-left: 2.7vw; */
	/* line-height: 1.23; */
}
/* #home h1{
	padding-left: 0;
	font-size: 1.38vw;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif; */
    /* font-weight: 500;
} */

/* ロゴここから */
.h1_outer{
	padding-left: 2.7vw;
	line-height: 1.23;
	display: flex;
	align-items: center;
	justify-content: center;
	/* ロゴ右側余白 */
	gap: 0.0em;
}
/* ロゴの横幅 */
.header__company-logo img{
	width: 0vw;
}
.header__company-name {
	padding-left: 0;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
.header__company-name p {
	font-size: 0.7em;
    line-height: 1.3;
	font-weight: 400;
}
.header__company-name h1 {
	font-size: 1.38vw;
    line-height: 1.3;
	font-weight: 500;
	letter-spacing: 0.03em;
}
/* ロゴここまで */


header nav.pc_nav ul{
	line-height: 5.0vw;
	display: flex;
}
header nav.pc_nav li a{
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 1.95vw;
	padding-right: 1.95vw;
	font-size: 0.98vw;
}
header nav .hover_b a{
	line-height: 5.0vw;
	display: inline-block;
}
header nav.pc_nav li a:hover{
	opacity: 1;
	position: relative;
}
header nav .hover_b a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: var(--SubColor);
bottom: 0;
transform: scale(0, 1); 
transform-origin: left top; 
transition: transform 0.3s; 
}

header nav .hover_b a:hover::after {
transform: scale(1, 1);
}
.header_contact a{
	display: block;
	background-color: var(--SubColor);
	color: #fff;
	height: 100%;

	position: relative;
	overflow: hidden;
	transition: ease .2s;
}
.header_contact a:hover{
	opacity: 1;
}
.sp_nav{
	display: none;
}

/*-------------------------------------------
contact_area
--------------------------------------------*/
.contact_area{
	background: url("../images/contact_area_bg.jpg") no-repeat;
	background-size: cover;
	background-position: center top;
	padding: 3.5% 0 3.5%;
	color: #fff;
	text-align: center;
	position: relative;
}
.contact_area::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
}
.contact_area_innre{
	font-family: 'Noto Serif JP', serif;
	position: relative;
	z-index: 1;
}
.contact_area_ttl{
	font-size: 2.5vw;
}
.contact_point{
	/*font-family: 'Noto Serif JP', serif;*/
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	font-size: 1.05vw;
	display: flex;
	justify-content: space-around;
	width: 75%;
	margin: 0 auto;
	padding-top: 1.8%;
	padding-bottom: 3.0%;
}
.contact_point li{
	width: 30.0%;
	padding: 1.3% 0;
	border:  1px solid #fff;
	line-height: 1.3;
}
.contact_point li span.font_small{
	font-size: 0.8em;
}
.contact_linkbox{
	display: flex;
	align-items: center;
	background-color: #fff;
	position: relative;
	padding: 1.58vw 0;
}
.contact_linkbox::before{
	content: "";
	display: block;
	width: 1px;
	height: calc(100% - 3.1vw);
	background-color: #707070;
	position: absolute;
	left: 50%;
}
.contact_linkbox a{
	text-decoration: none;
}
.contact_linkbox li{
	width: 50%;
}
.contact_linkbox li:first-of-type a img{
	width: 2.1vw;
	height: auto;
	padding-bottom: 0.76vw;
	padding-right: 0.3vw;
}
.contact_linkbox li:first-of-type a{
	font-size: 3.0vw;
	line-height: 1.25;
	color: #333333;
	/*padding-left: 2.3vw;*/
	/*background: url("../images/icon_tel.svg") no-repeat;
	background-size: 1.8vw 1.8vw;
	background-position: left 1.4vw;*/
}
.contact_linkbox li:first-of-type a span{
	font-size: 0.9vw;
	display: block;
}
.contact_linkbox li:nth-of-type(2) a{
	/*font-family: 'Noto Serif JP', serif;*/
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	font-size: 1.4vw;
	font-weight: 500;
	color: #fff;
	background-color: var(--SubColor);
	width: 78%;
	line-height: 4.1vw;
	margin: 0 auto;
	display: block;

	position: relative;
	overflow: hidden;
	transition: ease .2s;
}
.contact_linkbox li:nth-of-type(2) a:hover{
	opacity: 1;
}
.contact_linkbox li:nth-of-type(2) a div::before{
	font-family: "Font Awesome 5 Free";
	content: '\f0e0';
	color: #fff;
	font-weight: 900;
	font-size: 1.15vw;
	padding-right: 0.6vw;
	position: relative;
	top: 0vw;
}
.contact_linkbox li:nth-of-type(2) a span{
	font-size:0.95vw;
	margin-left: 1.2em;
}
.contact_area_attend{
	padding-top: 0.5em;
	width: 54%;
    margin-left: auto;
    margin-right: auto;
	text-indent: -1em;
	padding-left: 1em;
}
.contact_area_attend p{
	font-size: 0.9em;
	text-align: left;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}

/*-------------------------------------------
footer
--------------------------------------------*/
.footer_inner{
	display: flex;
	padding: 3.5% 0 4.0%;
}
.footer01{
	width: 40%;
}
.footer02{
	width: 30%;
}
.footer03{
	width: 30%;
}
.footer_logo_outer {
	display: flex;
	justify-content: left;
	align-items: center;
	/* ロゴ右側余白 */
	gap: 0.0vw;
}
/* ロゴの横幅 */
.footer__company-logo img{
	width: 0vw;
}
.footer_company_subName {
	font-size: 0.88vw;
	padding-top: 0.8%;
}
.footer_company_name {
	font-size: 1.43vw;
	line-height: 1.3;
	font-weight: 650;
	color: #333333;
}
.footer_name{
	font-size: 0.9vw;
	padding-top: 0.8%;
}
.footer_name:first-of-type{
	padding-top: 3%;
}
.footer_add{
	font-size: 0.95vw;
	padding-top: 3.5%;
}
.footer_add span{
	display: inline-block;
	padding-right: 1.3em;
}
.footer_tel,.footer_contact{
	font-size: 0.95vw;
	padding-top: 1.1%;
}
.footer01 .reception_t{
	font-size: 0.86em;
}
.footer02_ttl,.footer03_ttl{
	font-size: 1.0vw;
	font-weight: 600;
	color: #333333;
	padding-bottom: 0.6vw;
}
.footer02_ul li,.footer03_ul li{
	font-size: 0.95vw;
	line-height: 1.9;
	padding-bottom: 0%;
}
.footer_bottom{
	border-top: 1px solid #b1b1b1;
	padding: 1.2% 0;
}
.footer_bottom a{
	font-size: 0.9vw;
	color: #000;
	text-decoration: none;
}
.footer_nav01,.footer_nav02{
	display: flex;
	justify-content: center;
}
.footer_nav01 li+li::before,
.footer_nav02 li+li::before{
	content: "／";
	padding: 0 3px;
}
.footer_nav02{
	padding-top: 0.4%;
}
.copyright{
	font-size: 0.85vw;
	color: #fff;
	text-align: center;
	background-color: var(--SubColor);
	padding: 0.5% 0;
}

/*== page top==*/

/*リンクの形状*/
#page-top a{
	background-color: var(--SubColor);
	width: 3.2vw;
	height: 3.2vw;
	border: 1px solid #f3f3f3;
	border-radius: 1000px;
	display: flex;
	justify-content:center;
	align-items:center;
	transition:all 0.3s;
}
#page-top a img{
	width: 50%;
}
/*#page-top a:hover{
  background: #7E91AF;
}*/

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 2vw;
	bottom: 3vw;
	z-index: 2;
		/*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/
#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
	from {
		opacity: 0;
	transform: translateY(100px);
	}
	to {
		opacity: 1;
	transform: translateY(0);
	}
}

/*　下に下がる動き　*/
#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
	opacity: 0;
	bottom: 0
}
@keyframes DownAnime{
	from {
		opacity: 1;
	transform: translateY(0);
	}
	to {
		opacity: 1;
	transform: translateY(100px);
	}
}

/*-------------------------------------------
thanks
--------------------------------------------*/

#thanks {
	color: #333333;
	font-family:'メイリオ', 'Meiryo', sans-serif;
  }
  
  #thanks a {
	color: #4472C4;
  }
  
  .thanks_table {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  }
  
  .thanks_head {
  margin-bottom: 0.6em;
  text-align: center;
  font-size: 1.25em;
  font-weight: 600;
  }
  
  .thanks_text {
	text-align: left;
	font-weight: 400;
	font-size: 1em;
	line-height: 2;
  }
  
  .thanks_text:nth-of-type(2) {
	margin-top: 0.7em;
  }

/*-------------------------------------------
レスポンシブ
--------------------------------------------*/
@media screen and (max-width: 959px){
	/*ハンバーガーメニュー*/
	.sp_nav{
		display: block;
	}
	.pc_nav{
		display: none;
	}
	header{
		height: clamp(45px, 10vw, 70px);
		background-color: #fff;
		box-shadow: 0px 1px 3px -1px #ccc;
		position: fixed;
		top: 0;
		z-index: 999999;
	}

/* ロゴここから */
.header__company-name p {
	font-size: 1em;
}
.header__company-name h1 {
	font-size: 1.8em;
}
/* ロゴここまで */

	/*　ハンバーガーメニューボタン　*/
	.hamburger {
		display : block;
		position: fixed;
		z-index : 9999;
		/*right : 20px;
		top   : 20px;*/
		/*top: 1.5%;
		right:1.5%;*/
		top: 0;
		right: 0;
		/*width : 42px;
		height: 42px;*/
		width: clamp(45px, 10vw, 70px);
		height: clamp(45px, 10vw, 70px);
		cursor: pointer;
		text-align: center;
		background-color: var(--SubColor);
	}
	.hamburger span {
		display : block;
		position: absolute;
		width: 55%;
		height: 1.5px;
		left: 50%;
		transform: translateX(-50%);
		background : #fff;
		transition : 0.3s ease-in-out;
	}
	.hamburger span:nth-child(1) {
		top: 13px;
	}
	.hamburger span:nth-child(2) {
		top: 22px;
	}
	.hamburger span:nth-child(3) {
		top: 31px;
	}
/* スマホメニューを開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
		top : 23px;
		left: 50%;
		background :#fff;
		transform : translate(-50%, 0) rotate(-45deg);
	}
	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 23px;
		background :#fff;
		transform : translate(-50%, 0) rotate(45deg);
	}
	/* メニュー背景　*/
	nav.globalMenuSp {
		position: fixed;
		z-index : 999;
		top  : 0;
		left : 0;
		color: #fff;
		background: rgba( 71,70,73,0.95 );
		width: 100%;
		height: 100vh;
		transform: translateX(100%);
		transition: all 0.4s;
	}
	nav.globalMenuSp ul {
		margin: 0 auto;
		padding: 70px 0 0;
		width: 100%;
	}
	nav.globalMenuSp ul li {
		list-style-type: none;
		padding: 0;
		padding-left: 0.3em;
		width: 90%;
		margin: 0 auto;
		border-bottom: 1.5px solid rgba(255,255,255,0.5);
		position: relative;
}
	nav.globalMenuSp ul li::after{
		font-family: "Font Awesome 5 Free";
		content: '\f054';
		color: #fff;
		font-weight: 900;
		font-size: 0.8em;
		position: absolute;
		right: 4%;
		top: 50%;
		transform: translateY(-50%);
	}
	nav.globalMenuSp ul li a {
		display: block;
		color: #fff;
		padding: 1em 0;
		text-decoration :none;
	}
	.sp_nav_contact{
		text-align: center;
		margin-top: 2em;
	}
	.sp_nav_contact a{
		color: #fff;
		font-weight: bold;
		background-color: var(--SubColor);
		display: block;
		width: 70%;
		margin: 10px auto;
		padding: 1.2em;
		position: relative;
	}
	.sp_nav_contact a::after{
		font-family: "Font Awesome 5 Free";
		content: '\f054';
		color: #fff;
		font-weight: 900;
		font-size: 0.8em;
		position: absolute;
		right: 4%;
		top: 50%;
		transform: translateY(-50%);
	}
	/* クリックでjQueryで追加・削除 */
	nav.globalMenuSp.active {
		opacity: 100;
		display: block;
		transform: translateX(0%);
	}
	/*---スマホナビゲーションここまで--*/
	/*--共通--*/
	.wrap_r{
		max-width: 90%;
	}
	.wrap_s{
		max-width: 90%;
	}
	.header__company-logo img {
		width: 4vw;
	}
	.mv {
		margin-top: clamp(45px, 10vw, 70px);
		display: flex;
		align-items: center;
}
	.mv_img img {
		max-height: 258px;
	}
}

@media screen and (max-width: 767px){
/*共通*/
	html {
		font-size: 62.5%;
	}
	body{
		font-size:max(1.1vw,1.5rem);
		color: #333;
	}
	h1{
		line-height: 1.2;
	}
	#home h1{
		padding-bottom: 0;
		font-size: 1.7rem;
		letter-spacing: 0.05em;
	}
	.sp_none{
		display: none;
	}
	.pc_none{
		display: block;
	}
	/* ロゴの横幅 */
	.header__company-logo img{
		width: 0vw;
	}
	.header__company-name h1 {
		padding-bottom: 0;
		font-size: 1.7rem;
		letter-spacing: 0.05em;
	}
	.header__company-name p {
		font-size: 0.65em;
	}
/*--contact_area--*/
	.contact_area{
		background: url("../images/contact_area_bg_sp.jpg") no-repeat;
		background-size: cover;
		background-position: center top;
		padding: 9% 0 9%;
		/*color: #fff;*/
		text-align: center;
		/*position: relative;*/
	}
	/*.contact_area::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(10,30,0,0.5);
	}*/
	/*.contact_area_innre{
		font-family: 'Noto Serif JP', serif;
		position: relative;
		z-index: 1;
	}*/
	.contact_area_ttl{
		font-size: 2.5rem;
		font-weight: 600;
		line-height: 1.2;
	}
	.contact_point{
		font-size: 1.15rem;
		/*display: flex;*/
		justify-content: space-between;
		width: 100%;
		/*margin: 0 auto;*/
		padding: 4% 0;
		font-weight: 500;
	}
	.contact_point li{
		width: 31.5%;
		padding: 1.3% 1%;
		border: 1px solid #fff;
	}
	.contact_point li span.font_small{
		font-size: 0.8em;
	}
	.contact_linkbox{
		/*display: flex;*/
		/*align-items: center;*/
		flex-wrap: wrap;
		/*position: relative;*/
		padding: 6%;
	}
	.contact_linkbox::before{
		/*content: "";*/
		display: none;
		/*width: 1px;
		height: calc(100% - 3.1vw);
		background-color: #707070;
		position: absolute;
		left: 50%;*/
	}
/*.contact_linkbox a{
	text-decoration: none;
}*/
	.contact_linkbox li{
		width: 100%;
		background-color: #fff;
	}
	.contact_linkbox li:first-of-type{
		border: 1px solid #ccc;
		margin-bottom: 4%;
	}
	.contact_linkbox li:first-of-type a img{
		width: 3rem;
		padding-right: 2%;
	}
	.contact_linkbox li:first-of-type a{
		white-space: nowrap;
		display: inline-block;
		width: 100%;
		font-size: 3.2rem;
		line-height: 1.15;
		/*color: #333333;*/
		padding: 4.5% 0;
		/*padding-left: 12%;*/
		/*background: url("../images/icon_tel.svg") no-repeat;*/
		/*background-size: 3.0rem auto;
		background-position: 12% 45%;*/
	}
	.contact_linkbox li:first-of-type a span{
		font-size: 0.375em;
		padding-top: 1%;
		/*display: block;*/
	}
	.contact_linkbox li:nth-of-type(2) a{
		font-size: 2.0rem;
		/*font-weight: 500;
		color: #fff;
		background-color: var(--SubColor);*/
		width: 100%;
		padding: 8% 0;
		/*line-height: 4.1vw;*/
		/*margin: 0 auto;
		display: block;*/
	}
	.contact_linkbox li:nth-of-type(2) a div::before{
		/*font-family: "Font Awesome 5 Free";
		content: '\f0e0';
		color: #fff;
		font-weight: 900;*/
		font-size: 1em;
		padding-right: 4%;
		/*position: relative;
		top: 0vw;*/
	}
	.contact_linkbox li:nth-of-type(2) a span{
		font-size:0.6em;
		margin-left: 0.7em;
	}
	.contact_area_attend {
    width: 100%;
	}

	/*== page top==*/

/*リンクの形状*/
#page-top a{
	width: 3.2rem;
	height: 3.2rem;
}

/*リンクを右下に固定*/
#page-top {
	bottom: 4%;
}

/*-------------------------------------------
thanks
--------------------------------------------*/

.thanks_table {
	width: 90vw;
  }
  
  .thanks_head {
	margin-bottom: 0.5em;
	text-align: center;
	font-size: 1.25em;
	font-weight: 700;
	}
  
  .thanks_text {
	font-size: 1em;
  }
  
  .thanks_text:nth-of-type(2) {
	margin-top: 2vw;
  }
	
}
