@charset "utf-8";

* {
    padding: 0;
    margin: 0;
}

body{
    background: #26312d url("../img/bg.gif") top center repeat;
    font-family: 'Fredericka the Great', cursive,"メイリオ",sans-serif;
    color: #fff;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    letter-spacing: 1px;
}

h2,h3{
    margin: 0 0 40px;
    padding: 0;
    text-align: center;
    line-height: 1;
    clear: both;
}

h4{
    margin: 40px 0;
    padding: 0;
    text-align: left;
    line-height: 1;
    clear: both;
}

p{
    font-size: 15px;
    line-height: 1.8;
    color : #fff;
}

img {
    width: 100%;
    padding: 0;
    margin: 0;
}



ul{
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}

li a {
    padding: 0;
    margin: 0;
    text-decoration: none;
    display:inline-block;
    line-height: 3;
    color: #555;
}

.anchor{
    margin-top:-150px;
    padding-top: 150px;
}

a{
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    ms-transition: all 0.3s;
    o-transition: all 0.3s;
    transition: all 0.3s;
}

a:hover{
    color: #ff73a8;
}

a:hover img{
    -webkit-filter: saturate(160%);
    -moz-filter: saturate(160%);
    -o-filter: saturate(160%);
     -ms-filter: saturate(160%);
     filter: saturate(160%);
}

table{
    border-collapse: collapse;
    table-layout: fixed;
    border-top: 1px solid #888;
    border-right: 1px solid #888;
    border-left: 1px solid #888;
    width: 100%;
    margin-bottom: 30px;
}

th{
    width: auto;
    padding: 10px;
    background: rgba(255,255,255,0.2);
}

td{
    width: auto;
    padding: 10px;
    border-bottom: 1px solid #888;
}

dd{
    margin: 0 0 30px;
}

input{
    width: 42%;
    padding: 10px 2%;
    border-radius: 5px;
    border: 1px solid #ccc;
}

input:focus,textarea:focus{
    border: 1px solid #ff6799;
    outline: none;
}

input:nth-child(1),input:nth-child(3){
    margin-right: 2%;
}

textarea{
    resize: vertical;
    width: 90%;
    height: 200px;
    padding: 10px 2%;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-family: "Times New Roman","メイリオ",sans-serif;
}

button{
    display: block;
    width: 200px;
    padding: 10px 0;
    text-align: center;
    margin: 0 auto 30px;
    background : url(../img/green-chalk.gif) top center repeat;
    border-radius: 5px;
    color: #fff;
    border-style:none;
    outline: 0;
}

button:hover {
    background: url(../img/white-chalk.gif) top left repeat;
    color: #26312d;
}

.clearfix::after{
    content: "";
    display: block;
    clear: both;
}

.center{
    text-align: center;
}

.header_top {
    padding-bottom: 20px;
    position: relative;
}

.header_top > h1 img{
    max-width: 200px;
    margin-top: 150px;
}

.organic {
    width: 120px;
    position: absolute;
    top: 20px;
    right: -10px;
}

.content_page{
    background: url(../img/bg-formality-left_sp.png) top left no-repeat,url(../img/bg-formality-right_sp.png) bottom right no-repeat,background url(../img/bg.gif) top center repeat;
    position: relative;
}

.content_page h1{
    width: 120px;
    position: absolute;
    top: 20px;
    right: 20px;
}

.content_page header {
    height: 60px;
}

.navi_bg {
    padding: 10px 0;
    width: auto;
    background: rgba(38,49,45,0.9);
    position: fixed;
    z-index: 9999;
    border-radius: 0 5px 5px 5px;
}

.navi_logo a{
    text-decoration: none;
    color: #fff;
}

.burger_menu {
    width: 15%;
    color: #fff;
    padding: 0 10px;
    float: left;
    line-height: 1;
}

nav {
    display: none;
    clear: both;
}

nav li a {
    color: #fff;
    padding: 0 20px;
    width: auto;
    border-bottom: 1px solid rgba(255,255,255,0.8);
}

nav li:last-child a {
    border-bottom: 0;
}


main {
    width: 100%;
}

section,aside > div {
    width: 92%;
    padding: 20px 0 0;
    margin: 0 auto;
}

h2 {
    padding: 0 20%;
    font-size: 13px;
    color : #fffe8f;
}

h2 span{
    font-size: 36px;
    display: block;
}

section h3 {
    font-size: 13px;
    color: #ff73a8;
}

section h3 span {
    font-size: 24px;
    display: block;
}

section p{
    width: 92%;
    margin: 0 auto 20px;
}

.aside-area{
    background: url(../img/powder-right_sp.png) bottom right no-repeat;
}

aside h2 {
    font-size: 13px;
    color: #8feeff;
    margin-bottom: 10px;
}

aside h2 span {
    font-size: 36px;
    display: block;
}

.more a,a .more{
    display: block;
    width: 160px;
    padding: 8px 0;
    margin: 20px auto;
    background: url(../img/green-chalk.gif) top left repeat;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    clear: both;
    font-size: 20px;
}

.more a:hover,a .more:hover{
    background: url(../img/white-chalk.gif) top left repeat;
    color: #26312d;
}

.address h4{
    margin: 0;
}

/* product */

.product_list{
    display: flex;
    flex-wrap: wrap;
}

.product_list li {
    width: 50%;
}

.product-page_list li,
.info-page_list li{
    margin-bottom: 30px;
}

.product_list li,
.product-page_list li:first-child{
    position: relative;
}

.product_list .new,
.product-page_list .new{
    width: 44px;
    height: 75px;
    position: absolute;
    top: 190px;
    left: -10px;
    z-index: 7777;
}

.product-page_list li {
    border-bottom: 2px dotted #fff;
}

.product-page_list li h3 {
    margin-bottom: 0;
}

.product_list .right{
    width: 23px;
    height: 67px;
    position: absolute;
    top: 120px;
    right: -15px;
    z-index: 7777;
}

.product_list .left{
    width: 23px;
    height: 67px;
    position: absolute;
    top: 140px;
    left: -10px;
    z-index: 7777;
}

.product-page_list li:last-child,
.info-page_list li:last-child,
.info-item table:last-child {
    margin-bottom: 0;
}

.info-page_list h3 {
    color : #fff;
}

.product-item img{
    margin-bottom: 20px !important;
}

.formality-area{
    background: url(../img/bg-formality-left_sp.png) bottom left no-repeat,url(../img/bg-formality-right_sp.png) top right no-repeat;
    min-height: 560px;
    padding-bottom :20px;
}

.formality-area p {
    text-shadow: 1px 1px 10px #000,-1px 1px 10px #000,1px -1px 10px #000,-1px -1px 10px #000;
}

/* info-page */
.info-item table {
    width: 100%;
    margin-bottom: 30px;
}

.info-page_list div{
    width: 90%;
    margin: 0 auto 18px;
    position: absolute;
    font-size: 18px;
    background: rgba(255,255,255,0.8);
    bottom: 0;
    left: 0;
    padding: 5%;
}

.info-page_list h3,.info-page_list p {
    font-family: "メイリオ",sans-serif;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.2;
    margin: 0;
    text-align: left;
    color: #26312d;
}

.info-page_list li {
    position: relative;
}

/* aside */

.info_list {
    display: flex;
    flex-direction: column;
}

.info_list li{
    padding: 5px 0;
    line-height: 1;
}

.info_list li img{
    width: 35%;
    float: left;
}

.info_list li div{
    width: 60%;
    padding: 0 2%;
    float: right;
}

.info_list li div p{
    margin: 10px 0;
    line-height: 1.2;
}

iframe{
    width: 100%;
    height: 200px;
}

aside{
    padding: 40px 0;
}

aside > div:nth-child(2){
    padding: 40px 0 1px;
}

.info_area{
    margin-bottom: 30px;
}

.address{
    margin: 0 auto 30px;
}

.address_area img{
    width: 35%;
    margin: 0 5% 20px 0;
    float: left;
}

footer {
    width: 100%;
    padding: 10px 0;
    color: #fff;
    text-align: center;
    background : url(../img/white-border.gif) top center repeat-x;
}

footer div {
    width: 92%;
    margin: 0 auto;
}

footer p{
    clear: both;
    text-align: center;
    padding: 0;
    margin: 0;
}

#pagetop{
    position: fixed;
    background: url(../img/green-chalk.gif) 0 0 repeat;
    right: 10px;
    bottom: 10px;
    width: 40px;
    height: 40px;
    text-align: center;
    z-index: 10000;
    border-radius: 50%;
}

#pagetop i{
    margin-top: 25%;
    color :#fff;
    font-size: 20px;
}

.footer_info{
    width: 40%;
    float: left;

}

.footer_info li a{
    font-size: 12px;
    color: #fff;
    line-height: 1.8;
}

.sns{
    width: 56%;
    float: right;
    display: flex;
    justify-content: space-between;
}

.sns li a{
    display: block;
    padding: 0;
    margin-bottom: 10px;
    border-radius: 5px;
    float: left;
    font-size: 50px;
    line-height: 1;
    color: #fff;
}

@media screen and (max-width: 640px){
.top_page {
    background: url(../img/top_sp.png) top center no-repeat,
    url(../img/bg.gif) 0 0 repeat;
    background-size: 100% auto;
}

br {
    display: inline;
}

nav li span::before,nav li span::after{
    font-size: 12px;
    content: "－";
    margin: 0 2px;
}
.product-page_list,
.info-page_list {
    display: flex;
    flex-direction: column;
}

th,td {
    display: block;
}

.left{}
.right{}

}

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

body{
    background: url(../img/top_pc.png) top center no-repeat,url("../img/bg.gif") top center repeat;
}

header {
    width: 960px;
    margin: 0 auto;
}

.header_top > h1 img{
    max-width: 550px;
    margin-top: 150px;
}

.organic {
    width: 166px;
    position: absolute;
    top: 200px;
    right: 0;
}

.navi_bg {
    width: 960px;
    background-image: none;
    background: rgba(255,255,255,0.2);
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-radius: 0;
    padding: 5px 0;
    margin: 20px auto 0;
}

a:hover,a:hover img{
    text-decoration: none;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
}

.left{
    width: 50%;
    float: left;
    margin: 0 20px 20px 0;
}

.right{
    width: 50%;
    float: right;
    margin: 0 0 20px 20px;
}



th{
    width: 30%;
    border-bottom: 1px solid #888;
}

.navi_logo{
    display: none;
}

nav {
    display: inline;
}

.nav_area {
    width: 960px;
    margin: 0 auto;
    padding: 15px 0;
}

nav ul {
    display: flex;
}

nav li {
    flex: 1;
    justify-content: space-around;
}

nav li a
 {
    display: block;
    line-height: 1.2;
    border-bottom: none;
    padding-left: 0;
    text-align: center;
}

nav li span{
    display: block;
    font-size: 24px;
}

nav li a:hover{
    border-bottom :none;
    color: #fff66c !important;
}

.burger_menu{
    display: none;
}

main{
    margin: 40px auto 0 !important;
}

.main_content{
    margin: 0 auto;
}

.aside-area{
    background: url(../img/powder-right_pc.png) bottom right no-repeat;
}

section,aside{
    width: 960px;
    margin: 0 auto;
}

/* product */

.product_list{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.product_list li{
    width: 20%;
    padding: 0 5px;
}

.bottom-margin{
    margin-bottom: 64px !important;
}

.product_list li:first-child{
    position: relative;
}

.product_list .new,
.product-page_list .new {
    width: 44px;
    height: 75px;
    position: absolute;
    top: 150px;
    left: -20px;
    z-index: 7777;
}

.product_list .right{
    width: 23px;
    height: 67px;
    position: absolute;
    top: 145px;
    right: 0px;
    z-index: 7777;
}


.info-page_list div{
    width: 90%;
    margin-bottom: 0;
    position: repeat;
    bottom: 20px;
}

.product_list .left{
    width: 23px;
    height: 67px;
    position: absolute;
    top: 150px;
    left: 0px;
    z-index: 7777;
}


.product-page_list,
.info-page_list {
    width: 100%;
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
}

.product-page_list li
,.info-page_list li{
    width: 300px;
}

.product-page_list li:last-child,
.info-page_list li:last-child {
    margin-bottom: 30px;
}

.product-item img,.info-item img{
    width: 47%;
    float: left;
    margin-bottom: 30px;
}

.product-item > table,.info-item > table{
    width: 50%;
    float: right;
    margin-left: 2%;
}

/* formality */

.formality-area {
    background: url(../img/powder-left_pc.png) bottom left no-repeat;
    padding: 0;
}

br {
    display: block;
}

.formality-area section{
    background: url(../img/bg-formality-right_pc.png) top right no-repeat,url(../img/bg-formality-left_pc.png) top left no-repeat;
    height: 450px;
    margin: 1px auto;
}

.formality-area p {
    text-align: center;
}

/* aside */

aside{
    clear: both;
    margin: 0 auto;
    display: flex;
}

aside > div:nth-child(1){
    padding: 40px 0 0;
}
aside > div:nth-child(2){
    padding: 40px 0 0;
}

aside h4{
    clear: none;
}

.info_area{
    margin-bottom: 0;
}

.info_list li{
    padding: 10px;
}

.address{
    font-size: 14px;
    line-height: 0.9;
}

iframe{
    display: block;
    width: 92%;
    height:  380px;
    margin: 0 auto 30px;
    text-align: center;
}

footer > div {
    width: 980px;
    margin: 0 auto;
}

.footer_info {
    width: 70%;
    display: flex;
}

.footer_info li a{
    margin-right: 10px;
    font-size: 14px;
}

.sns{
    width: 30%;
    float: right;
    display: flex;
    justify-content: space-between;
}
}