@charset "utf-8";

/* ============================== Setup */
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;
}

body{
    background: #fff url(../img/bg_body.png);
	font-size: 16px;
	color:#544a47;
	letter-spacing: 1px;
}

table {
	border-collapse:separate;
	border-spacing: 2px;
}

ul, ol, dl {
	padding: 0px;
	margin: 0px;
	list-style-type: none;
}

h1, h2, h3, h4, h5, h6, p {
	margin: 0px;
	padding:0px;
	font-weight: normal;
}

img{
	max-width: 100%;
	height: auto;
	width /***/:auto;
	margin: 0px;
	padding: 0px;
	border: none;
	pointer-events: none;
}

a img {
	border: none;
}

a:link {
	font-weight: normal;
	text-decoration: none;
	color: #5b4d41;
}

a:visited {
	text-decoration: none;
	color: #5b4d41;
}

a:hover, a:active, a:focus {
	text-decoration: none;
	color: #b22222;
}

.clear{
	clear: both;
	margin: 0px;
}

.red {
	color: #F06292;
	font-family: 'M+ 1p medium';
}

.bold {
	font-weight: bold;
}

.border {
	border-bottom: 1px solid;
	border-color: #b22222;
}



/* ============================== レスポンシブ振り分け */

@media only screen and (min-width: 1025px) {
	.pcnone {display:none;}
}

@media only screen and (max-width: 1024px) {
	.spnone {display:none;}
	body {font-size:14px;}
	img {
		-webkit-touch-callout:none;
  		-webkit-user-select:none;
  		-moz-touch-callout:none;
  		-moz-user-select:none;
  		touch-callout:none;
  		user-select:none;
	}
}



/* ============================== Webfont */
@font-face{ 

    font-family: 'M+ 1p light';
    src: url('../fonts/mplus-1p-light.eot');
    src: url('../fonts/mplus-1p-light.eot?#iefix') format('embedded-opentype'),
    url('../fonts/mplus-1p-light.woff') format('woff'),
    url('../fonts/mplus-1p-light.ttf') format('truetype');
}

@font-face {
    font-family: 'M+ 1p regular';
    src: url('../fonts/mplus-1p-regular.eot');
    src: url('../fonts/mplus-1p-regular.eot?#iefix') format('embedded-opentype'),
    url('../fonts/mplus-1p-regular.woff') format('woff'),
    url('../fonts/mplus-1p-regular.ttf') format('truetype');
}

@font-face {
    font-family: 'M+ 1p medium';
    src: url('../fonts/mplus-1p-medium.eot');
    src: url('../fonts/mplus-1p-medium.eot?#iefix') format('embedded-opentype'),
    url('../fonts/mplus-1p-medium.woff') format('woff'),
    url('../fonts/mplus-1p-medium.ttf') format('truetype');
}



/* ============================== Header */
header{
    background: url(../img/bg_header.png) #fff bottom repeat-x;
    display: flex;
	margin: 0px;
    padding: 0px 20px;
    position: fixed;
    justify-content: space-between;
    width: 100%;
	z-index: 100;
	height: 80px;
}

header h1 {
	margin-top: 10px;
}

@media only screen and (max-width: 1024px) {
header{
    background: url(../img/bg_header.png) #fff bottom repeat-x;
    display: inline;
	margin: 0px auto;
    padding: 0px 20px;
    position: fixed;
    text-align: center;
    width: 100%;
	z-index: 100;
	height: 100px;
}
header h1 {
	margin-top: 5px;
}
}



/* ============================== メニュー */
nav {
    display: flex;
	margin-right:20px;
	padding: 0px;
}


nav ul{
	display: table;
	margin: 40px 0px 0px 0px;
	padding: 0 ;
	text-align: center;
}

nav li{
	display: table-cell;
	min-width: 120px;
	font-size: 18px;
	font-family: 'M+ 1p medium';
}

nav a{
	display: block;
	width: 100%;
	text-decoration: none;
	color: #555;
	padding-bottom: 1px;
}

nav li.current{
	border-bottom: 3px solid #2f4f4f;
}

nav li:hover{
	color: #E7DA66;
	border-bottom: 3px solid #9acd32;
}

@media only screen and (max-width: 1024px) {
nav {
	margin: 0px;
	padding: 0px;
	width: 90%;
	border: #cfcfcf 1px solid;
	border-radius:3px;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	background-color: rgba(255,255,255,0.3);
}


nav ul{
	margin: 0px auto;
	padding: 0px;
	text-align: center;
}

nav li{
	min-width: inherit;
	font-size: 16px;
	font-family: 'M+ 1p medium';
	padding: 0px 10px;
}

nav a{
	padding: 2px;
}	

nav li.current{
	border: none;
	color: #b22222;
}

nav li:hover{
	color: #E7DA66;
	border: none;
}
}



/* ============================== パンくず */
#breadcrumb {
	font-size: 12px;
	text-align: left;
	margin: 0px 0px 5px 30px;
	padding-top: 80px;
	font-family: 'M+ 1p light';
}

@media only screen and (max-width: 1024px) {
#breadcrumb {
	padding-top: 100px;
}
}

/* ============================== ページ内リンクメニュー */

.subnav {
	display: flex;
	padding: 0px;
}

.subnav ul{
	display: table;
	margin: 20px auto;
	padding: 0 ;
	text-align: center;
}

.subnav ul li{
	display: table-cell;
	min-width: 120px;
	font-family: 'M+ 1p medium';
}

.subnav ul li a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f058";
	font-weight: 900;
	padding-right : 5px;
	color: #f89174;
}

.subnav ul li a{
	display: block;
	width: 100%;
	text-decoration: none;
	color: #544a47;
	padding-bottom: 1px;
	border: none;
}

.subnav ul li a:hover{
	color: #b22222;
}



/* ============================== コンテンツ */
article {
	width: 100%;
	background: url(../img/bg_main.png) left top no-repeat fixed;
	text-align: center;
}

.content{
	line-height: 1.6;
    margin: 0 auto;
    padding-top: 25px;
    max-width: 1080px;
}

.content a {
	text-decoration: none;
	color: #4682b4;
	padding-bottom: 1px;
	border-bottom: 1px solid;
}

.content a:hover {
	text-decoration: none;
	color: #b22222;
}

.content p{
    margin-bottom: 10px;
	font-family: 'M+ 1p regular';
}

section h1 {
	position: relative;
	margin: 10px auto 5px auto;
	text-align: center;
	font-size: 24px;
	font-family: 'M+ 1p medium';
	font-weight: bold;
}

section h1:before {
	content: '';
	position: absolute;
	bottom: -5px;
	display: inline-block;
	width: 10%;
	height: 5px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #F06292;
	border-radius: 2px;
}

section h2 {
	position:relative;
	margin: 80px auto 5px auto;
	padding:9px;
	padding-left:15px;
	width: 90%;
	border: #cfcfcf 1px solid;
	border-radius:3px;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	font-size: 20px;
	text-align: left;
	font-family: 'M+ 1p medium';
	background-color: rgba(255,255,255,0.3);
}
 
section h2:before{
	content:''; 
	height: 40px; 
	width: 2px; 
	display: block; 
	position: absolute; 
	top: 5px; 
	left: 4px;
	border-left: 5px solid #cfcfcf;
	border-radius: 3px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

.link {
	display: block;
	margin-top:-50px;
	padding-top:50px;
}

a.link {
	font-weight: normal;
	text-decoration: none;
	color: #5b4d41;
	border: none;
}

a:visited.link , a:hover.link, a:active.link , a:focus.link {
	text-decoration: none;
	color: #5b4d41;
}

section h3 {
	position:relative;
	margin: 20px auto 5px auto;
	padding-left:30px;
	text-align: left;
	font-family: 'M+ 1p medium';
	font-size: 18px;
	border-bottom: 1px solid;
}

section p {
	margin: 5px 10px 5px 30px;
	line-height: 2em;
	text-align: left;
}

@media only screen and (max-width: 1024px) {
	
article {
	background: none;
}

article:before{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(../img/bg_main.png) center no-repeat;
  background-size:cover;
}

section h1 {
	margin: 5px auto;
	font-size: 20px;
}

section h1:before {
	width: 20%;
}

section h2 {
	font-size: 18px;
}

section h3 {
	font-size: 16px;
}
}


/* ============================== リンクボタン */
.link_box .btn {
	margin: 5px;
	padding: 5px;
	border: 1px solid #cfcfcf;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	font-family: 'M+ 1p medium';
	float: right;
}

.link_box a .btn {
	color: #544a47;
}

.link_box a:hover .btn {
	color: #b22222;
	backtround: #fbfaf5;
	box-shadow: 0 0 5px #7e97a1;
}

.link_box .btn:before {
	font-family: "Font Awesome 5 Free";
	font-size: 20px;
	content: "\f101";
	font-weight: 900;
}



/* ============================== 画像BOX */
.linesticker {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	margin-top: 20px;
}

.contents-box {
	margin: 5px;
	padding: 3px;
	width: 23%;
	border: 1px #cfcfcf solid;
	border-radius:3px;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	background-color: rgba(255,255,255,0.3);
}

.contents-box img {
	display: block;
	margin: 5px auto;
	width: 100%;
	max-width: 180px;
	height: auto;
}

.contents-box .title {
	margin-bottom: 2px;
	font-size: 18px;
	font-family: 'M+ 1p medium';
	text-align: center;
}

@media screen and (max-width: 1024px){
	.contents-wrap {
		flex-direction: column;
	}

	.contents-box {
		width: 100%;
	}
}



/* ============================== 表組 */

.hyo_box {
	width: 70%;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.hyo_box .name {
	text-align:center;
	width: 25%;
	margin: 5px 0px;
	padding: 5px 0px;
	border-right: 1px solid #bc8f8f;
	border-bottom: 1px solid #bc8f8f;
}

.hyo_box .description {
	text-align:left;
	width: 70%;
	margin: 5px 0px;
	padding: 5px 0px 5px 15px;
	border-bottom: 1px solid #bc8f8f;
}


 @media only screen and (max-width: 1024px) {
 	 .hyo_box {
			width: 95%;
			margin: 5px auto;
			padding: 0px;
			display: block;
	}

	.hyo_box .name {
	width: 100%;
	margin: 0px 0px 8px 0px;
	padding: 5px 0px 5px 10px;
	text-align: left;
	border-left: 5px solid #7e97a1;
	border-bottom: 1px solid #dcdcdc;
	}

	.hyo_box .description {
		width: 100%;
		margin: 0px 0px 8px 0px;
		padding: 5px 0px 5px 10px;
		text-align: left;
		border-bottom: 1px solid #dcdcdc;
	}
	
	 .hyo_box .description .supplement {
		width: 100%;
		margin: 0px 0px 8px 0px;
		padding: 5px 0px 5px 10px;
		text-align: left;
	}
 }
 


/* ============================== Thanks */
.thanks {
	width: 80%;
	line-height: 2.5;
    margin: 15px auto;
	text-align: left;
	font-family: 'M+ 1p regular';
}



/* ============================== Notice */
.notice {
	text-align: left;
	margin: 10px 0px 10px 30px;
	padding: 0px;
	border: 1px solid #cfcfcf;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	width: 60%;
}

.notice ul li{
	margin-left: 100px;
}

.notice ul li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f044";
	font-weight: normal;
	padding-right : 5px;
	color: #f89174;
}

 @media only screen and (max-width: 1024px) {
.notice {
	text-align: left;
	margin: 10px auto;
	width: 80%;
}

.notice ul li{
	margin-left: 10px;
} 
 }
 
 

/* ============================== Footer */
footer{
    background: url(../img/bg_footer.png) #fff top repeat-x;
    padding: 10px 0px 0px 0px;
	margin: 10px 0px;
	width: 100%;
}

.copyright{
    font-size: 12px;
    text-align: center;
	margin: 0px auto;
	padding: 5px;
}
