/* reset */
/*body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	box-sizing: border-box;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

input, select {
    vertical-align:middle;
}

body {
	font-family: 'M PLUS 1p', sans-serif;
   /*font-family: "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;*/
    -webkit-text-size-adjust: 100%;
    line-height: 1.7;
    font-size: 100%;
    color: #212121;
    background-color: #ffffff;
   }


/* 小さい画面用の設定-------------- */
@media (max-width:767px){
	body {
		font-size:90%;
		line-height: 1.6;
}

}
/* -------------end------------- */


ol, ul{
    list-style:none;
}
fieldset, img{
     border:0;
}

caption, th{
    text-align: left;
}
address, caption, cite, code, dfn, em, strong, th, var{
    font-style: normal; 
    font-weight: normal;
}

hr{
	display:none;
}

html {
	margin-bottom:1px;
	height:100%;
}

* {
    box-sizing: border-box;
}

/* line style　------------------------------*/
/* -----------------------------------------*/

a img{
	border-style:none;
}

a:hover {
opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

/* link style ------------------------------*/
/* -----------------------------------------*/
a:link {
	color: #212121;
	text-decoration: none;	
}
a:visited {  color: #212121;
	text-decoration: none;	}


a:active {
	color: #ccc;
	text-decoration: none; 
}

.link_line{
	text-decoration: underline;
}

img, video, object {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: none;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}

a:active, a:focus,input:active, input:focus{outline:0;}

img{
	width: 100%;
	height: auto;
}

iframe {
    vertical-align: bottom;
}

/* ========================================

    ■ Header■ Keyv

======================================== */
#keyv {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
	 position: relative;
}


/* 大きい画面用の設定-------------- */
@media (min-width:768px) {
.header_outside {
    background-image: url(../img/main_bg.png);
    background-position: center top;
    background-repeat: no-repeat;
}
}
/* -------------end------------- */
/* ========================================

    ■ con_bnr

======================================== */

/* 大きい画面用の設定-------------- */
@media (min-width:768px){
.con_bnr{
position: absolute;
left: 40.8%;
	top:70.7%;
width: 17%;
}
	
.con_bnr_flex{display: flex;}
	
.con_bnr_flex li{width: 100%;
}
	
.con_bnr_flex li img{width: 100%;
max-width: 320px;
}
	
}
/* -------------end------------- */


.con_bnr_flex li a:hover {
	opacity: 0.9!important;
}
.con_bnr_flex li a:hover img {
	opacity: 0.9!important;
}


/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.con_bnr{
position: absolute;
left: 36.7%;
top:69.8%;
width: 21.2%;

}

.con_bnr_flex{display: flex;}
	
.con_bnr_flex li{width: 100%;
}
	
.con_bnr_flex li img{width: 100%;
max-width: 320px;
}

}
/* -------------end------------- */



.fluffy {
 animation: fluffy1 3s ease infinite;
}

@keyframes fluffy1 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

.contents{
	max-width: 1000px;
	width: 98%;
	margin-left: auto;
	margin-right: auto;
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.contents{
	width: 94%;
}
	}
/* -------------end------------- */


/* ========================================

    ■ con1

======================================== */

.con1_outside{background-color: #DBCF74;
	padding-top: 30px;
	padding-bottom: 30px;
}

/* 大きい画面用の設定-------------- */
@media (min-width:768px){
.con1_flex_box{display: flex;
justify-content: space-around;}

.con1_flex_box li{width: 45%;}
	}
/* -------------end------------- */

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.con1_outside{background-color: #DBCF74;

}
	
.con1_flex_box{width: 90%;
	margin-left: auto;
	margin-right: auto;}
	
.con1_flex_box li:first-child{margin-bottom: 15px;}

	}
/* -------------end------------- */


/* ========================================

    ■ con２ 

======================================== */

.con2_outside{background-color: #FFE23D;
	padding-top: 50px;
	padding-bottom: 50px;
}

.con2{background-color: #ffffff;
	border-radius: 10px;
	padding: 50px;
}

.con2_title{margin-bottom: 50px;}



.con2_dl dt {
clear: left;
	float: left;
	width: 9%;
}

.con2_dl dd {
	padding-left: 9%;
	margin-bottom: 25px;
	padding-bottom: 25px;
	border-bottom-width: 2px;
	border-bottom-style: dashed;
	border-bottom-color: #CCC;
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
	.con2_dl dd {
	padding-left: 12%;
border-bottom-width: 1px;
	
}
	}
/* -------------end------------- */

.con2_dl dt img {
	max-width: 60px;
}



/* 大きい画面用の設定-------------- */
@media (min-width:768px){
.con2_flex_box{display: flex;
justify-content: space-between;
}

.con2_flex_box li:first-child{width: 45%;
font-size: 125%;
line-height: 1.5;}
.con2_flex_box li:last-child{width: 55%; }
	
.con2_flex_box2 li:first-child{
font-size: 125%;
line-height: 1.5;
margin-bottom: 20px;}
	
	}
/* -------------end------------- */

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.con2_flex_box li:first-child,
.con2_flex_box2 li:first-child{
font-size: 107%;
line-height: 1.5;
margin-bottom: 20px;}
	}
/* -------------end------------- */


.con2_hello_btm{
	background-image: url(../img/con2_btm_bg.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	margin-bottom: 50px;
}

.con2_hello_mid{
	background-image: url(../img/con2_mid_bg.png);
	background-position: center center;
	background-repeat: repeat-y;	
	background-size: contain;

}

.con2_hello_top{
	
	background-image: url(../img/con2_upper_bg.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
}

.con2_hello{
	padding: 30px;
	font-size: 90%;
}

.con2_hello_name{text-align: right;}

.con2_shopinfo{
	max-width: 800px;
    margin-left: auto;
    margin-right: auto;
	padding: 30px;
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.con2{
	padding: 20px;
}
	
.con2_title{margin-bottom: 30px;}
	
.con2_hello_btm{
margin-bottom: 20px;
}

.con2_hello{
	padding: 15px;
	font-size: 90%;
}
	
	.con2_hello_name{font-size: 80%;}
	
.con2_shopinfo{
	width: 100%;
	padding: 15px;
}

}
/* -------------end------------- */

/* ========================================

   .bt_btn

======================================== */

.bt_btn{
    background-color: #9B1F23;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
   padding-top: 15px;
	padding-bottom: 15px;;
  text-align: center;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
	font-size:  125%;
	font-weight: 700;
	border-radius: 4px;
    
}

.bt_btn a{
    color: #ffffff;
    display: block;
}


.bt_btn:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
}




/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.bt_btn{
width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
	 font-size: 119%;}

	}
/* -------------end------------- */






/* ========================================

    ■ con3 

======================================== */

.con3_outside{
	background-color: #DACE74;
	padding-top: 50px;
	padding-bottom: 50px;
	background-image: url(../img/con3_bg.png);
	background-repeat: repeat;
	background-position: center top;
}

.con3{background-color: #ffffff;
	border-radius: 10px;
	padding: 50px;
}

.con3_title{margin-bottom: 50px;}

.con3_about{
	border: 1px solid #CCCCCC;
	padding: 20px;
}

.con3_about_title{max-width: 200px;
    margin-left: auto;
    margin-right: auto;
	margin-bottom: 10px;}

.con3_about_flex_box{display: flex;
justify-content: space-between;}

.con3_about_flex_box li:first-child{width:10%; }

.con3_about_flex_box li:last-child{width:86%; }

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.con3{
	padding: 20px;
}
	
.con3_title{margin-bottom: 30px;}
	
.con3_about{
	font-size: 90%;
}

}
/* -------------end------------- */


/* ========================================

    ■ SNS

======================================== */

.sns_flex_box > li:first-child{
	text-align: center;
}
/* 大きい画面用の設定-------------- */
@media (min-width:768px){
.sns_flex_box{display: flex;
justify-content: space-between;
width: 50%;
	   margin-left: auto;
    margin-right: auto;
	align-items: center;
}

.sns_flex_box > li{width: 50%;
}


	}
/* -------------end------------- */

.sns_icon{display: flex;
font-size: 300%;
justify-content: space-around;
color:#6D535A; }

.sns_icon a{color:#6D535A; }

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
	.sns_icon{width: 50%;
	   margin-left: auto;
    margin-right: auto;}
	}
/* -------------end------------- */

.attension_box{font-size: 80%;
margin-bottom: 50px;}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.attension_box{
margin-bottom: 30px;}
	}
/* -------------end------------- */




/* ========================================

    ■ Cta

======================================== */
.cta_wrap {
background-color:#9B1F23;
}


.cta{
	max-width: 1000px;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.cta_btn{
    background-color: #fff;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
   padding-top: 10px;
	padding-bottom: 10px;
  text-align: center;
-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
	font-size: 125%;
	font-weight: 700;
	border-radius: 4px;
}

.cta_btn a {
	color: #9B1F23;
}

.cta_btn:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
}




/* 小さい画面用の設定-------------- */
@media (max-width:767px) {
.cta{
max-width: 94%;
    
}
.cta_btn{
width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
	font-size: 119%;}

.cta_btn a{
    font-size: 119%;
}

}

/* -------------end------------- */



.nav_btm {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1000;
    display: none;
    width: 100%;
}



/* ====================================================
　pagetop
==================================================== */

.pagetop {
    display: none;
    position: fixed;
    bottom: 80px;
    right: 15px;
}
.pagetop a {
    display: block;
color: #9B1F23;
    font-size:  300%;
	
}
.pagetop a:hover {
filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.pagetop {
bottom: 80px;
}
	
.pagetop a {
font-size:  200%;
	
}
}
/* -------------end------------- */
/* ========================================

    ■ Copyright

======================================== */
#copyright {
    margin-right: 0;
    margin-left: 0;
    font-size: 70%;
    overfloa: hidden;
    padding-bottom: 110px;
    padding-top: 10px;
    background-color: #6D535A;
    color: #fff;
    text-align: center;
}
#copyright a {
    color: #fff;
}

.hampon_logo_w{text-align: center;
width: 10%;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
	.hampon_logo_w{width: 30%;}
	}
/* -------------end------------- */

/*　画面サイズが540px以下はここを読み込む　*/
@media screen and (max-width:540px) {
#copyright {
    padding-bottom: 80px;
}
}
/* -------------540end------------- */

/* PC向けレイアウトの指定：481px以上では固定レイアウト */
.miniimage {
    display: none;
}  /* miniを非表示 */
.bigimage {
    display: block;
    line-height: 0px;
} /* bigを表示 */

@media screen and (max-width: 480px) {
.miniimage {
    display: block;
    line-height: 0px;
} /* miniを表示 */
.bigimage {
    display: none;
}   /* bigを非表示 */
}

/*  PCのみに表示するメニュー*/
.only_smt { display: none; }  /* miniを非表示 */
.only_pc  { display: block; 
} /* bigを表示 */
	
/*  スマホのみに表示するメニュー*/
@media only screen and (max-width: 768px) {
.only_smt {
	display: block;
	
} /* miniを表示 */
.only_pc  { display: none; }   /* bigを非表示 */
}





nav {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    display: none;
}