@charset "UTF-8";

@font-face {
  font-family: "YuGothic M";
  src: local("Yu Gothic Medium");
}

/* =================================
 reset
================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body {
	line-height: 1;
	color:#000;
	position: relative;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	display: block;
}
img.img100{
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
	display: block;
}
img.img90 {
	max-width: 90%;
	line-height: 0;
	vertical-align: bottom;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.imgCenter{
	max-width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
a:hover img{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
p{
	line-height: 1.8em;
}
iframe {
	vertical-align: bottom;
	border: 0;
}
table th,
table td {
	vertical-align: top;
}
input,
/*select,*/
textarea,
button {
	/*-webkit-appearance: none;*/
	-moz-appearance: none;
}
/*select::-ms-expand {
	display: none;
}*/
*, :after, :before {
	box-sizing: border-box;
}

@media screen and (min-width: 751px) {
a[href^="tel:"] {
    pointer-events: none;
}
}

/* ----------------------------------------------------------------------
 電話番号リンクをスマホのみ有効
---------------------------------------------------------------------- */
@media (min-width: 621px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}

/* =================================
 スマホ・PC画像振り分け
================================= */

@media screen and (min-width: 768px),print {
	.sp_only{
		display:none !important;
	}
}
	
@media screen and (max-width: 767px) {
	.pc_only{
		display:none !important;
	}
}

/* =================================
font
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}
.font50 {
	font-size: 50% !important;
}
.font60 {
	font-size: 60% !important;
}
.font70 {
	font-size: 70% !important;
}
.font80 {
	font-size: 80% !important;
}
.font90 {
	font-size: 90% !important;
}
.font100 {
	font-size: 100% !important;
}
.font110 {
	font-size: 110% !important;
}
.font120 {
	font-size: 120% !important;
	line-height:1.8em;
}
.font130 {
	font-size: 130% !important;
	line-height:2em !important;
}
.font150 {
	font-size: 150% !important;
	line-height:1.8em;
}
.font180 {
	font-size: 180% !important;
line-height:2em;
}
.font200 {
	font-size: 200% !important;
	line-height:2em;
}
.font230 {
	font-size: 230% !important;
	line-height:2em;
}
.font250 {
	font-size: 250% !important;
	line-height:2em;
}
/* =================================
font（size px）
================================= */
.font10px{
	font-size: 10px;
}
.font12px{
	font-size: 12px;
}
.font14px{
	font-size: 14px;
}
.font16px{
	font-size: 16px;
}
.font18px{
	font-size: 18px;
}
.font20px{
	font-size: 20px;
}
.font25px{
	font-size: 25px;
}
.font30px{
	font-size: 30px;
}
.font32px{
	font-size: 32px;
}
.font35px{
	font-size: 35px;
}
@media screen and (min-width: 768px) ,print{
	.font10-12px{
		font-size: 12px;
	}
	.font12-14px{
		font-size: 14px;
	}
	.font14-16px{
		font-size: 16px;
	}
	.font14-18px{
		font-size: 18px;
	}
	.font16-18px{
		font-size: 18px;
	}
	.font16-20px{
		font-size: 20px;
	}
	.font18-20px{
		font-size: 20px;
	}
	.font18-25px{
		font-size: 25px;
	}
	.font20-25px{
		font-size: 25px;
	}
	.font20-30px{
		font-size: 30px;
	}
	.font23-30px{
		font-size: 30px;
	}
	.font25-30px{
		font-size: 30px;
	}
	.font30-35px{
		font-size: 35px;
	}
	.font30-40px{
		font-size: 40px;
	}
}
@media screen and (max-width: 767px) {
	.font10-12px{
		font-size: 10px;
	}
    .font12-14px{
		font-size: 12px;
	}
	.font14-16px{
		font-size: 14px;
	}
	.font14-18px{
		font-size: 14px;
	}
	.font16-18px{
		font-size: 16px;
	}
	.font16-20px{
		font-size: 16px;
	}
	.font18-20px{
		font-size: 18px;
	}
	.font18-25px{
		font-size: 18px;
	}
	.font20-25px{
		font-size: 20px;
	}
	.font20-30px{
		font-size: 20px;
	}
	.font23-30px{
		font-size: 23px;
	}
	.font25-30px{
		font-size: 25px;
	}
	.font30-35px{
		font-size: 30px;
	}
	.font30-40px{
		font-size: 30px;
	}
}

/* =================================
font（color）
================================= */
.white{
	color:#fff;
}
.yellow{
	color:#ffff00;
}
.gray{
	color:#b3b3b3;
}
.pink{
	color:#FF2A4B;
}
.red{
	color:#ff0000;
}

/* ----------------------------------------------------------------------
 フォントファミリー
---------------------------------------------------------------------- */
.yu_font{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif !important;
}
.shuei_fontR{
	font-family: dnp-shuei-ymincho-std,sans-serif;
	font-weight: 500;
	font-style: normal;
}
.shuei_fontB{
	font-family: dnp-shuei-ymincho-std,sans-serif;
	font-weight: 600;
	font-style: normal;
}
.heigo_fontW3{
	font-family: heisei-kaku-gothic-std,sans-serif;
	font-weight: 300;
	font-style: normal;
}
.heigo_fontW7{
	font-family: heisei-kaku-gothic-std,sans-serif;
	font-weight: 700;
	font-style: normal;
}


/* =================================
font（weight）
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}

/* =================================
テキスト揃え
================================= */
.txtJustify{
	text-align:justify;
}
.txtCenter{
	text-align:center;
}
.txtLeft{
	text-align:left;
}
.txtRight{
	text-align:right;
}

/* =================================
テキスト揃え行間
================================= */
.lh15{
	line-height:1.5em;
}
.lh18{
	line-height:1.8em;
}
.lh20{
	line-height:2.0em;
}
.lh25{
	line-height:2.5em;
}

/* =================================
文字間
================================= */
.ls01{
	letter-spacing: 0.1em;
}
.ls02{
	letter-spacing: 0.2em;
}

/* =================================
改行
================================= */

/*スマホのみ改行*/
@media screen and (min-width: 769px) ,print{
    .kaigyouSp {
     display: none;
    }
}
@media screen and (min-width: 620px) ,print{
	.kaigyouMb {
		display: none;
	   }
}
/*PCのみ改行*/
@media screen and (max-width: 768px) {
    .kaigyouPc {
        display: none;
    }
}


/* =================================
背景色
================================= */
.bgWhite{
	background: #fff;
}

/* =================================
角丸
================================= */
.radius10{
	border-radius:10px;
}
.radius15{
	border-radius:15px;
}
.radius20{
	border-radius:20px;
}

/* ----------------------------------------------------------------------
 マーカーアニメーション
---------------------------------------------------------------------- */
 
.marker-animation.active{
    background-position: -100% .5em;
}
.marker-animation {
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
    font-weight: bold;
}
.marker-animation01{/*黄色*/
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,100) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,100) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,255,100) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,255,100) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,255,100) 50%);
}

/* =================================
 margin・padding
================================= */

/*margin right*/
.mr05 {
margin-right: 5px;
}
.mr10 {
margin-right: 10px;
}
.mr15 {
margin-right: 15px;
}
.mr20 {
margin-right: 20px;
}
.mr25 {
margin-right: 25px;
}
.mr30 {
margin-right: 30px;
}
.mr35 {
margin-right: 35px;
}
.mr40 {
margin-right: 40px;
}
.mr45 {
margin-right: 45px;
}
.mr50 {
margin-right: 50px;
}
/*margin left*/
.ml05 {
margin-left: 5px;
}
.ml10 {
margin-left: 10px;
}
.ml15 {
margin-left: 15px;
}
.ml20 {
margin-left: 20px;
}
.ml25 {
margin-left: 25px;
}
.ml30 {
margin-left: 30px;
}
.ml35 {
margin-left: 35px;
}
.ml40 {
margin-left: 40px;
}
.ml45 {
margin-left: 45px;
}
.ml50 {
margin-left: 50px;
}
/*margin top*/
.mt00 {
margin-top: 0px !important;
}
.mt05 {
margin-top: 5px;
}
.mt10 {
margin-top: 10px;
}
.mt15 {
margin-top: 15px;
}
.mt20 {
margin-top: 20px;
}
.mt25 {
margin-top: 25px;
}
.mt30 {
margin-top: 30px;
}
.mt35 {
margin-top: 35px;
}
.mt40 {
margin-top: 40px;
}
.mt45 {
margin-top: 45px;
}
.mt50 {
margin-top: 50px;
}
.mt80 {
margin-top: 80px;
}
.mt100 {
margin-top: 100px;
}
/*margin bottom*/
.mb00 {
margin-bottom: 0px !important;
}
.mb05 {
margin-bottom: 5px;
}
.mb10 {
margin-bottom: 10px;
}
.mb15 {
margin-bottom: 15px;
}
.mb20 {
margin-bottom: 20px;
}
.mb25 {
margin-bottom: 25px;
}
.mb30 {
margin-bottom: 30px;
}
.mb35 {
margin-bottom: 35px;
}
.mb40 {
margin-bottom: 40px;
}
.mb45 {
margin-bottom: 45px;
}
.mb50 {
margin-bottom: 50px;
}
.mb80 {
margin-bottom: 80px;
}
.mb100 {
margin-bottom: 100px;
}
/*padding right*/
.pr05 {
padding-right: 5px;
}
.pr10 {
padding-right: 10px;
}
.pr15 {
padding-right: 15px;
}
.pr20 {
padding-right: 20px;
}
.pr25 {
padding-right: 25px;
}
.pr30 {
padding-right: 30px;
}
.pr35 {
padding-right: 35px;
}
.pr40 {
padding-right: 40px;
}
.pr45 {
padding-right: 45px;
}
.pr50 {
padding-right: 50px;
}
/*padding left*/
.pl05 {
padding-left: 5px;
}
.pl10 {
padding-left: 10px;
}
.pl15 {
padding-left: 15px;
}
.pl20 {
padding-left: 20px;
}
.pl25 {
padding-left: 25px;
}
.pl30 {
padding-left: 30px;
}
.pl35 {
padding-left: 35px;
}
.pl40 {
padding-left: 40px;
}
.pl45 {
padding-left: 45px;
}
.pl50 {
padding-left: 50px;
}
/*padding top*/
.pt05 {
padding-top: 5px;
}
.pt10 {
padding-top: 10px;
}
.pt15 {
padding-top: 15px;
}
.pt20 {
padding-top: 20px;
}
.pt25 {
padding-top: 25px;
}
.pt30 {
padding-top: 30px;
}
.pt35 {
padding-top: 35px;
}
.pt40 {
padding-top: 40px;
}
.pt45 {
padding-top: 45px;
}
.pt50 {
padding-top: 50px;
}
.pt80 {
padding-top: 80px;
}
.pt100 {
padding-top: 100px;
}
/*padding bottom*/
.pb05 {
padding-bottom: 5px;
}
.pb10 {
padding-bottom: 10px;
}
.pb15 {
padding-bottom: 15px;
}
.pb20 {
padding-bottom: 20px;
}
.pb25 {
padding-bottom: 25px;
}
.pb30 {
padding-bottom: 30px;
}
.pb35 {
padding-bottom: 35px;
}
.pb40 {
padding-bottom: 40px;
}
.pb45 {
padding-bottom: 45px;
}
.pb50 {
padding-bottom: 50px;
}
.pb80 {
padding-bottom: 80px;
}
.pb100 {
padding-bottom: 100px;
}
/*padding all*/
.pd20{
	padding: 20px;
}

/* =================================
 inner
================================= */
.inner01{
	width: 100%;
	max-width: 1000px;
	margin-left:auto;
	margin-right:auto;
}
.inner02{
	width: calc(100% - 30px);
	max-width: 1000px;
	margin-left:auto;
	margin-right:auto;
}
.inner03{
	width: calc(100% - 30px);
	max-width:768px;
	margin-left:auto;
	margin-right:auto;
}

/* =================================
 float
================================= */

.left{
	float: left;
}
.right{
	float: right;
}
.clearfix{
	content:""; /*疑似要素を実体化*/
	display:block; /*ブロック要素に変更する*/
	clear:both; /*floatを解除する*/
}

/* =================================
clearfix
================================= */

.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clearfix{
	display:inline-table;
	min-height:1%;
}
/* \*/
html .clearfix{
	* height:1%;
}
.clearfix{
	display:block;
}
/* */
.clear {
	clear: both;
}

/* ----------------------------------------------------------------------
 flexbox
---------------------------------------------------------------------- */
.flex{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: stretch;    /*全ての要素の高さを揃える*/
}
.flex-wrap{
	flex-wrap:wrap; 	/*要素を折り返して繰り返す*/
}
.space-between{
	justify-content: space-between; /*均等に間隔をあける*/
}
.row-reverse{
	flex-flow: row-reverse; /*並び順を逆にする*/
}
.border-box{
	box-sizing:border-box;
}
@media(max-width:767px)  {
	.flex_block{
		display: block;
	}
}
.flexBox02{
	width:49%;
}
@media screen and (min-width: 768px) ,print{
	.flexBox2{
	width:48%;
	}
	.flexBox3{
	width:31%;
	}
	.flexBox4{
	width:23%;
	}
}
@media screen and (max-width: 767px) {
	.flexBox2{
		width:100%;
		margin-bottom:30px;
	}
	.flexBox3{
		width:100%;
		margin-bottom:30px;
	}
	.flexBox3:last-child{
		margin-bottom: 0;
	}
	.flexBox4{
		width:48%;
		margin-bottom:30px;
	}
}


/* =================================
 header・メインビジュアル
================================= */
header{
	width:100%;
	max-width: 1150px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (min-width: 768px) ,print{
	img.mv_pc{
		display: block;
		max-width: 100%;
	}
	img.mv_sp{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	img.mv_pc{
		display: none;
	}
	img.mv_sp{
		display: block;
		max-width: 100%;
	}
}


/* =================================
 wrapper
================================= */
body{
	background:url(../images/bg_body.jpg);
}
.wrapper{
	width:100%;
	max-width: 1150px;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	padding: 15px 0;
	box-shadow: 1px 0 10px rgba(100, 100, 100, 0.6);
}
@media screen and (max-width: 767px) {
	.wrapper{
		padding: 10px 0;
	}
}

/* =================================
 footer
================================= */
.footer{
	position: relative;
}
/*サイトマップ*/
ul.footSitemap{
	text-align: center;
}
ul.footSitemap li{
	display: inline-block;
	padding: 0 8px;
}
ul.footSitemap li a{
	color: #fff;
	text-decoration: none;
	display: block;
}
@media screen and (min-width: 768px),print {
	ul.footSitemap{
		padding-bottom: 15px;
	}
}
@media screen and (max-width: 767px){
	ul.footSitemap li{
		display: block;
	}
}


/*コピーライト*/
.copyright{
	background: #000;
}
.copyright p{
	text-align: center;
	color: #fff;
	font-size:80%;
	font-weight:bold;
	padding-top:20px;
	padding-bottom:20px;
	line-height: 1.5em;
	width:90%;
	margin-left: auto;
	margin-right: auto;
}

/* =================================
 追従バナー
================================= */
.footerContentBox{
	position:relative;
}
.footer_bnr{
	z-index:9;
	width:100%;
	position: fixed;
	bottom: 0;
}
.footContent{
	background:url(../images/bg_footer_bnr.jpg) no-repeat center center;
	background-size: cover;
	padding:10px 0;
}
@media screen and (min-width: 768px),print {
	.footer_bnrPc{
		display: block;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.footer_bnrSp{
		display: none;
	}
}
@media screen and (max-width: 767px){
	.footContent{
		padding:3px 0;
	}
	.footer_bnrPc{
		display: none;
	}
	.footer_bnrSp{
		display: block;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

/* =================================
 トップへ戻るボタン
================================= */
.pageTop {
	position: fixed;
	bottom: 110px;
	right: 20px;
	z-index: 999;
	opacity: 0;
	visibility: hidden;
}
.pageTopActive{
	opacity: 1;
	visibility: visible;
}
.pageTop i {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.pageTop a {
	position: relative;
	display: block;
	color: #fff;
	font-weight: bold;
	font-size:20px;
	text-decoration: none;
	text-align: center;
	background:#ff0000;
	width:45px;
	height:45px;
	border-radius: 5px;
	line-height: 20px;
}
.pageTop a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.absolute{
	position: absolute;
	bottom: 170px;
}
@media screen and (max-width: 620px) {
	.pageTop {
		bottom: 100px;
	}
	.absolute{
		bottom: 165px;
	}
}

/* =================================
 スクロールフェード
================================= */
/*アニメーション要素のスタイル*/
.animation{
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(50px);
  }
  /*アニメーション要素までスクロールした時のスタイル*/
  .active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
  }



/* =================================
 ページ内容（トップページ）
================================= */

/*共通ボタン*/
@media screen and (min-width: 621px),print {
	a.btnPc{
		display: block;
		width:100%;
	}
	a.btnSp{
		display: none;
	}	
}
@media screen and (max-width: 620px) {
	a.btnSp{
		display: block;
		width:100%;
	}
	a.btnPc{
		display: none;
	}
}

/*はじめに*/
.intro{
	background:url(../images/bg_intro.jpg) no-repeat center center;
	background-size: cover;
	width:100%;
}

/*藁焼き師紹介*/
.warayakishi h3{
	font-size:35px;
}
@media screen and (max-width: 767px) {
	.warayakishi h3{
		font-size:28px;
		text-align: center;
	}
	.spCenter{
		text-align: center;
	}
}
p.warayaki_katagaki{
	display: inline-block;
	background: #f2f2f2;
	padding: 5px 10px;
	border: 1px #000 solid;
}
.warayakishiImg{
	width:300px;
}
.warayakishiTxt{
	width: calc(100% - 340px);
}
@media screen and (max-width: 767px) {
	.warayakishiImg{
		max-width:300px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
	}
	.warayakishiTxt{
		width:100%;
	}
}

/*メディア紹介*/
.medhia h3{
	font-size:45px;
	position: relative;
	top:-1em;
	line-height: 1.5em;
}
.medhia p{
	position: relative;
	top:-1.5em;
}
@media screen and (max-width: 767px) {
	.medhia h3{
		font-size:35px;
		line-height: 1.2em;
	}
}

/*高知市議会議員 横山公大さんも絶賛！*/
.zessan{
	background: url(../images/bg_zessan.jpg) no-repeat center center;
	background-size: cover;
}
.zessan h3{
	font-size: 35px;
}
@media screen and (max-width: 768px) {
	.zessan h3{
		font-size: 25px;
	}
}
.zessanImg{
	width:360px;
}
.zessanTxt{
	width:calc(100% - 390px);
}

@media screen and (max-width: 768px) {
	.zessanTxt{
		width:100%;
		max-width: 620px;
		margin-bottom: 20px;
		text-align: center;
	}
	.zessanImg,.zessanTxt{
		margin-left: auto;
		margin-right: auto;
	}
}
.zessanballoon{
	position: relative;
	display: inline-block;
	padding: 20px;
	max-width: 100%;
	background: rgba(255,255,255,0.7);
	box-sizing: border-box;
}
.zessanballoon:before {
	content: "";
	position: absolute;
	border: 15px solid transparent;
}
@media screen and (min-width: 769px),print {
	.zessanballoon{
		margin: 1.5em 0;
		min-width: 360px;
	}
	.zessanballoon:before{
		top: 50%;
		left: -30px;
		margin-top: -15px;
		border-right: 15px solid #fff;
		opacity: 0.7;
	}
}
@media screen and (max-width: 768px) {
	.zessanballoon{
		margin: 1.5em 0 1.5em ;
		width:100%;
	}
	.zessanballoon:before{
		top: 100%;
		left: 50%;
		margin-left: -15px;
		border-top: 15px solid #fff;
		opacity: 0.7;
	}
	.zessanballoon h4{
		line-height: 1.2em;
	}
}
.zessanballoon h4{
	border-bottom:1px #000 solid;
	margin-bottom: 10px;
}

/*かつおの藁焼きたたきを取り寄せよう！*/
.toriyose{
	background: #000;
}
.toriyoseWrap{
	background: url(../images/bg_check.png) no-repeat center center;
	background-size: contain;
}
.sankaku_red{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 50px 0 50px;
	border-color: #ff2a4a transparent transparent transparent;
	margin: 25px auto;
}
.toriyoseCheck{
	background:rgba(255,255,0,0.8);
	padding: 20px;
	box-sizing: border-box;
}
ul.toriyoseUl li::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00c";
	color:#ff2a4a;
	margin-right: 0.5em;
}
ul.toriyoseUl li {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom:1px #000 dashed;
	padding-left:1.5em;
	text-indent:-1.5em;
	line-height: 1.5em;
}
ul.toriyoseUl li:last-child{
	margin-bottom: 0;
	padding-bottom: 10px;
}

/*誕生*/
.tanjo{
	background:url(../images/bg_tanjo.jpg) no-repeat center center;
	background-size: cover;
	width:100%;
}

/*offer01*/
.offer01{
	background:url(../images/bg_offer01.jpg) no-repeat center center;
	background-size: cover;
	width:100%;
}
.offer_kigen{
	background: #ffff00;
	padding: 10px;
	border-radius: 100px;
	box-sizing: border-box;
}
.reason .flexBox2 h4{
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
}
.reason .flexBox2{
	padding-bottom: 15px;
	border-bottom: 1px solid #000;
}

/*ゆず*/
.yuzu{
	background: url(../images/bg_yuzu.jpg) no-repeat center center;
	background:cover;
}
.yuzu_titSub{
	display: inline-block;
	background-size: auto auto;
	background-color: rgba(255, 255, 255, 1);
	background-image: repeating-linear-gradient(45deg, transparent, transparent 3px, rgba(255, 255, 0, 1) 3px, rgba(255, 255, 0, 1) 6px );
	padding: 5px 15px;
	box-sizing: border-box;
}
.yuzu h3{
	
}

/*藁付きかつおの藁焼きたたきセット販売開始！*/
.waraset{
	background: url(../images/bg_waraset.jpg) no-repeat center center;
	background:cover;
}
.waraset h4{
	padding: 10px;
	background: #FFFF00;
	border-radius: 100px;
	text-align: center;
	box-sizing: border-box;
}
.warasetTxt{
	background: #fff;
	border-radius:5px;
	padding: 20px;
	box-sizing: border-box;
}

/*ピックアップ*/
.pickup{
	background: #000;
}
.pickupBox{
	margin-bottom: 50px;
}
.pickupTxt{
	width:calc(100% - 280px);
}
.pickupImg{
	width:250px;
}
@media screen and (max-width: 768px) {
	.pickupBox{
		margin-bottom: 30px;
	}
	.pickupTxt{
		width: 100%;
		margin-bottom: 15px;
	}
	.pickupImg{
		width:250px;
		margin-left: auto;
		margin-right: auto;
	}
}
.pickupTit{
	position: relative;
	padding-bottom: 10px;
	border-bottom: 1px #fff solid;
}
.pickupTit01::before{
	content: url(../images/ico_pickup01.png);
    position: absolute;
    top: 8px;
	left:0;
}
.pickupTit02::before{
	content: url(../images/ico_pickup02.png);
    position: absolute;
    top: 8px;
	left:0;
}
.pickupTit03::before{
	content: url(../images/ico_pickup03.png);
    position: absolute;
    top: 8px;
	left:0;
}
.pickupTit04::before{
	content: url(../images/ico_pickup04.png);
    position: absolute;
    top: 8px;
	left:0;
}
.pickupTit05::before{
	content: url(../images/ico_pickup05.png);
    position: absolute;
    top: 8px;
	left:0;
}
.pickupTitInner{
	padding-left:95px;
}

/*かつおのたたきの伝統的な食べ方はタレで*/
.balloon_bottom {
    position: relative;
    display: inline-block;
    background-color: #fff;
    border-bottom: solid 2px #000;
    padding: 0;
    width: 100%;
    text-align: center;
	margin-bottom: 30px;
}
.balloon_bottom:before,
.balloon_bottom:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.balloon_bottom:before {
    border: solid 12px transparent;
    border-top: solid 12px #000;
}
.balloon_bottom:after {
    border: solid 14px transparent;
    border-top: solid 14px #fff;
    margin-top: -5px;
}

/*アレンジレシピ*/
.recipe{
	background: #000;
}
.sankaku100{
	width: 0;
	max-width: 100px;
	height: 0;
	border-style: solid;
	border-width: 50px 50vw 0 50vw;
	border-color: #fff transparent transparent transparent;
}
.recipeBox{
	position: relative;
}
@media screen and (max-width: 767px) {
	.recipeBox img.imgCenter{
		object-fit: cover;
		height: 120px;
		width: 100%;
	}
}
img.bgRecipe{
	width: 100%;
	position: absolute;
	z-index: -1;
	bottom:0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/*お客様の声*/
h4.voiceTit {
	position: relative;
	padding:0.25em 1em;
	display: inline-block;
	top:0;
  }
h4.voiceTit:before, h4.voiceTit:after { 
	position: absolute;
	top: 0;
	content:'';
	width: 8px;
	height: 100%;
	display: inline-block;
}
h4.voiceTit:before {
	border-left: solid 1px black;
	border-top: solid 1px black;
	border-bottom: solid 1px black;
	left: 0;
}
h4.voiceTit:after {
	content: '';
	border-top: solid 1px black;
	border-right: solid 1px black;
	border-bottom: solid 1px black;
	right: 0;
}
.voiceSex {
	position: relative;
	padding: 5px;
	text-align: center;
}
.voiceSex:before {
	position: absolute;
	bottom: -10px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 250px;
	height: 4px;
	content: '';
	border-radius: 2px;
}
.voiceSexM:before{
	  background: #FFFF00;
}
.voiceSexW:before{
	  background: #FF2A4B;
}

/*よくある質問*/
.faq{
	background:url(../images/bg_faq.jpg) no-repeat center center;
	background-size: cover;
	width:100%;
}
dl.faqDl dt{
	font-weight:bold;
}
dl.faqDl dd{
	padding-bottom: 20px;
	margin-bottom: 15px;
	border-bottom: 1px #fff solid;
}
dl.faqDl dt,dl.faqDl dd{
	color:#fff;
	padding-left:50px;
	text-indent:-50px;
	line-height: 1.8em;
}
dl.faqDl dt::before,dl.faqDl dd::before{
	margin-right: 10px;
    position: relative;
    top: 14px;
}
dl.faqDl dt::before{
	content: url(../images/ico_faq_q.png);
}
dl.faqDl dd::before{
	content: url(../images/ico_faq_a.png);
}

/*ごあいさつ*/
.greeting{
	position: relative;
	overflow: hidden;
}
.greeting .inner03{
	position: relative;
	z-index: 1;
}
img.greetingBg{
	position: absolute;
	bottom:0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width:1000px;
	
	z-index: 0;
}

/*オファー02*/
.offer02{
	background:url(../images/bg_offer02.jpg) no-repeat center center;
	background-size: cover;
	width:100%;
}
.offer_kigen_red{
	background: #FF2A4B;
	padding: 10px;
	border-radius: 100px;
	box-sizing: border-box;
	color:#fff;
}
.offerBalloon {
	position: relative;
	display: inline-block;
	margin: 0 0 1.5em;
	padding: 15px 0;
	width: 100%;
	background: rgba(255,42,75,0.6);
}
.offerBalloon:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid rgba(255,42,75,0.6);
}

/*贈り物*/
.presentBalloon {
	position: relative;
	display: inline-block;
	margin: 10px 0 5px;
	padding: 7px 10px;
	width:100%;
	max-width: 400px;
	background: #FF2A4B;
  }
  
  .presentBalloon:before {
	content: "";
	position: absolute;
	top: -30px;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-bottom: 15px solid #FF2A4B;
  }

  /*ボタン Footer*/
.btn_footBox{
	width:48%;
}
.btn_footBox a{
	display: block;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.btn_footBox{
		width: 100%;
		max-width:480px;
		margin-left: auto;
		margin-right: auto;
	}
	.btn_footBox{
		margin-bottom: 20px;
	}
}
