@charset "utf-8";
/* 目次 */
/* header・nav */
/* 電話ボタンだけ反転 */
/* article */
/* section */
/* ファーストビュー・見出し画像 */
/* メインコンテンツ */
/* お問い合わせ・会社概要 */
/* フッター */
/* アコーディオンメニュー・ボタン */

/* アンカーリンク調整 */

.anchor {
	display: block;
    padding-top: 20px!important;
    margin-top: -20px!important;
	
}

.animate_firstview {
  opacity: 0; /* 初期状態は非表示にしておく */
  transform: translateX(-50px); /* 左に50px移動しておく */
  animation: animate_firstview 1.4s linear forwards; /* アニメーションを適用 */
}

@keyframes animate_firstview {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.animate-right {
	opacity: 0;
	transform: translateX(-50px);
	
}

.animate-right.show {
	opacity: 1;
	transform: translateX(0);
	transition: opacity 0.7s linear, transform 0.7s linear;
	transition-delay: 0.5s;
	
}

.animate-left {
	opacity: 0;
	transform: translateX(50px);
	
}

.animate-left.show {
	opacity: 1;
	transform: translateX(0);
	transition: opacity 0.7s linear, transform 0.7s linear;
	transition-delay: 0.5s;
	
}

/* アコーディオン */
summary {
  display: block;
  list-style: none;
}

summary {
  cursor: pointer;
}

/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
  display:none;
	
}

/* header・nav */

picture,source,img {
	user-drag: none;
	-webkit-user-drag: none;
	-moz-user-select: none;
}

iframe {
	min-height: 120%;
}

body {
	background: #F7F2E7;
}

header {
	background: #F7F2E7;
	box-shadow: none;
	
}

.nav_button a {
	background: transparent!important;
	outline: 3px #454242 solid;
	border-radius: 0;
	color: #454242;
	margin-right: 2%;
	
}

/* 電話ボタンだけ反転 */

#tel_button a {
	background: transparent;
	color: #454242;
	outline: none;
}

#tel_button a:hover {
	opacity: 0.4!important;
	background: transparent!important;
	color: #454242!important;
	
}


#tel_button a:before {
	background-image: url("../img/tel_icon_black.svg");
	
}

.nav_button a:hover {
	background: #A5A099!important;
	color: white!important;
	text-decoration: underline;
	text-underline-offset: 0.25em;
	transition: 0.1s ease-in-out;
	
}

nav ul {
	justify-content: space-around;
	
}

nav ul li {
	flex: 0!important;
	white-space: nowrap;
	
}

nav ul li a {
    color: #454242;
	
}

nav ul li a:hover {
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 0.25em;
	
}


/* article */

* {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "serif";
	
}

/* section */

section {
	margin: 200px auto 0 auto!important;
	
}

section source,section img {
	max-width: 100%;
	
}

/* ファーストビュー */
#firstview_easylp {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
	
}

#firstview_easylp h1 {
	position: relative;
	z-index: -3;

}


#firstview_easylp source,#firstview_easylp img {
	display: block;
	max-width: 100%;
	object-fit: cover;

}

#firstview_button  {
	display: block;
	position: absolute;
	width: 100%;
	margin-bottom: 16.5%;
	left: 9%;
	z-index: 0;
	
}

#firstview_button a {
	text-decoration: none;
	font-size: 150%;
    font-weight: bold;
    padding: 20px 0px;
    display: block;
    margin: 0 auto 0 0;
    text-align: center;
    width: 100%;
	max-width: 525px;
	background: rgba(247,242,231,0.80)!important;
	outline: 3px #454242 solid;
	color: #454242;
	
}

#firstview_button a:hover {
	background: rgba(165,160,153,0.80)!important;
	color: white!important;
	text-decoration: underline;
	text-underline-offset: 0.25em;
	transition: 0.1s ease-in-out;
	
}


/* メインコンテンツ */
.section_center:last-child {
	max-width: 1400px;

}

#form {
	padding-bottom: 10%;
	
}


#form h4 {
	font-size: 250%;
	margin-bottom: 40px;
	color: #454242;
	text-shadow: none;
	
}

/* お問い合わせ・会社概要 */


/* フッター */

#page-top {
	background: url("../img/return_button4.svg");
	
}

@media (max-width: 1450px) and (min-width: 1024px) {

	/* header・nav */

	.nav_button a {
		font-size: 1.35vw;

	}

}

@media (max-width: 1366px) and (min-width: 1025px) {
	/* ファーストビュー */
	#firstview_easylp {
		margin-top: 6vh;

	}


	#firstview_button  {
		margin-bottom: 8.5%;
	}
	

	#firstview_button a {
		font-size: 115%;
		padding: 15px 0px;
		max-width: 400px;

	}
	
	section {
		margin: 150px auto 0 auto!important;

	}
	
	#form h4 {
		font-size: 175%;

	}
	
	#form p {
		font-size: 150%;
		margin-bottom: 40px;
		
	}

}

/* タブレット */

@media (max-width: 1024px) and (min-width: 810px) {
	/* ファーストビュー */
	#firstview_easylp {
		margin-top: 0vh;

	}

	#firstview_button  {
		margin-bottom: 39%!important;
		left: 0%;
	}
	

	#firstview_button a {
		font-size: 150%;
		padding: 15px 0px;
		margin: auto;
		max-width: 310px;

	}
	
	/* section */

	section {
		margin: 100px auto 0 auto!important;

	}

	/* メインコンテンツ */

	#form h4 {
		font-size: 150%;
		
	}
	
	#form p {
		font-size: 100%;
		
	}
}

@media (max-width: 810px) and (min-width: 429px) {
	iframe {
		min-height: 120%;
	}
	
	#logo,#logo img {
		/* 切り取りの方が良い場合はこちらに切替*/
		width: 57px!important;
		height: 57px!important;
		object-fit: cover!important;
		object-position: left bottom;
		min-width: 57px;

	}
	
	.nav_button {
		width: 100%;
		max-width: 133px;
		margin-right: 2%;
		
	}
	
	.nav_button a {
		outline: 2px #454242 solid!important;
	}
	
	#tel_button {
		width: 55px!important;
		
	}
	
	#tel_button a:before {
		background-image: url("../img/tel_icon_black.svg")!important;
		width: 45px;
		height: 30px;
		top: 20%;
		left: 1%;
		margin-right: 0;
	
	}

	/* ファーストビュー */
	#firstview_easylp {
		margin-top: 0vh;

	}

	#firstview_button  {
		margin-bottom: 39%;
		left: 0%!important;
	}
	

	#firstview_button a {
		font-size: 3.45vw;
		padding: 10px 0px;
		margin: auto;
		width: 40%;
		min-width: 180px;

	}

	
	/* section */

	section {
		margin: 80px auto 0 auto!important;

	}
	
	
	/* メインコンテンツ */

	#form h4 {
		font-size: 125%;
		
	}
	
	#form p {
		font-size: 100%;
		
	}
}

@media (max-width: 1024px) and (min-width: 430px) {
	
	iframe {
		min-height: 120%;
	}

	/* header・nav */
	
	
	.nav_button {
		font-size: 1.8vw;

	}

	/* お問い合わせ・会社概要 */

	#footer_cta_button a:first-child:before {
		max-width: 45px;
		max-height: 29px;
		top: 0.8vh;

	}

	#footer_cta_button a:nth-child(2):before {
		max-width: 31px;
		max-height: 30px;
		top: 0.8vh;

	}

}

/* ボタン調整用 */

@media (max-width: 800px) and (min-width: 430px) {
	
	/* telを他に合わせる */
	
	#tel_button a{
		background: #3273ED;
		box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 1);

	}
	
	#tel_button a:before {
		background-image: url("../img/tel_icon_white.svg");
		width: 45px;
		height: 30px;
		top: 20%;
		left: 1%;
	
	}
	
	#contact_button a:before {
		width: 36px;
		height: 36px;
		top: 18%;
		left: 12%;

	}

	#ebook_button a:before {
		width: 40px;
		height: 40px;
		top: 17%;
		left: 3%;

	}

	#document_button a:before {
		width: 35px;
		height: 35px;
		top: 18%;
		left: 10%;

	}
	
	/* お問い合わせ・会社概要 */

	#footer_cta_button a:first-child:before {
		max-width: 40px;
		max-height: 24px;
		top: 1vh;

	}

	#footer_cta_button a:nth-child(2):before {
		max-width: 26px;
		max-height: 25px;
		top: 1vh;

	}
	
}

/* ios・android*/

@media (max-width: 428px) {
	
	iframe {
		min-height: 130%;
	}
	
	/* section */

	section {
		margin: 50px auto 0 auto!important;

	}

	section source,section img {
		max-width: 100%!important;

	}

	/* ファーストビュー */
	#firstview_easylp {
		margin-top: 0;

	}

	#firstview_button  {
		display: block;
		margin-bottom: 75%;
		left: 0;

	}

	#firstview_button a {
		font-size: 4.7vw;
		font-weight: bold;
		padding: 2.5vw 0px;
		margin: 0 auto!important;
		width: 65%;
		min-width: 160px;
		outline: 2px #454242 solid!important;
	}

	
	/* メインコンテンツ */

	#form h4 {
		font-size: 100%;
		margin-bottom: 20px;

	}
	
	#form p {
		font-size: 75%;

	}
	
	/* フッター */
	
	#footer_link li:first-child,#footer_link li:nth-child(2),#footer_link li:nth-child(3),#footer_link li:nth-child(4) {
		width: 100%;

	}
	
	#footer_link a {
		font-size: 5vw;

	}
	
	small {
		font-size: 5vw;

	}
	
	/* アコーディオンメニュー・ボタン */
	
	.menu-btn {
		background-color: #454242;
		
	}
	
		
	.menu-content {
		background-color: #A5A099;
		
	}
	
}