﻿@charset "utf-8";
/* CSS Document */
main h1{
}
main .navi ul {
    margin-bottom: 3rem;
    font-size: 0px;
	justify-content:center;
}
main .navi ul li {
    display: inline-block;
    width: 31%;
    margin-right: 3.5%;
    margin-left: 3.5%;
    font-size: 1.6rem;
  margin-bottom:0px!important;
}
main .navi ul li a {
    display: block;
    border-bottom: 1px solid #ccc9c9;
    padding: 0 1.5em 0.8em 0;
    position: relative;
    margin-bottom: 1em;
	text-decoration:none;
}
main .navi ul li a:after {
    content: "";
    vertical-align: middle;
    position: absolute;
    top: 50%;
    margin-top: -0.7em;
    right: 0.5em;
    width: 0.3em;
    height: 0.3em;
    border-top: 0.15em solid #ff0a0a;
    border-right: 0.15em solid #ff0a0a;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
main h2 {
	display:flex;
	background:url(../img/title_bg01.png) center bottom/contain no-repeat;
    font-size: 2.6rem;
	margin:0 auto;
    margin-bottom: 3rem;
	width:35rem;
	height:11.2rem;
	justify-content:center;
	align-items:flex-end;
	color:#EB0100;
}
main h2.onlineshop {
	background:url(../img/title_bg02.png) center bottom/contain no-repeat;
}
main ul.flex{
	margin-bottom:4rem;
}
main ul.flex.official{
  
  border-bottom: 0.1rem solid #CCC;
}
main ul.flex li{
	text-align:center;
	width:31.479%;
      margin-bottom: 4rem;
}
main ul.flex.official li{
      margin-bottom: 0rem;
}
main ul.flex li a{
	display:block;
  text-align:left;
}
main ul.flex li img{
	width:100%!important;
}
main ul.flex li .ttl{
	font-size:2.2rem;
	border-bottom:0.1rem solid;
	margin:0.3em 0 1em 0;
	padding-bottom:0.5em;
	display:inline-block;
	line-height:1.2;
}
main ul.flex li .ttl span{
	font-size:1.8rem;
}
main ul.flex li .text{
	padding:0 0.5em;
	text-align:left;
}
main div a.flex{
	margin-bottom:4rem;
  padding-bottom:4rem;
}
main div a.flex img{
	width:31.47%;
}
main div a.flex div{
	width:65%;
}
main div a.flex div p .red{
  color: #ff0100;
}

main div a.flex div p:nth-of-type(1){
	display:inline-block;
	font-size:2.2rem;
	border-bottom:0.1rem solid;
	padding-bottom:0.3em;
	margin:0.8em 0 0.8em 0;
}

main div.omamesi a.flex{
  border-bottom: 0.1rem solid #CCC;
}

main h3{
	font-size:2.4rem;
	margin-bottom:1.2em;
}
main ul.other li .text {
    text-align: center;
	margin-top:0.5em;
}

main ul.flex:after {
    content: "";
    display: block;
    width: 31.479%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}


/*---------------------------------------------------------------
横幅768px～1190pxまでのレイアウト
---------------------------------------------------------------*/
@media screen and (min-width:768px) and (max-width:1150px){
	
}





/*---------------------------------------------------------------
スマホレイアウト
---------------------------------------------------------------*/
@media screen and (max-width:767px){
main h1{
	margin-bottom:1em;
}
  main .navi ul li {
    width: 68%;
}
main h2 {
	width:100%;
	height:30vw;
}
main ul.flex li {
    width: 100%;
	margin-bottom:2em;
}
 main ul.flex.official li {
	margin-bottom:0em;
}
main ul.flex li:last-child {
	margin-bottom:0em;
}
  main div a.flex{
    padding-bottom:0px;
	margin-bottom:2em;
}
main div a.flex img {
    width: 100%;
}
main div a.flex div {
    width: 100%;
}
main div a.flex div {
	text-align:center;
}
main div a.flex div p:nth-of-type(1) {
    font-size: 2rem;
}
main div a.flex div p:nth-of-type(2) {
    text-align:left;
}
	
}
