/* all
---------------------------------------------------*/
body{
	color: #000000;
	font-size: 18px;
	background-color: #F9F4ED;
}
a {text-decoration: none;}
li{list-style: none;}

/* font
---------------------------------------------------*/
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}




/* 共通
---------------------------------------------------*/
.w-95{
	margin: 0 auto;
	width: 95%;
}

.font_beige{
	color: #998675;
}

.font_black{
	color: #000000;
}

.font_10{
	font-size: 10px;
}

.font_20{
	font-size: 20px;
}

.font_30{
	font-size: 30px;
}
@media screen and (max-width: 768px) {
.font_30{
	font-size: 1.5rem;
}
}

.m_top80{
	margin-top: 80px;
}
@media screen and (max-width: 768px) {
.m_top80{
	margin-top: 3rem;
}
}

.m_top100{
	margin-top: 100px;
}
@media screen and (max-width: 768px) {
.m_top80{
	margin-top: 4rem;
}
}

.link{
   margin-top:-70px;
   padding-top:70px;
}

.keep-all-break-word {
  word-break: keep-all;
  overflow-wrap: break-word;
  /* overflow-wrap: anywhere; が2024年1月8日現在で一番良い */
}




/* header
---------------------------------------------------*/
header{
	width: 100%;
	background-color: #F9F4ED;
	position: fixed;
	z-index: 1000;
}
@media screen and (max-width: 940px) {
header{
	padding-top: 10px;
	padding-bottom: 10px;
	position: absolute;
}
}
h1{
	width: 192px;
}


:root{
	scroll-padding: 70px;
	scroll-behavior: smooth;
}


/* nav
---------------------------------------------------*/
/* スマホ閲覧時のハンバーガーメニュー */
 
#hanburger {
  display: none; /* チェックボックスを非表示 */
}
 
.menu_button { /* ボタンのスタイル */
  width: 40px; /* 幅 */
  height: 40px; /* 高さ */
  position: fixed;
  top: 10px;
  right: 10px;
  background: #64A091; /* 背景色 */
  z-index: 10;
}
 
.menu_button::before { /* アイコンのスタイル */
  font-family: "Font Awesome 5 Free";
  content: "\f0c9"; /* アイコン「３本線」 */
  font-weight: 900;
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
 
#hanburger:checked + .menu_button::before { /* アイコンのスタイル（チェック済み） */
  content: "\f00d"; /* アイコン「×印」 */
}
 
.global_menu { /* メニュー全体のスタイル */
	visibility: hidden; /* メニューを非表示 */
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	padding: 30px;
	color: #64A091; /* 文字色 */
	background: #F9F4ED; /* 背景色 */
	opacity: 0.9;
	overflow-y:  scroll;
	text-align: center;
}

.global_menu a,.global_menu a:link,.global_menu a:valid,.global_menu a:hover,.global_menu a:active{
	color: #64A091;
	text-decoration: none;
}
 
#hanburger:checked ~ .global_menu { /* メニュー全体のスタイル（チェック済） */
  visibility: visible; /* メニューを表示 */
}
 
.global_menu a { /* 各項目のスタイル */
  display: block;
  width: 100%;
}
 
.global_menu a:hover { /* 各項目のスタイル（ホバー時） */
}
 
.menu:not(:last-child) {
  margin-bottom: 20px;
}

.menu > a { /* 親項目のスタイル */
  font-weight: bold;
  padding: 10px 20px;
}
 
.child_menu > li > a {
  padding: 10px 30px;
}

/*ハンバーガー詳細デザイン*/
@media screen and (max-width: 940px) {

	.menu_box{
		margin: 0 0 0 0;
	}

	.menu_box2{
		list-style: none;
	}
	.menu_box3{
		border-bottom: 1px dotted #64A091;
	}

	.menu_box4{
		margin: 0 0 10px 0;
		border-bottom: 1px dotted #64A091;
	}
	
	.menu_box5{
		overflow: hidden;
	}
	.menu_box6{
		float: left;
		width: 50%;
		text-align: left;
	}

}



@media screen and (min-width: 940px) {

/* PC */

.menu_button {
display: none; /* ハンバーガーメニューのボタンを非表示 */
}

.global_menu { /* メニュー全体のスタイル */
	position: sticky;
	padding: 0;
	color: #64A091; /* 文字色 */
	font-size: 14px;
	background-color: #F9F4ED; /* 背景色 */
	visibility: visible;
	overflow-y: visible;
	opacity: 1;
}

.global_menu a,.global_menu a:link,.global_menu a:valid,.global_menu a:hover,.global_menu a:active{
	color: #64A091 !important;
	text-decoration: none;
}

.menu_box{
	margin: 0 auto;
}
	
.menu_box2{
	margin: 0;
	display:flex!important;
	justify-content:space-around!important;
}

.menu, .child_menu > li {
display: inline-block;
}
	
.menu{
	margin-left: 1rem;
}

.menu:not(:last-child) {
margin-bottom: 0;
}

.menu > a { /* 親項目のスタイル */
font-weight: normal;
padding: 20px 0;
}

.menu:hover > a {
}	
	
}

.hover_1 a:hover{
opacity: .5;
-webkit-opacity: .5;
-moz-opacity: .5;
-webkit-transition: opacity 0.5s ease-out;
-moz-transition: opacity 0.5s ease-out;
-ms-transition: opacity 0.5s ease-out;
transition: opacity 0.5s ease-out;
}

/* メイン画像
---------------------------------------------------*/
.slidex_box{
	width: 710px;
	margin: 0 10px;
}
@media screen and (max-width: 768px) {
.slidex_box{
	width: 100vw;
	margin: 0;
	padding: 0 10px;
}
}


/* maincontent
---------------------------------------------------*/
article{
	padding-top: 75px;
}

.main_content1{
	margin: 0 auto;
	width: 1080px;
}
@media screen and (max-width: 1080px) {
.main_content1{
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	width: 100%;
}
}

.zigzag {
/*mask: repeating-conic-gradient(from 110deg at 50% 2rem,#0000 0,#000 1deg 139deg,#0000 140deg 180deg) 50% -2rem/10.99rem*/
	background-image: url("../img/back1.png") , url("../img/back2.png");
	background-repeat: repeat-x;
	background-position: top , bottom;
}

.hougan{
  /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #94bdb3 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #94bdb3 calc(100% - 1px));
  background-size: 32px 32px;
  background-repeat: repeat;
  background-position: center center;
	background-color: #b1cfc8;
}

.buy_btn{
	margin: 0 auto;
	padding: 1rem;
	width: 20rem;
	border-radius: 20rem;
	background-color: #A7988F;
	display: inline-block;
	color: #FFFFFF;
}

/* slider2 */
.slider2{
	position: relative; /* 親にrelativeを必ず付ける */
}
.slider2 img {
  transform: scale(.8);
  transition: transform .3s;
  display: block; /* 余白防止 */
  margin: 0 auto; /* 横方向の中央揃え */
}

.slider2 .slick-center img {
  transform: scale(1);
}

/* 各スライドボックス */
.slidex_box2 {
  width: 200px;
  margin: 0 20px;
  display: flex;
  align-items: center;   /* 垂直方向中央揃え */
  justify-content: center; /* 横方向中央揃え */
  height: 100%; /* slickに合わせて可変 */
}

/* slick内部構造に対しても指定 */
.slick-track {
  display: flex !important;
  align-items: center;
}

.slick-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* 背景飛び出し */
.main_back1{
	margin-left: auto;
	margin-right: auto;
	width: 1480px;
}
@media screen and (max-width: 1480px) {
.main_back1{
	width: 100%;
}
}

.main_back2{
	background: #FFFFFF;
	border-radius: 0 10rem 10rem 0;
	margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 1480px) {
.main_back2{
	margin-left: 0;
	margin-right: 1rem;
}
}
@media screen and (max-width: 1080px) {
.main_back2{
	border-radius: 0 5rem 5rem 0;
}
}

.main_back2 .main_content1{
	margin-left: calc(50vw - 540px); /* 540 = 1080 / 2 */
}
@media screen and (max-width: 1480px) {
.main_back2 .main_content1{
        margin-left: calc(50vw - 540px);
}
}
@media screen and (max-width: 1080px) {
.main_back2 .main_content1{
	margin-left: 0;
	margin-right: 0;
	padding-left: 1rem;
	padding-right: 1rem;
}
}

.main_back3{
	background: #FFFFFF;
	border-radius: 1rem 0 0 1rem;
	margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 1480px) {
.main_back3{
	margin-right: 0;
	margin-left: 1rem;
}
}

.main_back3 .main_content1{
	margin-right: calc(50vw - 540px); /* 540 = 1080 / 2 */
}
@media screen and (max-width: 1480px) {
.main_back3 .main_content1{
        margin-right: calc(50vw - 540px);
}
}
@media screen and (max-width: 1080px) {
.main_back3 .main_content1{
	margin-right: 0;
	margin-left: 0;
	padding-right: 1rem;
	padding-left: 1rem;
}
}

.youtube_short{
 width: 100%; /* 伸縮する横幅 */
 max-width: 665px; /* 最大の横幅 */
 margin: auto; /* 画面の中央に配置 */
}
.youtube_short iframe{
 aspect-ratio: 9 / 16;
 width: 100%;
 height: 100%;
}



/* footer
---------------------------------------------------*/
.zigzag_top{
	background-image: url("../img/back1.png");
	background-repeat: repeat-x;
	background-position: top;
}

.footer_box1{
	width: 175px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.footer_box2{
	width: 70px;
}
