body{
    word-break: break-all; /* 枠からはみ出る際は改行 */
}

/* カスタマイズ用CSS */
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block!important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

.ec-topicRole .ec-topicRole__listItem:nth-child(5) {
    width: calc(100% - 0px);
    padding-top: calc(20% - 0px);
    margin-top: 0px;
}
@media only screen and (min-width: 1280px){
.ec-topicRole .ec-topicRole__listItem:nth-child(5) {
    width: calc(100% - 0px);
    padding-top: calc(20% - 0px);
    margin-top: 20px;
}
}

ul.scene{
    overflow: hidden;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.scene li{
    float: left;
    width:32.666666666%;
    margin-right:1%;
    margin-bottom:1%;
    overflow: hidden;
}
ul.scene li:nth-child(3n){
    margin-right:0%;
}
ul.scene li img{
    width:100%;
    height:auto;
    display: block;
	transition-duration: 0.5s;	/*変化に掛かる時間*/
}
.sceneframe {
    padding: 80px 20px;
}
ul.scene li img:hover{
  transform: scale(1.2);	/*画像の拡大率*/
	transition-duration: 0.5s;	/*変化に掛かる時間*/
}
@media only screen and (max-width: 767px){
    ul.scene li{
    float: left;
    width:49.5%;
    margin-right:0%;
    margin-bottom:1%;
}
ul.scene li:nth-child(2n){
    float: right;
    margin-right:0%;
}
ul.scene li:nth-child(3n){
    margin-right:auto;
}
.sceneframe {
    padding: 6.25vw 0;
}
}

body#page_homepage .ec-layoutRole .ec-layoutRole__header {
    background-color: rgba(255, 255, 255, 0.5);
    transition: .6s;
}
.ec-headPromotionRole video{
    width:100%;
    height:auto;
}

h1.ath{
    font-family: "Oswald", sans-serif;
    font-size: 50px;
    margin:50px 0 50px 0;
    text-align: center;
    font-weight: normal;
}
h1.ath02{
    font-size: 50px;
    margin:30px 0 50px 0;
    text-align: center;
    line-height: normal;
    font-weight: normal;
}
h1.ath02 span{
    font-size: 20px;
    color: #999;
    font-family: "Oswald", sans-serif;
    display: block;
}

ul.athAre{
    margin: 0;
    padding-left: 40px;
    padding-right: 40px;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    margin-top: -40px;
}

ul.athAre li{
    flex: 0 0 auto;
    width: calc((100% - 60px ) / 4);
    margin-left: 20px;
    margin-top: 40px;
}
ul.athAre li a{
    color:#000;
    text-decoration: none;
}
ul.athAre li:nth-child(4n+1) {
    margin-left: 0;
}
.name{
    font-size: 1.4rem;
    font-weight: 700;
    margin: 1em 0 1em;
}
.name span{
    font-size: 1rem;
    font-weight: normal;
    font-family: "Oswald", sans-serif;
    color: #999;
    display:block;
}
.athimage{
    overflow:hidden;
}
.athimage img{
 transition:1s all;
}
.athimage img:hover{
  transform:scale(1.1,1.1);
  transition:1s all;
}
@media only screen and (max-width: 767px){
h1.ath{
    font-family: "Oswald", sans-serif;
    font-size: 30px;
    margin:30px 0 30px 0;
    text-align: center;
}
h1.ath02{
    font-size: 30px;
    margin:30px 0 30px 0;
    text-align: center;
}
ul.athAre{
    margin: 0;
    padding-left: 6.25vw;
    padding-right: 6.25vw;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    margin-top: -40px;
}

ul.athAre li{
    flex: 0 0 auto;
    width: calc((100% - 15px ) / 2);
    margin-left: 15px;
    margin-top: 40px;
}
ul.athAre li:nth-child(2n+1) {
    margin-left: 0;
}
.name{
    font-size: 1rem;
    font-weight: 700;
    margin: 1em 0 1em;
}
.name span{
    font-size: 0.7rem;
    font-weight: normal;
    font-family: "Oswald", sans-serif;
    color: #999;
    display:block;
}
}


.athwrap{
    padding:0 40px 0 40px;
    overflow: hidden;
}
.athphoto{
    float: left;
    width:30%;
}
.athtxt{
    float: right;
    width:65%;
}
.spa{
     font-family: "Oswald", sans-serif;
    font-size: 30px;
    margin:50px 0 0px 0;
    text-align: center;   
}
@media only screen and (max-width: 767px){
.athwrap{
    padding-left: 6.25vw;
    padding-right: 6.25vw;
}   
.athphoto{
    float: none;
    width:100%;
    margin-bottom:40px;
}
.athtxt{
    float: none;
    width:100%;
}
}
.athbtn{
    margin-top:50px;
    text-align: center;
    width:200px;
}
.athbtn a{
    border-radius:50px;
    -webkit-border-radius:50px;
    -moz-border-radius:50px;
    background-color:#000000;
    color:white;
    padding:15px 30px;
    text-align:center;
    display: block;
    text-decoration: none;
}
@media only screen and (max-width: 767px){
.athbtn{
    margin-top:30px;
    margin-right:auto;
    margin-left:auto;
}
}

.snsList {
    bottom: 24px;
    left: 8px;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 24px;
}
.snsList {
    width: 100%;
    max-width: 458px;
    overflow: hidden;
}
.snsList div {
    margin-right: 5px;
    max-width: 30px;
    float: left;
}


/*カスタムオーダー*/
.bo3,.bo2{
	margin: 50px 0 0 0;
    padding:0;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
}
.bo3 li{
    flex: 0 0 auto;
    width: calc((100% - 80px ) / 2);
    margin-left: 80px;
}
.bo3 div{
    margin-bottom:10px;
}
.bo3 li:nth-child(3n+1) {
    margin-left: 0;
}

.bo3 li:nth-child(3n+3) {
    margin-left: 0;
}

.bo3 li:nth-child(3n+4) {
    flex: 0 0 auto;
    width: calc((100% - 80px ) / 2);
    margin-left: 80px;
}

.bo3 li img{
	width:100%;
	height:auto;
	margin-top:10px;
	margin-bottom:10px;
}
.bo2 li{
	flex: 0 0 auto;
    width: calc((100% - 40px ) / 2);
    margin-left: 40px;
}
.bo2 div{
    margin-bottom:10px;
}
.bo2 li:nth-child(2n+1) {
    margin-left: 0;
}

.bo2 li img{
	width:100%;
	height:auto;
	margin-top:10px;
}
@media only screen and (max-width: 767px){
.bo3 li{
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0px;
}
.bo3 div{
    margin-bottom:10px;
}
.bo3 li img{
	width:100%;
	height:auto;
	margin-top:10px;
	margin-bottom:20px;
}
.bo3 li:nth-child(3n+1) {
    margin-left: 0;
}
.bo3 li:nth-child(3n+4) {
    margin-left: 0;
    width:100%;
}

.bo2 li{
	flex: 0 0 auto;
    width: 100%;
    margin-left: 0px;
}
.bo2 div{
    margin-bottom:10px;
}
.bo2 li:nth-child(2n+1) {
    margin-left: 0;
}
.bo2 li img{
	width:100%;
	height:auto;
	margin-bottom:20px;
}
}

.gvg{
	font-size:20px;
	font-weight:bold;
	margin-bottom:10px;
}
.gvg span{
	font-size:17px;
	font-weight:normal;
	margin-bottom:10px;
	display:block;
}
.comStepBox {
	margin-top: 40px;
    padding-bottom: 35px;
    padding: 30px;
    border: solid 3px #f5f5f5;
}
h4.titt02{
	background:#000;
	padding:10px;
	color:#fff;
	font-size:20px;
	border:none;
	margin-top:0!important;
	text-align:center;
}
h4.titt02:after{
	border:none;
}

.stepList{
	overflow:hidden;
	width:100%!important;
	margin:0;
	padding:0!important;
	display: flex;
    flex-flow: row wrap;
    list-style: none;
}
.stepList li {
    flex: 0 0 auto;
    width: calc((100% - 200px ) / 6);
    margin-left: 40px;
}
.stepList div {
    margin-top: 10px;
}
.stepList li:nth-child(6n+1) {
    margin-left: 0;
}

.stepList li .tie {
    margin: 0 0 23px!important;
    color: #000;
    font-size: 14px;
    font-weight: bold;
	line-height: 25px;
}
.stepList li .tie span {
    margin-right: 10px;
    display: inline-block;
    color: #fff;
    font-size: 14px;
    font-family: Arial, Helvetica, "sans-serif";
    width: 24px;
    height: 24px;
    /* line-height: 1.2; */
    text-align: center;
    background-color: #000;
    box-sizing: border-box;
}
@media only screen and (max-width: 767px){
.stepList li {
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0px;
    margin-top: 20px;
}
}
.eer h1{
	font-size:18px;
	font-weight:bold;
	margin-bottom:10px;
	font-style:italic;
}
.eer h2{
	font-size:17px;
	font-weight:bold;
	margin-bottom:10px;
}
.eer h3{
	font-size:16px;
	font-weight:bold;
	margin-bottom:10px;
}

.stepList li img{
	width:100%;
	height:auto;
}
.leftBtn{
float: left;
    width: 49%;
    padding: 15px 5px 5px;
    height: 50px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    background-color: #000;
    box-sizing: border-box;
}
.rightBtn{
float: right;
    width: 49%;
    padding: 15px 5px 5px;
    height: 50px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    background-color: #000;
    box-sizing: border-box;
}
.leftBtn span{
    margin-left: 10px;
    font-size: 23px;
    line-height: 1;
    vertical-align: middle;
}
@media only screen and (max-width: 767px){
.leftBtn{
float: left;
    width: 100%;
    margin-bottom: 10px;
}
.rightBtn{
float: right;
width: 100%;
}
}

.kotit{
    margin:0 0 30px 0;
    font-size: 23px;
    line-height: normal;
}


table.demo01 { width: 100%;margin-top:15px; }
table.demo01 th, table.demo01 td  { padding: 10px; border: 1px solid #ddd; }
table.demo01 th  { background: #f4f4f4; }
 
/*----------------------------------------------------
  .demo01
----------------------------------------------------*/
.demo01 th  { width: 30%; text-align: left; }
.demo01 td{
text-align:center;
}
@media only screen and (max-width:480px){
    .demo01 { margin: 0 0; }
    .demo01 th,
    .demo01 td{
    width: auto;
    display: block;
    border-top: none;
    }
  .demo01 tr:first-child th { border-top: 1px solid #ddd; }
}
table.demo01 td span{
	font-size:20px;
	font-weight:bold;
}

.titt {
    background: #000;
    padding: 10px;
    color: #fff;
    font-size: 20px;
    border: none;
    margin: 0 0 30px 0;
}
.titt span {
    margin-left: 10px;
    font-size: 18px;
}
.style01{
    border-top:1px solid #ccc;
    border-bottom:none;
    margin:50px 0;
}

.wqo{
    margin-top:0px;
}
.wqo02{
    margin-top:80px;
}

.ton{
    font-family: "Oswald", sans-serif;
    font-size: 25px;
    margin:0px 0 30px 0;
    text-align: center;
    font-weight: normal;
}
.tont{
    font-size: 25px;
    margin:0px 0 30px 0;
    text-align: center;
    background: #000;
    color:#fff;
    padding:10px;
}
.tonth3{
    font-size: 22px;
    margin:30px 0 30px 0;
    text-align: center;
}
.commen{
    max-width: 760px;
    margin: auto;
}
@media only screen and (max-width: 750px) {
.commen{
    margin:0;
    text-align: left;
    max-width: 100%;
}
.tont{
    font-size: 20px;
    margin:0px 0 30px 0;
    text-align: center;
    font-weight: normal;
}
.tonth3{
    font-size: 18px;
    margin:30px 0 30px 0;
    text-align: center;
    font-weight: normal;
}
}

.googlemap-bw iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  width:100%;
  margin-top:50px;
}

.tond{
    font-weight: bold;
    text-align: left;
}
.commend{
    text-align: left;    
}
.wqos {
    margin-top: -50px;
}
@media only screen and (max-width: 767px){
.tond{
    text-align: left;
    font-size:20px;
}
}
.pluginCMBblog .ec-off1Grid__cell{
    max-width:90%;
}
@media only screen and (max-width: 767px){
.pluginCMBblog .ec-off1Grid__cell{
   width:100%!important;
   max-width: 100%;
}
.pluginCMBblog .ec-off1Grid__cell img{
    width:100%!important;
    height:auto;
}
}

.rankingProducts:last-child{
    margin-top: 38vh;
}
@media only screen and (max-width: 1279px) {
.rankingProducts:last-child{
    margin-top: 3vh;
}
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.youtubeRole{
    max-width:70%;
    margin: 80px auto 80px auto;
}
@media only screen and (max-width: 767px){
.youtubeRole{
    max-width:90%;
    margin: 40px auto 40px auto;
}
}
.attentionRole{
    max-width:60%;
    margin: 80px auto 80px auto;
}
@media only screen and (max-width: 767px){
.attentionRole{
    max-width:90%;
    margin: 40px auto 40px auto;
}
}
.attention{
    font-size:18px;
    line-height: normal;
}
@media only screen and (max-width: 767px){
.attention{
    font-size:16px;
    line-height: normal;
}
}

.googleCalendar iframe {
  width: 100%;
  height: 400px;
  margin-top:50px;
}
@media all and (min-width: 768px) {
  .googleCalendar iframe {
	height: 600px;
  }
}

.googleCalendar #calendarTitle{
display: none;
}

@media only screen and (min-width: 1280px){
.ec-headerRole .ec-headerRole__center {
    flex: 1 1 44%;
}
}
.bnrRole{
    max-width:70%;
    margin: 80px auto 0px auto;
}
@media only screen and (max-width: 767px){
.bnrRole{
    max-width:90%;
    margin: 40px auto 0px auto;
}
}
.bnrArea{
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    list-style: none;
    width:80%;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
@media only screen and (max-width: 767px){
.bnrArea{
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    list-style: none;
    width:100%;
}
}
.bnrArea li{
    width: 50%;
    float: none;
    text-align: center;
    margin: auto;
}
.bnrArea li a{
    text-decoration: none;
    color:#000;
}
/*.bnrArea li:last-child{
    width: 49%;
    float: right;
}*/
.bnrArea li img{
    width: 100%;
    height: auto;
}
@media only screen and (max-width: 767px){
.bnrArea li{
    width: 100%;
    float: none;
    text-align: center;
    margin:0 0 10px 0;
}
.bnrArea li:last-child{
    width: 100%;
    float: none;
}
}

@media only screen and (min-width: 1280px){
body#page_homepage .ec-layoutRole {
    padding-top: 80px;
}
}

.ec-searchnavRole__infos{
    margin:30px 0 0 0;
}
.fig h2{
    font-size:18px;
}
.fio{
    margin: 0 0 10px 0;
    display: inline-flex;
}
.npsr-title{
    font-size:20px;
    margin:0 0 10px 0;
}

.blog_detail h2{
border-top:2px solid;
border-bottom:1px solid;
padding:15px 0;
font-size:1.1rem;
margin:30px 0;
}
.blog_detail h3{
font-size:1.0rem;
margin:20px 0;
}
.blog_detail .ec-productRole__description img{
width:100%;
height:auto;
}

.attat{
    background: #efefef;
    margin-top:30px;
    padding:30px;
}

.ec-productRole .ec-productRole__price .ec-price__price {
    color: red;
}

.catbtn{
    width:300px;
    margin:30px auto 0 auto;
}

.catbtn a{
    border-radius: 100px;
    display: block;
    background: #000;
    color: #fff;
    text-align: center;
    padding:15px 0;
}

.mtmt{
    margin-top: 20px;
}
@media only screen and (max-width: 767px){
.mtmt{
    margin-top: 0px;
}
}

.dedg{
background: #fff900;
font-size:20px;
font-weight:bold;
padding:10px;
text-align: center;
}

.dedgg {
    background: #00b0f0;
    font-size: 20px;
    font-weight: bold;
    padding: 10px;
    text-align: center;
    color:#fff;
}
.dedgg a {
    color:#fff;
}
.dedggg {
    background: #ff0000;
    font-size: 20px;
    font-weight: bold;
    padding: 10px;
    text-align: center;
    color:#fff;
}
.dedggg a {
    color:#fff;
}

.keru{
    float: left;
    width:30%;
}
.kerua{
    float: right;
    width:65%;
}
.fgfd{
    font-size:18px;
    font-weight: bold;
    text-align: center;
    margin-bottom:25px;
    background: #000;
    color:#fff;
    padding:5px;
}
.qopo{
    border:1px solid #ccc;
    padding:0px 20px;
}
@media only screen and (max-width: 767px) {
.qopo{
    margin-bottom:20px;
}
.keru{
    float: none;
    width:100%;
}
.kerua{
    float: none;
    width:100%;
}
.keru img{
    margin-bottom:0!important;
}
.kerua img{
    margin-bottom:0!important;
}
}

.jude{
    overflow:hidden;
}
.jude .fds{
    float: left;
    width:49%;
}
.jude .fds a{
border-radius: 100px;
    display: block;
    background: #1b87bc;
    color: #fff;
    text-align: center;
    padding: 15px 0;
}

.jude .fdsd{
    float: right;
    width:49%;
}
.jude .fdsd a{
border-radius: 100px;
    display: block;
    background: #b90c0c;
    color: #fff;
    text-align: center;
    padding: 15px 0;
}