@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;500;600;700&display=swap');

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	word-break: break-all;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	color: #333;
}

@font-face {
  font-family: 'APJapanesefont';/* フォント名 */
  src:  url("../fonts/APJapanesefont.ttf")format('opentype');
}

.wrapper{
	max-width: 1000px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.wrapper_small{
	max-width: 900px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.sp{
	display: none!important;
}

.hamburger-menu{
	display: none;
}

.gnav_sp{
	display: none;
}

.arial_ttl{
	text-align: center;
	font-size: 35px;
	font-weight: 500;
	margin-bottom: 100px;
	color: #5f5f5f;
	font-family: Arial Rounded MT Bold,Helvetica Rounded,Arial,sans-serif; 
}


a:hover {
    cursor: pointer; /* 手のカーソル */
}

/*🔲🔲🔲🔲🔲🔲🔲🔲 common 🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

/* Text Size
------------------------------------------------------------ */
.txt8 { font-size: 8px; } /* 10px */
.txt9 { font-size: 9px; } /* 10px */
.txt10 { font-size: 10px; } /* 10px */
.txt11 { font-size: 11px; } /* 11px */
.txt12 { font-size: 12px; } /* 12px */
.txt13 { font-size: 13px; } /* 13px */
.txt14 { font-size: 14px; } /* 14px */
.txt15 { font-size: 15px; } /* 15px */
.txt16 { font-size: 16px; } /* 16px */
.txt17 { font-size: 17px; } /* 17px */
.txt18 { font-size: 18px; } /* 18px */
.txt19 { font-size: 19px; } /* 19px */
.txt20 { font-size: 20px; } /* 20px */
.txt21 { font-size: 21px; } /* 21px */
.txt22 { font-size: 22px; } /* 22px */
.txt23 { font-size: 23px; } /* 23px */
.txt24 { font-size: 24px; } /* 24px */
.txt25 { font-size: 25px; } /* 25px */
.txt26 { font-size: 26px; } /* 26px */
.txt48 { font-size: 48px; } /* 48px */
.txt72 { font-size: 72px; } /* 48px */

.txt150{font-size: 150%;}
.txt200{font-size: 200%;}
.txt50{font-size: 50%;}

.mb5{ margin-bottom:5px; }
.mb10{ margin-bottom:10px; }
.mb20{ margin-bottom:20px; }
.mb30{ margin-bottom:30px; }
.mb40{ margin-bottom:40px; }
.mb50{ margin-bottom:50px; }
.mb60{ margin-bottom:60px; }
.mb70{ margin-bottom:70px; }
.mb80{ margin-bottom:80px; }
.mb90{ margin-bottom:90px; }
.mb100{ margin-bottom:100px; }
.mb120{ margin-bottom:120px; }
.mb200{ margin-bottom:200px; }

.mt10{ margin-top:10px; }
.mt20{ margin-top:20px; }
.mt30{ margin-top:30px; }
.mt40{ margin-top:40px; }
.mt50{ margin-top:50px; }
.mt60{ margin-top:60px; }
.mt70{ margin-top:70px; }
.mt80{ margin-top:80px; }
.mt90{ margin-top:90px; }
.mt100{ margin-top:100px; }
.mt120{ margin-top:120px; }

.ml10{ margin-left:10px; }
.ml20{ margin-left:20px; }
.ml30{ margin-left:30px; }
.ml40{ margin-left:40px; }
.mr40{ margin-right:40px; }

.flex_bet_center_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.flex_bet_start {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.flex_bet_center {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.flex_center_center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.flex_start_center {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.flex_start_start_wrap, .flex_start_start_wrap_pc {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.flex_bet_start_wrap, .flex_bet_start_wrap_pc {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}


#lower_top_area{
	position: relative;
	padding-top: 165px;
}

.top_lower{
	width: 100%;
}

.top_lower img{
	width: 100%;
}

.top_lower h2{
	position: absolute;
    top: 43%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    font-size: 35px;
    font-weight: 600;
    letter-spacing: 0.4em;
    width: 100%;
    text-align: center;
}

.section_ttl_box_lp{
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	display: flex;
  	align-items: center; /* 垂直中心 */
  	justify-content: center; /* 水平中心 */
	width: 100%;
}

.section_ttl_lp{
	font-size: 35px;
	font-weight: 600;
	letter-spacing: 0.1rem;
	color: #fff;
	text-align: center;
}

.section_ttl_box_lp::before{
	border-top: dotted 5px #fff;
	content: "";
  	width: 7em; /* 線の長さ */
	margin-right: 1em; /* 文字の右隣 */
}

.section_ttl_box_lp::after{
	border-top: dotted 5px #fff;
	content: "";
  	width: 7em; /* 線の長さ */
	margin-left: 1em; /* 文字の左隣 */
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 Header 🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

#header{
	position: fixed;
	z-index: 99;
	width: 100%;
	top: 0;
  	left: 0;
	background-color: #fff;
}

.head_flex{
    display: flex;
    justify-content: space-between;
    width: 100%;
	align-items: center;
	padding: 30px 40px;
}

.head_left{
	width: 210px;
}

.head_right{
	width: auto;
}

.nav_pc{
    display: flex;
    list-style: none;
    align-items: center;
}

.nav_pc .nav_parent{
	border-left: solid 2px #898989;
    font-weight: 500;
    font-size: 16px;
    padding: 10px 10px;
    width: 160px;
    text-align: center;
}

.nav_pc .nav_parent:last-child {
    border-right: solid 2px #898989;
}

.nav_pc .nav_parent a {
    position: relative;
    display: block;
    text-decoration: none;
	color: #333;
}

.nav_pc .dropdown_list .parent_link::after{
	content: '';
    position: absolute;
    right: 5px;
    top: 4px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(135deg);
}

.nav_pc .nav_parent a:hover{
	color: #c30d23;
	transition: 0.3s;
}

.dropdown_list{
	position: relative;
}

.nav_child{
    position: absolute;
    width: 250px;
    top: 17px;
    left: 23px;
    background-color: #f2943f;
    padding-top: 10px;
    text-align: left;
    margin-top: 30px;
	visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease 0s;
}

.nav_child::before{
	content: url("../images/parts_nav_arrow.svg");
	width: 20px;
    height: 20px;
    top: -16px;
    left: 45px;
    position: absolute;
}

.nav_child li{
	padding: 15px 0;
    border-top: solid 1px #fff;
	position: relative;
}

.nav_child li a{
	color: #fff!important;
	padding-left: 50px;
}

.nav_child li a::before{
	content: url("../images/icn_nav_arrow.svg");
	width: 15px;
    height: 15px;
    top: 0;
    left: 20px;
    position: absolute;
}

.nav_child li:hover{
	background-color: #E05400;
	transition: 0.3s;
}

.nav_child li a:hover::before{
	transform: translate(5px,0px);
	transition: 0.3s;
}

.dropdown_list:hover .nav_child {/*Gナビメニューにホバーしたら表示*/
	visibility: visible;
  	opacity: 1;
}

@media screen and (max-width: 1180px){
	.nav_pc .nav_parent{
		font-size: 16px;
		padding: 10px 5px;
		width: 140px;
}
	.nav_pc .dropdown_list .parent_link::after{
		right: 3px;
		top: 5px;
		width: 4px;
		height: 4px;
}
}

@media screen and (max-width: 1010px){
	.nav_pc .nav_parent{
		width: 130px;
}
}

@media screen and (max-width: 965px){
	.nav_pc .nav_parent{
		width: 120px;
}
}

.head_belt{
	flex: block;
	width: 100%;
	height: 20px;
	background: linear-gradient(90deg, #f29600, #e50012);
}

.head_icon {
	text-align: right;
	margin-bottom: 20px;
}

.head_icon li {
	display: inline-block;
	width: 30px;
	margin-left: 10px;
}



/*🔲🔲🔲🔲🔲🔲🔲🔲 TOP images 🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

#top_area{
	position: relative;
	padding-top: 165px;
}

.top_sd{
	width: 100%;
}

.top_sd img{
	width: 100%;
}

.top_wave{
	position: absolute;
    background-image: url(../images/top_waveform_01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
	height: calc(100vw / 3.5);
	top: 111%;
    left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.top_wave img {
	width: 440px;
	position: absolute;
	top: 30%;
    left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.slick-dots li{
	width:40px!important;
}
.slick-dots li button:before{
	font-size:20px!important;
	color: #fff;
	opacity: .75;
}

.slick-dots li.slick-active button:before
{
    opacity: .9;
    color: #f39800;
}

.slick-dots{
    bottom: 10% !important;
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 TOP news 🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/


#news_area{
	padding-top: 30%;
}

.news_tab_menu{
	text-align: center;
	display: flex;
	justify-content: space-between;
	
}

.news_tab_menu li{
	width: 48%;
	font-weight: 600;
	background-color: #eee;
	
}

/*tabの形状*/
.news_tab_menu li a{
	color:#5F5F5F;
	border-radius: 5px;
	padding: 0 40px;
	text-decoration: none;
}

#news_tab_1{
	padding: 0 36%;
}

#news_tab_2{
	padding: 0 36%;
}

.news_tab_btn{
	text-align: center;
	display: block;
	padding: 10px;
	border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.news_tab_btn a{
	font-weight: 500!important;
	font-size: 23px!important;
}

/*liにactiveクラスがついた時の形状*/
.news_tab_menu li.active{
	background-color: #f2943f;
}

.news_tab_menu li.active a{
	color: #fff;
}

/*エリアの表示非表示と形状*/
.news_tab_area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	margin-bottom: 80px;
}

.news_tab_area .wrapper{
	border: solid #f2943f 5px;
	padding: 50px 20px;
}

.news_tab_area dl{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.news_tab_area dt{
	width: 20%;
	padding-bottom: 15px;
	margin-bottom: 20px;
	font-weight: 600;
	font-size: 15px;
}

.news_tab_area dt img{
	display: inline-block;
	width: 40%;
	margin-left: 20px;
}

.news_tab_area dd{
	width: 80%;
	padding-bottom: 15px;
	margin-bottom: 20px;
	position: relative;
	line-height: 1.5;
	font-size: 15px;
}

.news_tab_area dt:last-of-type{
	padding-bottom: 0;
	margin-bottom: 0;
}

.news_tab_area dd:last-child{
	padding-bottom: 0;
	margin-bottom: 0;
}

/*areaにis-activeというクラスがついた時の形状*/
.news_tab_area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 TOP goods 🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

#top_goods_bg{
	background-color: #fff9e8;
	margin-top: 20%;
	padding-bottom: 20%;
	position: relative;
}

.section_ttl_bg_01{
	background-image: url("../images/top_waveform_02.svg");
	background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
	height: calc(100vw / 3.8);
	position: absolute;
	top: calc(100vw / -8);
}

.section_ttl_box_01{
	position: absolute;
	top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	display: flex;
  	align-items: center; /* 垂直中心 */
  	justify-content: center; /* 水平中心 */
}

.section_ttl{
	font-size: 25px;
	font-weight: 600;
	letter-spacing: 0.1rem;
	color: #fff;
	text-align: center;
}

.section_ttl_box_01::before{
	border-top: dotted 5px #fff;
	content: "";
  	width: 7em; /* 線の長さ */
	margin-right: 1em; /* 文字の右隣 */
}

.section_ttl_box_01::after{
	border-top: dotted 5px #fff;
	content: "";
  	width: 7em; /* 線の長さ */
	margin-left: 1em; /* 文字の左隣 */
}

.goods_block_01{
	padding-top: 15%;
}

.goods_block_02, .goods_block_03, .goods_block_04 {
	padding-top: 5%;
}

.goods_ttl{
	width: 300px;
	margin-top: 50px;
	margin-bottom: 50px;
	margin-left: auto;
	margin-right: auto;
}

.goods_ttl img{
	width: 100%;
}

.grid_layout {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Three equal-width columns */
    gap: 20px; /* Gap between columns */
}

.top_goods{
	background-color: #fff;
	border-radius: 15px;
	width: 310px;
	text-align: center;
	position: relative;
	box-shadow: 3px 3px 5px -3px rgba(0, 0, 0, 0.3);
	margin-bottom: 40px;
	transition:all 0.3s;
}

.top_goods_no{
	background-color: #fff;
	border-radius: 15px;
	width: 310px;
	text-align: center;
	position: relative;
	box-shadow: 3px 3px 5px -3px rgba(0, 0, 0, 0.3);
	margin-bottom: 40px;
	transition:all 0.3s;
}

.top_goods_no{
	display: block;
	width: 100%;
	padding: 20px;
	text-decoration: none;
	text-align: left;
}

.top_goods a{
	display: block;
	width: 100%;
	padding: 20px;
	text-decoration: none;
	text-align: left;
}

.top_goods:hover{
	background-color: #fff0f0;
	transform: translate(5px,5px);
}

.top_goods img,.top_goods_no img{
	width: 100%;
	margin-bottom: 20px;
}

.top_goods h2,.top_goods_no h2{
	color: #1a1a1a;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4em;
	margin-bottom: 10px;
}

.top_goods .capacity,.top_goods_no .capacity{
	color: #1a1a1a;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4em;
	margin-bottom: 20px;
}

.top_goods .price,.top_goods_no .price{
	color: #1a1a1a;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4em;
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 TOP Safety and Security 🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

#top_ss_bg{
	background-color: #fff;
	position: relative;
}

.section_ttl_bg_02{
	background-image: url("../images/top_waveform_03.svg");
	background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
	height: calc(100vw / 3.8);
	position: absolute;
	top: calc(100vw / -8);
}

.section_ttl_box_02{
	position: absolute;
	top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	display: flex;
  	align-items: center; /* 垂直中心 */
  	justify-content: center; /* 水平中心 */
}

.section_ttl{
	font-size: 25px;
	font-weight: 600;
	letter-spacing: 0.1rem;
	color: #fff;
	text-align: center;
}

.section_ttl_box_02::before{
	border-top: dotted 5px #fff;
	content: "";
  	width: 7em; /* 線の長さ */
	margin-right: 1em; /* 文字の右隣 */
}

.section_ttl_box_02::after{
	border-top: dotted 5px #fff;
	content: "";
  	width: 7em; /* 線の長さ */
	margin-left: 1em; /* 文字の左隣 */
}

.ss_block{
	padding-top: 20%;
	padding-bottom: 7%;
}

.top_ss{
	background-color: #f5ecd0;
	width: 45%;
	text-align: center;
	position: relative;
	box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.2);
	margin-bottom: 40px;
	transition:all 0.3s;
}

.top_ss a{
	display: block;
	width: 100%;
	text-decoration: none;
}

.top_ss:hover{
	background-color: #fff;
	transform: translate(5px,5px);
}

.top_ss::after{
	content: url("../images/icn_arrow.svg");
	width: 40px;
    bottom: 20px;
    right: 25px;
    position: absolute;
    transition: all 0.3s;
}

.top_ss:hover::after{
	transform: translate(5px,0px);
}

.top_ss img{
	width: 100%;
}

.ss_caption{
	color: #1a1a1a;
	font-size: 14px;
	font-weight: 500;
	text-align: left;
	padding: 20px 20px;
    width: 85%;
    line-height: 1.3rem;
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 campany（企業情報）🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/


.cp_top_wave{
	position: absolute;
    background-image: url(../images/cp_waveform_01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
	height: calc(100vw / 4.5);
    top: 106%;
    left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#cp_contents_area{
	margin-top: 20%;
	margin-bottom: 10%;
}

.cp_contents h3{
	font-size: 21px;
	font-weight: 600;
	color: #000;
	margin-left: 20px;
	margin-bottom: 50px;
	position: relative;
}

.cp_contents h3::before{
	content: url("../images/icn_cp_01.svg");
	width: 10px;
	height: 30px;
    position: absolute;
	left: -20px;
	bottom: -6px;
}

.left_side, .right_side{
	width: 47%;
}

.cp_contents table {
	text-align: left;
	border-spacing: 0;
    width: 100%;
    background-color: #fff;
    border-radius: 30px;
	padding: 20px 0;
}

.cp_contents table tr{
    border-top: 1px solid #C9CACA;
    width: 100%;
	height: 60px;
}

.cp_contents table tr:last-child{
    border-bottom: 1px solid #C9CACA;
}

.cp_contents table tr th{
	font-size: 16px;
	font-weight: 600;
	color: #5F5F5F;
	position: relative;
	left: 30px;
	line-height: 1.8em;
}

.cp_contents table tr th::before{
	content: url("../images/icn_cp_02.svg");
	width: 20px;
    position: absolute;
	left: -30px;
	top: 24px;
}

.cp_contents table tr td{
	font-size: 16px;
	color: #5F5F5F;
	padding-left: 60px;
    padding-top: 20px;
    padding-bottom: 20px;
	line-height: 1.8em;
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 contact（お問い合わせ）🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

#contact_area{
	margin-top: 300px;
    margin-bottom: 10%;
}

/* フォームパーツのデザイン */

#contact form {
    width: 100%;
    background-color: #fff;
    margin: 0 auto;
}

.contact_table {
    width: 100%;
}


.contact_table tr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid #C9CACA;
}


.contact_table tr:last-child{
	border-bottom: 1px solid #C9CACA;
}

.contact_table .contact_item {
	text-align: left;
	font-weight: 600;
	font-size: 17px;
	color: #5F5F5F;
	width: 30%;
}

.contact_table .contact_body{
	width: 70%;
	padding: 20px;
	border-left: 1px solid #C9CACA;
}


.form_select{
	width: 48%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.form_select::-ms-expand{
	display: none;
}

.form_text_100{
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.form_text_50{
	width: 48%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.family_name{
	margin-right: 10px;
}

.form_textarea{
	width: 100%;
	height: 200px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.contact_table input[type='text'], .contact_table input[type='email'], .contact_table textarea, .contact_table select{
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	padding: 0.3em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #000;
	border: 2px solid #C9CACA;
}

.form_select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
  appearance: menulist;
}

.neme_txt{
	font-weight: 600;
	font-size: 14px;
	color: #5F5F5F;
	margin-bottom: 10px;
}

.contact_table ul li input[type='text']{
	width: 98%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.contact_table ul{
	width: 100%;
}

.rice_symbol{
	color: #E60012;
}

.rice_symbol_small{
	color: #E60012;
	font-size: 14px;
}

.cheklist{
	margin: 30px 0;
	padding: 10px;
	border: 1px solid #C9CACA;
}

.cheklist .caution{
	font-weight: 600;
	font-size: 14px;
	line-height: 1.5em;
	color: #5F5F5F;
}

.privacy_caution_area {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.check_box{
	margin-right: 10px;
}

.contact_agree{
	font-weight: 600;
	color: #5F5F5F;
	font-size: 14px;
}

.contactform_btn{
	text-align: center;
	margin-top: 50px;
}

.contact_form_btn{
	padding: 20px;
    border: none;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.3em;
    background-color: #EA5532;
}

.privacy_link{
	margin-top: 10px;
	margin-bottom: 10px;
}

.privacy_link a{
	text-decoration: none;
	color: #EA5532;
    font-size: 15px;
    font-weight: 600;
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 privacypolicy（プライバシーポリシー）🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

#privacy_area{
	margin-top: 300px;
    margin-bottom: 10%;
}

.privacy_ttl_box{
	margin-bottom: 60px;
	display: flex;
  	align-items: center; /* 垂直中心 */
  	justify-content: center; /* 水平中心 */
}

.privacy_ttl_box::before{
	border-top: solid 3px #E60012;
	content: "";
  	width: 3em; /* 線の長さ */
	margin-right: 1em; /* 文字の右隣 */
}

.privacy_ttl_box::after{
	border-top: solid 3px #E60012;
	content: "";
  	width: 3em; /* 線の長さ */
	margin-left: 1em; /* 文字の左隣 */
}

.privacy_ttl{
	font-size: 20px;
	font-weight: 500;
	color: #000;
	text-align: center;
}


#privacy_area p{
	color: #5F5F5F;
	font-size: 16px;
	line-height: 2.4em;
}

#privacy_area h3{
	position: relative;
	font-size: 20px;
	font-weight: 600;
	color: #000;
	margin-left: 20px;
	margin-bottom: 50px;
}

#privacy_area h3::before{
	content: url("../images/icn_pp_01.svg");
	width: 10px;
	height: 30px;
    position: absolute;
	left: -20px;
	bottom: -6px;
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 recipe（レシピ）🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

.recipe_top_wave{
	position: absolute;
    background-image: url("../images/recipe_waveform_01.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
	height: calc(100vw / 4.5);
    top: 106%;
    left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#recipe_contents_area{
	padding-top: 20%;
	padding-bottom: 10%;
	background-color: #FFF9E8;
	background-image: url("../images/recipe_bg_01..svg");
    background-size: contain;
    background-position: center;
    width: 100%;
}

.recipe_card{
	width: 46%;
	margin-bottom: 70px;
	box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.2);
	transition: all 0.3s;
}

.recipe_card a{
	display: block;
    width: 100%;
    text-decoration: none;
}

.recipe_card:hover{
	background-color: #fff;
	transform: translate(5px,5px);
}

.recipe_card:hover::after{
	transform: translate(5px,0px);
}
    
.telop_box_01{
	padding: 15px;
	text-align: center;
	background-color: #ED6E1D;
}

.telop_box_02{
	padding: 15px;
	text-align: center;
	background-color: #0074B5;
}

.telop_box_01 p, .telop_box_02 p{
	font-size: 23px;
	font-weight: 600;
	color:#fff;
	letter-spacing: 0.1em;
}

.recipe_card img{
	width: 100%;
}


.recipe_intro{
	padding: 20px;
	color:#5F5F5F;
	background-color: #fff;
}

.recipe_intro h3{
	font-size: 28px;
	margin-bottom: 20px;
}

.recipe_intro p{
	font-size: 16px;
	line-height: 1.5em;
	margin-bottom: 50px;
}

.sub_intro{
	width: 100%;
}

.sub_intro li{
	display: inline-block;
	margin-right: 20px;
}

.sub_intro li img{
	width: 25px;
    margin-right: 5px;
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 recipe_01（トッポギレシピ） 🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

.recipe01_top_wave{
	position: absolute;
    background-image: url("../images/recipe_waveform_01.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
	height: calc(100vw / 4.5);
    top: 106%;
    left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.recipe01_ttl_box{
	position: absolute;
	top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	display: flex;
  	align-items: center; /* 垂直中心 */
  	justify-content: center; /* 水平中心 */
	width: 100%;
}

.ttl_blowing{
	width: 90px;
    margin-right: 5px;
    padding-bottom: 50px;
}

.recipe01_ttl{
	font-size: 35px;
	font-weight: 600;
	letter-spacing: 0.1rem;
	color: #fff;
	text-align: center;
	position: relative;
}

.recipe01_ttl::before{
	content: url("../images/recipe01_img_01_B.svg");
	width: 230px;
    position: absolute;
	left: 120px;
    top: -40px;
}

#recipe_lower_bg{
	padding-top: 20%;
	padding-bottom: 10%;
	background-image: url("../images/recipe01_bg_01.svg");
/*	background-repeat: no-repeat;*/
    background-size: contain;
    background-position: center;
    width: 100%;
	border-bottom: solid 4px #f39800;
}

.dish_point{
	position: relative;
	height: 800px;
	padding-bottom: 10%;
}

.dish_point_01 img, .dish_point_02 img, .dish_point_03 img, .dish_point_04 img, .dish_point_05 img{
	position: absolute;
}


.point_01_A{
	max-width: 250px;
	width: 100%;
	top: 40px;
    left: 100px;
}

.point_01_B{
	max-width: 250px;
	width: 100%;
	top: 220px;
	left: 0;
}

.point_02_A{
	max-width: 280px;
	width: 100%;
	top: 280px;
    left: 300px;
}

.point_02_B{
	max-width: 210px;
	width: 100%;
	top: 50px;
    left: 355px;
}

.point_03_A{
	max-width: 250px;
	width: 100%;
	top: 50px;
    right: 65px;
}

.point_03_B{
	max-width: 250px;
	width: 100%;
	top: 200px;
    right: 0;
}

.point_04_A{
	max-width: 250px;
	width: 100%;
	bottom: 150px;
    left: 0;
}

.point_04_B{
	max-width: 210px;
	width: 100%;
	bottom: 50px;
    left: 250px;
}

.point_05_A{
	max-width: 275px;
	width: 100%;
	bottom: 175px;
    right: 170px;
}

.point_05_B{
	max-width: 210px;
	width: 100%;
	bottom: 50px;
    right: 0px;
}

#recipe_area{
    width: 100%;
    margin-top: 5px;
    border-top: solid 10px #f39800;
    padding-top: 5%;
	border-bottom: solid 4px #e50513;
}

.dish_name{
	width: 100%;
	padding: 15px 0;;
	margin-bottom: 50px;
	border-bottom: solid 2px #f39800;
}

.dish_name h2{
	font-size: 25px;
	font-weight: 600;
}

.recipe_table{
	margin-bottom: 50px;
}

.recipe_left, .recipe_right{
	width: 47%;
}

.recipe_layout h3{
	font-size: 25px;
    font-weight: 600;
    margin-bottom: 20px;
}

.recipe_layout .small{
	font-size: 18px;
    font-weight: 600;
}

.material tr{
	width: 100%;
	border-top: solid 1px #000;
}

.material tr th, .material tr td{
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: left;
	font-size: 20px;
}

.material tr th{
	width: 30%;
}

.material tr td{
	width: 15%;
	padding-left: 60px;
	text-align: right;
}

.making{
	padding: 0 10px;
	border: solid 3px #bca695;
	border-radius: 10px;
	margin-bottom: 50px;
}

.making_txt_01, .making_txt_02, .making_txt_03, .making_txt_04 {
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: 18px;
	font-weight: 500;
	padding-left: 60px;
	border-top: dotted 2px #916b46;
	position: relative;
	line-height: 1.5em;
}

.making_ttl{
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: 22px;
	font-weight: 600;
	padding-left: 60px;
	position: relative;
}

.making_ttl::before{
	content: url("../images/icn_recipe01_pot.svg");
	width: 40px;
    height: 40px;
    position: absolute;
    left: 5px;
    top: 13px;
}


.making_txt_01::before{
	content: url("../images/icn_recipe01_n1.svg");
	width: 30px;
    height: 40px;
    position: absolute;
    left: 10px;
    top: 20px;
}

.making_txt_02::before{
	content: url("../images/icn_recipe01_n2.svg");
	width: 30px;
    height: 40px;
    position: absolute;
    left: 10px;
    top: 20px;
}

.making_txt_03::before{
	content: url("../images/icn_recipe01_n3.svg");
	width: 30px;
    height: 40px;
    position: absolute;
    left: 10px;
    top: 20px;
}

.making_txt_04::before{
	content: url("../images/icn_recipe01_n4.svg");
	width: 30px;
    height: 40px;
    position: absolute;
    left: 10px;
    top: 20px;
}

.video_box{
	margin-top: 10%;
	margin-bottom: 10%;
}

.video_box p{
	font-size: 23px;
	font-weight: 600;
	color: #ea5514;
	text-align: center;
	margin-bottom: 50px;
}

.video_thumbnail{
	width: 60%;
	margin: 0 auto;
	box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.2);
	transition: all 0.3s;
}

.video_thumbnail img{
	width: 100%;
}

.video_thumbnail:hover{
	background-color: #fff;
	transform: translate(5px,5px);
}

.video_thumbnail:hover::after{
	transform: translate(5px,0px);
}

#arrange_recipe_area{
	width: 100%;
	margin-top: 5px;
    border-top: solid 4px #e50513;
    padding-top: 5%;
}

.arrange_ttl_box{
	text-align: center;
	width:100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 80px;
	position: relative;
}

.arrange_ttl_box::after{
	content: "";
	display: inline-block;
	background-image: url("../images/recipe01_img_09.webp");
	background-repeat: no-repeat;
  	background-size: contain;
  	vertical-align: middle;
	width: 150px;
	height: 200px;
    position: absolute;
	right: 120px;
    top: -20px;
}

#arrange_img_02::after{
	background-image: url("../images/recipe02_img_09.webp");
	background-repeat: no-repeat;
}

#arrange_img_03::after{
	background-image: url("../images/recipe03_img_09.webp");
	background-repeat: no-repeat;
}

#arrange_img_04::after{
	background-image: url("../images/recipe04_img_09.webp");
	background-repeat: no-repeat;
}

.bg_red p{
	padding: 15px;
	background-color: #bf0215;
	width: 20%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	font-size: 25px!important;
	font-weight: 700;
	color: #fff;
	border-radius: 50px;
}

.arrange_ttl_box h2{
	font-family: APJapanesefont;
	font-size: 70px;
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: dotted 3px #bf0215;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}

.arrange_ttl_box p{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4em;
}

.arrange_point{
	border: solid 5px #bf0215;
	border-radius: 20px;
	margin-bottom: 80px;
}

.arrange_point_ttl{
	padding-top: 10px;
	padding-bottom: 20px;
	background-color: #bf0215;
	border-radius: 10px 10px 0 0;
	text-align: center;
}

.arrange_point_ttl h3{
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.1em;
}

.arrange_point_ttl h3 span{
	font-size: 36px;
	font-weight: 700;
}

.arrange_point_box{
	padding: 10px;
}

.arrange_point_01, .arrange_point_02, .arrange_point_03{
	width: 100%;
	text-align: center;
}

.arrange_point_01{
	padding-right: 2%;
	border-right: 2px solid #bf0215;
}

.arrange_point_02{
	padding-right: 2%;
	padding-left: 2%;
	border-right: 2px solid #bf0215;
}

.arrange_point_03{
	padding-left: 2%;
}

.arrange_point_01 img, .arrange_point_02 img, .arrange_point_03 img{
	width: 100px;
	margin: 10px auto;
}

.arrange_point_01 p, .arrange_point_02 p, .arrange_point_03 p {
	font-size: 27px;
	font-weight: 600;
	line-height: 1.3em;
	margin-bottom: 10px;
}

.arrange_dish{
	margin-bottom: 10%;
}

.a_menu_01{
	padding-right: 2%;
}

.a_menu_02{
	padding-right: 2%;
	padding-left: 2%;
}

.a_menu_03{
	padding-left: 2%;
}

.a_menu_01 img, .a_menu_02 img, .a_menu_03 img{
	width: 100%;
}


/*🔲🔲🔲🔲🔲🔲🔲🔲 safety（安全管理）🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

.safety_top_wave{
	position: absolute;
    background-image: url("../images/safety_waveform_01.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
	height: calc(100vw / 4.5);
    top: 106%;
    left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#safety_contents_area{
	padding-top: 25%;
	padding-bottom: 10%;
    width: 100%;
}

.satety_ttl{
	padding: 15px;
	background-color: #8BC791;
	text-align: left;
	margin-bottom: 30px;
	max-width: 1000px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}


.satety_ttl h2{
	font-size: 22px;
	font-weight: 600;
	color: #fff;
}

.safety_box{
	color:#5F5F5F;
	margin-bottom: 50px;
}

.safety_box .left_side, .safety_box .right_side{
	margin-bottom: 50px;
	width: 48%;
}

.safety_box h3{
	font-size: 22px;
	font-weight: 500;
	margin-bottom: 30px;
	line-height: 1.5em;
}

.safety_box p{
	font-size: 16px;
	line-height: 1.5em;
	margin-bottom: 50px;
}

.safety_box img{
	width: 100%;
}

.vertical{
	margin-bottom: 80px;
}

.vertical .allergies{
	width: 80%;
	margin: 0 auto;
}

.vertical .allergies img{
	width: 100%;
}


/* relief（安心のために）
------------------------------------------------------------ */

.column3_box{
	width: 33%;
	padding-right: 2%;
	margin-right: 2%;
	border-right: 1px solid #C9CACA;
}

.column3_box:last-child{
	margin-right: -2%;
	border-right: none;
}

.column3_box img{
	width: 100%;
	margin-bottom: 30px;
}

.column3_box h3 {
	font-size: 20px;
	margin-bottom: 30px;
}

.column3_box p{
	font-size: 16px;
	line-height: 1.5em;
}



/*🔲🔲🔲🔲🔲🔲🔲🔲 プライバシーポリシー🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

.privacy_top_wave{
	position: absolute;
    background-image: url("../images/privacy_waveform_01.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
	height: calc(100vw / 4.5);
    top: 106%;
    left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#privacy_contents_area{
	background-color: #fff9e8;
	padding-top: calc(100vw / 5);
	padding-bottom: 100px;
}

#privacy_contents_area h3{
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 10px;
}

#privacy_contents_area p{
	margin-bottom: 50px;
	line-height: 1.7;
}




/*🔲🔲🔲🔲🔲🔲🔲🔲 特定商取引法に基づく表記　🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

#law_area{
	background-color: #fff9e8;
	padding-top: calc(100vw / 5);
	padding-bottom: 100px;
}

#law_area th{
	line-height: 2.4;
	text-align: left;
	font-weight: 700;
	width: 25%;
}

#law_area td{
	line-height: 2.4;
	text-align: left;
	width: 75%;
}




/*🔲🔲🔲🔲🔲🔲🔲🔲 footer 🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

.footer_contents{
	background-color: #ED6D46;
}

.ft_wrapper{
	max-width: 900px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 30px;
	padding-bottom: 30px;
}

.footer_link a{
	font-size: 15px;
	color: #fff;
	text-decoration: none;
	line-height: 3em;
}

.footer_link a:hover {
    color: #FBB03B;
	transition: 0.3s;
}

.ft_line {
	width: 1100px;
	margin: 0 auto;
	height: 1px;
    background-color: #fff;
}

.ft_title{
	padding-bottom: 10px;
	border-bottom: solid #fff 2px;
	margin-bottom: 15px;
}

.text_block{
	margin-top: 50px;
	margin-bottom: 50px;
}

.text_block h2,.text_block h3{
	font-size: 15px;
	color: #fff;
	font-weight: 500;
}

.text_block p{
	font-size: 15px;
	color: #fff;
	line-height: 2em;
}

.text_block .payment{
	width: 20%;
}

.footer_belt{
	width: 100%;
	padding: 20px 0;
	background: linear-gradient(90deg, #f29600, #e50012);
}

.footer_belt p{
	text-align: center;
	color: #fff;
	font-weight: 300;
}

.foot_img {
	margin-bottom: 20px;
}

.foot_img img{
	width: 100%;
}

.foot_st{
	color: #ffff00;
	font-weight: 700;
}