﻿/**
* Template Name: Marco
* Template URL: https://templatemag.com/marco-bootstrap-agency-template/
* Author: TemplateMag.com
* License: https://templatemag.com/license/
*/

/* OVERALL ASPECT */

body {
    background-color: #fbf9ef;
    font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    font-weight: 500;
    font-size: 20px;
    color: #6b3d39;

    -webkit-font-smoothing: antialiased;
    -webkit-overflow-scrolling: touch;

}



 @media screen and  (max-width: 740px) {
body  {
    font-size: 14px;
    color: #6b3d39;

}
}


/* Titles */
h1, h2, h3, h4, h5, h6 {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";, sans-serif;
    font-weight: 900;
    color: #333;
}


/* Paragraph & Typographic */
p {
    line-height: 28px;
    margin-bottom: 25px;
}

.centered {
    text-align: center;
}

.goleft {
	text-align: left;
}

/* Links */
a {
    word-wrap: break-word;

    -webkit-transition: color 0.1s ease-in, background 0.1s ease-in;
    -moz-transition: color 0.1s ease-in, background 0.1s ease-in;
    -ms-transition: color 0.1s ease-in, background 0.1s ease-in;
    -o-transition: color 0.1s ease-in, background 0.1s ease-in;
    transition: color 0.1s ease-in, background 0.1s ease-in;
}

a:hover,
a:focus {
    color: #7b7b7b;
    text-decoration: none;
    outline: 0;
}

a:before,
a:after {
    -webkit-transition: color 0.1s ease-in, background 0.1s ease-in;
    -moz-transition: color 0.1s ease-in, background 0.1s ease-in;
    -ms-transition: color 0.1s ease-in, background 0.1s ease-in;
    -o-transition: color 0.1s ease-in, background 0.1s ease-in;
    transition: color 0.1s ease-in, background 0.1s ease-in;
}

 hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

.navbar {
	font-size: 14px;
	background: #ffffff;
}

.navbar-fixed-top {
border-width: 0 0 0px;
border-bottom-width: 0px;
}
/* ================== BASIC CONFIGURATION ================== */

.spacing i {
	padding-left: 8px;
	padding-right: 8px
}
/* margin top & Bottom */
.mt {
	margin-top: 50px;
	margin-bottom: 50px;
}

.mt2 {
	margin-top: -30px;
	margin-bottom: 50px;
}

/* Special Margin for Wrap sections */
.mts {
	margin-top: -20px;
}


/* service icons */
.si {
	visibility: hidden;
}

.si:hover {
	background-color: #ffffff;
}

.si i {
	font-size: 40px;
	padding: 20px;
}

/* Padding top & bottom */
.pt {
	padding-top: 15px;
	padding-bottom: 15px;
}

/* Description Styling / Used in portfolio & Blog images footnotes */
.desc p {
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 16px;
	font-weight: 700;
	margin-top: 15px;
}

.desc p > i {
	font-size: 16px;
	color: #979797;
}

.desc p > i:hover {
	font-size: 16px;
	color: #108ccf;
	cursor: pointer;
}

.desc p.lead {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 400;
    font-size: 14px;
    margin-top: -15px;
}

.desc p.time {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 400;
    font-size: 12px;
    margin-top: 0px;
	color: #979797;
	text-align: right;
}

.desc p.time > i {
	font-size: 12px;
}


/* Dashed Separator */

hr-d {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px dashed #ccc;
    margin: 1em 0;
    padding: 0;
}


p.capitalize {
	display:block;
	text-align: left;
}

p.capitalize:first-letter {
	text-transform:uppercase;
	font-size: 18px;
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 400;
	color:white;
	padding-left:18px;
	padding-right:18px;
	margin-right:5px;
}


/* Button Call To Action */
.btn-cta {
  color: #ffffff;
  background-color: transparent;
  border-color: #ffffff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 25px;
}

.btn-cta:hover,
.btn-cta:focus,
.btn-cta:active,
.btn-cta.active,
.open .dropdown-toggle.btn-cta {
  color: #2f2f2f;
  background-color: #ffffff;
  border-color: #2f2f2f;
}

/* Button Theme */
.btn-theme {
  color: #ffffff;
  background-color: transparent;
  border-color: #ffffff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 25px;
}

.btn-theme:hover,
.btn-theme:focus,
.btn-theme:active,
.btn-theme.active,
.open .dropdown-toggle.btn-theme {
  color: #2f2f2f;
  background-color: #ffffff;
  border-color: #2f2f2f;
}

/* Button Yellow */
.btn-yellow {
  color: #2f2f2f;
  background-color: #ffd56c;
  border-color: #ffffff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 25px;
}

.btn-yellow:hover,
.btn-yellow:focus,
.btn-yellow:active,
.btn-yellow.active,
.open .dropdown-toggle.btn-yellow {
  color: #2f2f2f;
  background-color: #fdc741;
  border-color: #ffffff;
}



/***** Testimonials Styling *****/
.testi-container {
	width:100%;
	margin-bottom:14px;
	padding: 5px 6px 3px 0px;
	background-color:#fafafa;
	border: solid 1px #ddd;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	position:relative;
	float:left;
	z-index:998;
}

.testi-container:before {
	width: 25px;
	height: 17px;
	background:#fafafa;
	content: '';
	position: absolute;
	z-index:999;
	left:42px;
	bottom: 0px;
	margin-left: -7px;
}
@media \0screen {.testi-container:before {background:none;}}

.testi-container:after {
	width: 17px;
	height: 17px;
	background:#fafafa;
	border:1px solid #ddd;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	content: '';
	position: absolute;
	z-index:888;
	left:45px;
	bottom: -5px;
	margin-left: -7px;
	transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
}
@media \0screen {.testi-container:after {background:none; border:none;}}

.testi-text {
	width:100%;
	float:left;
	margin:0px;
	padding:10px 14px 0px 14px;
	font-weight: 400;
}

/* ================== MAIN WRAP SECTIONS ================== */

#headerwrap {
	background: url(../img/bg01.jpg) no-repeat center top;
	margin-top: 0px;
	padding-top: 80px;
	background-attachment: relative;
	background-position: center center;
	min-height: 820px;
	width: 100%;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}


 @media screen and  (max-width: 740px) {
#headerwrap {
	background: url(../img/bg02.jpg) no-repeat center top;
	margin-top: 0px;
	padding-top: 50px;
	background-attachment: relative;
	background-position: center center;
	min-height: 500px;
	width: 100%;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
}


#headerwrap2 {
	background: url(../img/bg02.jpg) no-repeat center top;
	margin-top: 0px;
	padding-top: 50px;
	background-attachment: relative;
	background-position: center center;
	min-height: 750px;
	width: 100%;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}


 @media screen and  (max-width: 740px) {
#headerwrap2 {
	background: url(../img/bg02.jpg) no-repeat center top;
	margin-top: 0px;
	padding-top: 50px;
	background-attachment: relative;
	background-position: center center;
	min-height: 200px;
	width: 100%;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
}



#headerwrap h1 {
	margin-top: 60px;
	font-size: 25px;
	font-weight: 900;
	letter-spacing: 1px;
	visibility: hidden;
}



 @media screen and  (max-width: 740px) {
#headerwrap h1 {
	margin-top: 60px;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 1px;
	visibility: hidden;
}
}



.border01 {
    font-size: 40px;
    font-weight: 900;
  color: #fff;
    text-shadow: 1.5px 1.5px 1.5px #555, -1.5px 1.5px 1.5px #555, 1.5px -1.5px 1.5px #555, -1.5px -1.5px 1.5px #555, 1.5px 1.5px 1.5px #555, -1.5px 1.5px 1.5px #555, 1.5px -1.5px 1.5px #555, -1.5px -1.5px 1.5px #555, 4px 4px #108ccf;;
}

 @media screen and  (max-width: 740px) {
.border01 {
    font-size: 25px;
    text-shadow: 1px 1px 1px #555, -1px 1px 1px #555, 1px -1px 1px #555, -1px -1px 1px #555, 1px 1px 1px #555, -1px 1px 1px #555, 1px -1px 1px #555, -1px -1px 1px #555, 3px 3px #108ccf;;
}
}
}








#headerwrap h2 {
	color: white;
	visibility: hidden;

}





#headerwrap .img-responsive {
	margin: 0 auto;
}


.border02 {
    font-size: 40px;
    font-weight: 900;
  color: #fff;
    text-shadow: 1.5px 1.5px 1.5px #555, -1.5px 1.5px 1.5px #555, 1.5px -1.5px 1.5px #555, -1.5px -1.5px 1.5px #555, 1.5px 1.5px 1.5px #555, -1.5px 1.5px 1.5px #555, 1.5px -1.5px 1.5px #555, -1.5px -1.5px 1.5px #555, 4px 4px #ed6d00;;
}




 @media screen and  (max-width: 740px) {
.border02 {
    font-size: 25px;
    text-shadow: 1px 1px 1px #555, -1px 1px 1px #555, 1px -1px 1px #555, -1px -1px 1px #555, 1px 1px 1px #555, -1px 1px 1px #555, 1px -1px 1px #555, -1px -1px 1px #555, 3px 3px #ed6d00;;
}
}




.border03 {
    font-size: 40px;
    font-weight: 900;
  color: #fff;
    text-shadow: 1.5px 1.5px 1.5px #555, -1.5px 1.5px 1.5px #555, 1.5px -1.5px 1.5px #555, -1.5px -1.5px 1.5px #555, 1.5px 1.5px 1.5px #555, -1.5px 1.5px 1.5px #555, 1.5px -1.5px 1.5px #555, -1.5px -1.5px 1.5px #555, 4px 4px #14a3f1;;
}







 @media screen and  (max-width: 740px) {
.border03 {
    font-size: 25px;
    text-shadow: 1px 1px 1px #555, -1px 1px 1px #555, 1px -1px 1px #555, -1px -1px 1px #555, 1px 1px 1px #555, -1px 1px 1px #555, 1px -1px 1px #555, -1px -1px 1px #555, 3px 3px #14a3f1;;
}
}



.sen {
 position: relative;
 display: inline-block;
  padding: 0 55px;
}


.sen:before, .sen:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

.sen:before {
  left:0;
}
.sen:after {
  right: 0;
}



/* Footer Wrap */

#f {
	background-color: #1b1b1b;
	padding-top: 40px;
	padding-bottom: 40px;
}

#f p {
	color: white;
}

#f h4 {
	color: white;
}

/* Color Wraps */
#white {
	margin-top: 0px;
	background-color: #ffffff;
	min-height: 300px;
	width: 100%;
}

#grey {
	margin-top: 0px;
	background-color: #f7f7f7;
	min-height: 300px;
	width: 100%;
}


.green {
        padding-top: 25px;
        padding-bottom: 25px;
	background-color: #b9d90c;
	width: 100%;

}


#black {
	margin-top: 0px;
	background-color: #2f2f2f;
	min-height: 300px;
	width: 100%;
}

#black h3 {
	color: white;
}

#black h4 {
	color: white;
	text-transform: uppercase
}

#black p {
	color: white;
	font-size: 16px;
	font-weight: 400;
}

#black i {
	font-size: 35px;
}

#black h1 {
	color: white;
	font-size: 70px;
}

/* Map Wrap*/

#map {
	width: 100%;
	height: 400px;
}

#map-contact {
	width: 100%;
	height: 650px;
}

/* ================== CALL TO ACTION WRAP SECTIONS & HELPERS ================== */
#cta01 {
	background: url(../img/cta/cta01.jpg) no-repeat center top;
	margin-top: 0px;
	padding-top:100px;
	text-align:center;
	background-attachment: relative;
	background-position: center center;
	min-height: 250px;
	width: 100%;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}


 @media screen and  (max-width: 740px) {
#cta01 {
	background: url(../img/cta/cta01.jpg) no-repeat center top;
	margin-top: 0px;
	padding-top:100px;
	text-align:center;
	background-attachment: relative;
	background-position: center center;
	min-height: 150px;
	width: 100%;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
}




#cta01 h1 {
	color: white;
	font-weight: 700;
	margin-bottom: 25px;
	font-size: 60px;
}

#cta01 h2 {
	color: white;
	font-weight: 700;
	margin-bottom: 25px;
}

#cta01 i {
	color: white;
	font-size: 45px;
}


#cta02 {
	background: url(../img/cta/cta02.jpg) no-repeat center top;
	margin-top: 0px;
	padding-top:100px;
	text-align:center;
	background-attachment: relative;
	background-position: center center;
	min-height: 350px;
	width: 100%;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#cta02 h2 {
	color: white;
	font-weight: 700;
	margin-bottom: 25px;
}


#cta03 {
	background: url(../img/cta/cta01.jpg) no-repeat center top;
	margin-top: 0px;
	padding-top:50px;
	text-align:center;
	background-attachment: relative;
	background-position: center center;
	min-height: 450px;
	width: 100%;

    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}


#cta03 h2 {
	color: white;
	font-weight: 700;
	margin-bottom: 50px;
}

#cta03 i {
	color: white;
	font-size: 45px;
}

#cta03 p {
	color: white;
	font-size: 16px;
}

#cta-bar {
	background: #2f2f2f;
	color: white;
	padding-top: 40px;
	padding-bottom: 40px;

    -webkit-transition: color 0.3s ease-in, background 0.3s ease-in;
    -moz-transition: color 0.3s ease-in, background 0.3s ease-in;
    -ms-transition: color 0.3s ease-in, background 0.3s ease-in;
    -o-transition: color 0.3s ease-in, background 0.3s ease-in;
    transition: color 0.3s ease-in, background 0.3s ease-in;
}

#cta-bar:before,
#cta-bar:after {
    -webkit-transition: color 0.2s ease-in, background 0.2s ease-in;
    -moz-transition: color 0.2s ease-in, background 0.2s ease-in;
    -ms-transition: color 0.2s ease-in, background 0.2s ease-in;
    -o-transition: color 0.2s ease-in, background 0.2s ease-in;
    transition: color 0.2s ease-in, background 0.2s ease-in;

    cursor: pointer;
}

#cta-bar h4 {
	color: white;
	font-weight: 400;
}


/* ================== TEAM MEMBERS INFORMATION OVER iMAGE ================== */
.members {
  width: 302px;
  position: relative;
  float: left;
  margin: 0 20px 0 0;
  > img {
    display: block;
    position: relative;
  }
}

.team-info {
  position: absolute;
  bottom: 20px;
  right: 0px;
  width: 170px;
  padding: 10px 10px 30px 10px;
}
.subhead {
  color: #f2f2f2;
  text-transform: uppercase;
  font-weight: 400;
}
.team-name {
  color: white;
  font-weight: 400;
  margin: 0;
  letter-spacing: -1px;
}

.team-description {
	color: white;
	padding-top: 20px;
}

.team-description i {
	margin: 8px;
}

/* Team Member Stats Icons Conf */
.team-stat i {
	font-size: 28px;
}

/* ================== TWITTER FEED CONFIGURATION ================== */
#f ul {
	-webkit-margin-before: 0px;
	-webkit-margin-after: 0px;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	-webkit-padding-start: 0px;
}

#f ul li {
  list-style:none;
  overflow:hidden;
}

#f ul li:before {
	content: "\f099";
	font-family: 'FontAwesome';
	font-weight: normal;
	font-style: normal;
	text-decoration: inherit;
	font-size: 16px;
	height: auto;
	margin-top: 2px;
	margin-right: 8px;
	color: white;
	float: left;
}

#f .tweet {
	float: right;
	width: 85%;
}





@media (max-width: 600px) {

#headerwrap h1 {
	font-size: 35px;
}

#cta03 {
	background: #2d2d2d;
	}

#wv {
	height: 350px;
}

}

@media (max-width: 900px) {


#cta03 {
	background: #2d2d2d;
	}
}

/* Contact Form */

.contact-form {
  padding-bottom: 50px;
}

.contact-form label {
   color: #999;
}

.contact-form input, .contact-form textarea {
  padding: 10px 12px;
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  height: auto;
}

.contact-form .form-send {
  text-align: center;
}

.contact-form .form-send button  {
  background: #74c9be;
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  cursor: pointer;
}

.contact-form .form-send button:hover {
  background: #6fdbcd;
}

.contact-form .validate {
  display: none;
  color: red;
  margin: 0 0 15px 0;
  font-weight: 400;
  font-size: 13px;
}

.contact-form .loading {
  display: none;
  color: #555;
  background: #fff;
  text-align: center;
  padding: 15px;
  margin: 15px 0;
}

.contact-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}

@-webkit-keyframes animate-loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes animate-loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.contact-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin: 15px 0;
}

.contact-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin: 15px 0;
}

/* Copyrights */

#copyrights {
  padding: 20px 0;
  text-align: center;
}

#copyrights p {
  margin-bottom: 5px;
}

#copyrights a {
  color: #74c9be;
}

.credits {
  color: #999;
}






span.text {
   display: inline-block;
}


#sec1 {
    background-color: #ffd23b;
}




.white {
background-color: #fff;
}

.yellow {
background-color: #ffe221;
}




.red {
background-color: #e6113c;
}





.stripe {
    background-image: url("../img/stripe.png");
}




.icon2::before {
    background-image: url("../img/icon2.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: '';
    display: block;
    height: 98px;
    margin: -1em auto;
    width: 50px;
}



/*ポップアップここから*/
.popup_wrap input {
  display: none;
}

.popup_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}




.popup_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.popup_content {
  position: relative;
  align-self: center;
  width: 90%;
  max-width: 800px;
  padding: 30px 30px 10px;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4em;
  transition: 0.5s;
  height: 700px;     /* 高さを制限(※) */
  overflow: scroll; 
}


 @media screen and  (max-width: 740px) {
.popup_content {
  position: relative;
  align-self: center;
  width: 90%;
  max-width: 800px;
  padding: 30px 5px 10px;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4em;
  transition: 0.5s;
  height: 550px;     /* 高さを制限(※) */
  overflow: scroll; 
}
}



.close_btn {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 30px;
  cursor: pointer;
}

.popup_wrap input:checked ~ .popup_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.open_btn {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 30px;
  margin:10px auto;
  padding: 8px 16px;
  color: #fff;
  background:#0c0d62;
  font-weight: bold;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
  border-radius: 3px;
  cursor: pointer;
  transition: .3s ease;

}
.open_btn:hover{
    background:#000;
    color:#fff;
    transition: .3s ease;
}
/*ポップアップココまで*/


.blue{
    color:#108ccf;
   font-size: 14px;
    margin-top: -10px;
    margin-bottom: -10px;
line-height: 18px;
}


 @media screen and  (max-width: 740px) {
.blue{
    color:#108ccf;
   font-size: 12px;
    margin-top: -10px;
    margin-bottom: -10px;
}
}



.backblue {
   color:#fff;
   background-color:#108ccf;
   font-size: 18px;
   padding: 6px 18px 6px;
   margin-bottom: 5px;
}




.orange{
    color:#ee7903;
    margin-bottom: -10px;
}


p.normal {
font-weight: normal; 
}


.pop:hover,
.pop:focus {
    color: #7b7b7b;
    text-decoration: none;
    outline: 0;
}




p.shop {  
 font-size: 17px;
}

 @media screen and  (max-width: 740px) {
p.shop {  
 font-size: 14px;
}
}

.shop01 {
    color: rgba(255, 120, 31, 0.7);
    text-shadow: 1.5px 1.5px #fff, 2px 2px 0 #494643, 2px 1px 0 #494643, 1px 2px 0 #494643, 1px 1px 0 #494643;
}


.balloon2 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #ed6d00;
  box-sizing: border-box;
border-radius: 20px;
}

.balloon2:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;

}

.balloon2:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #ed6d00;
  z-index: 1;
}

.balloon2 p {
  color: #ed6d00;
  margin: 0;
  padding: 0;

}


.resizeimage img {  width: 100%; 
    text-align: center;
 }

.resizeimage2 img {  max-width: 100%; 
    text-align: center;
 }



.ribbon1 {
  display: inline-block;
  position: relative;
  height: 50px;/*リボンの高さ*/
  line-height: 50px;/*リボンの高さ*/
  text-align: center;
  padding: 0 30px;/*横の大きさ*/
  font-size: 20px;/*文字の大きさ*/
  background: #ed6d00;/*塗りつぶし色*/
  color: #FFF;/*文字色*/
  box-sizing: border-box;
}

.ribbon1:before, .ribbon1:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon1:before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ribbon1:after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}



.ribbon2 {
  display: inline-block;
  position: relative;
  height: 50px;/*リボンの高さ*/
  line-height: 50px;/*リボンの高さ*/
  text-align: center;
  padding: 0 30px;/*横の大きさ*/
  font-size: 20px;/*文字の大きさ*/
  background: #ed6d00;/*塗りつぶし色*/
  color: #FFF;/*文字色*/
  box-sizing: border-box;
}

.ribbon2:before, .ribbon2:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon2:before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px;
  border-color: transparent transparent transparent #fbf9ef;
  border-style: solid;
}

.ribbon2:after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px;
  border-color: transparent #fbf9ef transparent transparent;
  border-style: solid;
}




/*メニュー部分*/
#ham-menu {
    background-color: #fff; /*メニュー背景色*/
    box-sizing: border-box;
    height: 100%;
    padding: 10px 40px; /*メニュー内部上下左右余白*/
    position: fixed;
    right: -300px; /*メニュー横幅①と合わせる*/
    top: 0;
    transition: transform 0.3s linear 0s; /*0.3s は変化するのにかかる時間*/
    width: 300px; /*メニュー横幅①*/
    z-index: 1000;
}

/*メニューアイコン部分は疑似要素で*/
#ham-menu::before {
    background-color: #fff; /*ボタン部分背景色*/
    border-radius: 0 0 0 10px; /*左下角丸*/
    color: #333; /*アイコン（フォント）色*/
    content: "≡"; /*メニューアイコン*/
    display: block;
    font-size: 50px; /*アイコン（フォント）サイズ*/
    height: 50px;
    line-height: 50px; /*縦位置中央化*/
    position: absolute;
    right: 100%;
    text-align: center;
    top: 0;
    width: 50px;
}

/*透過背景部分*/
#menu-background {
    background-color: #333; /*黒背景部分背景色*/
    display: block;
    height: 100%;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: all 0.3s linear 0s; /*0.3s は変化するのにかかる時間*/
    width: 100%;
    z-index: -1;
}

/*hover 時の処理*/
#ham-menu:hover {
    transform: translate(-300px); /*メニュー横幅①と合わせる*/
}

#ham-menu:hover + #menu-background {
    opacity: 0.5; /*黒背景部分透過度*/
    z-index: 999;
}


.btn-square-shadow {
  display: inline-block;
  padding: 0.5em 2.5em;
  text-decoration: none;
  background: #e94b64;/*ボタン色*/
  color: #FFF;
  border-bottom: solid 4px #e6113c;
  border-radius: 3px;
}
.btn-square-shadow:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(4px);
  transform: translateY(4px);/*下に動く*/
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);/*影を小さく*/
  border-bottom: none;
}




.poyo { font-family: 'M PLUS Rounded 1c', sans-serif;
        color: #e6113c;
	font-size:2.2em;
	text-align:center;
	line-height:0.95em;
	font-weight:900;

}



.senro {  

  text-decoration: none;
  background: url("../img/senro.png")  repeat-x 100% 100%;
  padding-bottom: 25px;
  white-space: nowrap;
}



.poyo2 {
        font-family: 'M PLUS Rounded 1c', sans-serif;
        color: #389e18;
	font-size:2.2em;
	text-align:center;
	line-height:0.95em;
	font-weight:900;


}

.poyoxmas {
        font-family: 'M PLUS Rounded 1c', sans-serif;
        color: #ffffff;
	font-size:2.2em;
	text-align:center;
	line-height:0.95em;
	font-weight:900;
}

#sakura {
	background-image: url("../img/sakurapattern.jpg");	
	text-align:center;
	line-height:0.95em;
	font-weight:900;
}




.insta_btn {
  display: inline-block;
  text-align: center;/*中央揃え*/
  color: #fa6e10;/*文字色*/
  font-size: 22px;/*文字サイズ*/
  text-decoration: none;/*下線消す*/
}

.insta_btn:hover {/*ホバー時*/
  color:#668ad8;/*文字色*/
  transition: .5s;/*ゆっくり変化*/
}

.insta_btn .insta{/*アイコンの背景*/
  position: relative;/*相対配置*/
  display: inline-block;
  width: 50px;/*幅*/
  height: 50px;/*高さ*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
  overflow: hidden;/*はみ出た部分を隠す*/
  border-radius: 13px;/*角丸に*/

}

.insta_btn .insta:before{/*グラデーションを重ねるため*/
  content: '';
  position: absolute;/*絶対配置*/
  top: 23px;/*ずらす*/
  left: -18px;/*ずらす*/
  width: 60px;/*グラデーションカバーの幅*/
  height: 60px;/*グラデーションカバーの高さ*/
  background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);/*グラデーション②*/
}

.insta_btn .fa-instagram {/*アイコン*/
  color: #FFF;/*白に*/
  position: relative;/*z-indexを使うため*/
  z-index: 2;/*グラデーションより前に*/
  font-size: 35px;/*アイコンサイズ*/
  line-height: 50px;/*高さと合わせる*/
}




.poyo1::before {
    background-image: url("../img/poyo1.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: '';
    display: block;
    height: 87px;
    margin: 0.5em auto;
    width: 219px;
}


@media screen and (max-width: 738px) {
.poyo1::before {
   background-size: 80% auto;
}
}





.poyo22::before {
    background-image: url("../img/poyo2.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: '';
    display: block;
    height: 87px;
    margin: 0.5em auto;
    width: 219px;
}

@media screen and (max-width: 738px) {
.poyo22::before {
   background-size: 80% auto;
}
}





.poyo3::before {
    background-image: url("../img/poyo3.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: '';
    display: block;
    height: 87px;
    margin: 0.5em auto;
    width: 219px;
}


@media screen and (max-width: 738px) {
.poyo3::before {
   background-size: 80% auto;
}
}





.poyo4::before {
    background-image: url("../img/poyo4.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: '';
    display: block;
    height: 87px;
    margin: 0.5em auto;
    width: 219px;
}



@media screen and (max-width: 738px) {
.poyo4::before {
   background-size: 80% auto;
}
}







.poyox::before {
    background-image: url("../img/xmas.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: '';
    display: block;
    height: 87px;
    margin: 0.5em auto;
    width: 219px;
}


.poyosakura {
	color: #ff3862;
    font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size:2.2em; 	
	text-align:center;
	line-height:0.95em;
	font-weight:900;
}



@media screen and (max-width: 738px) {
.poyosakura::before {
   background-size: 80% auto;
}
}




.poyosakura::before {
    background-image: url("../img/poyosaku.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: '';
    display: block;
    height: 87px;
    margin: 0.5em auto;
    width: 219px;
}

@media screen and (max-width: 738px) {
.poyox::before {
   background-size: 80% auto;
}
}







.movie-wrap { 
　display:inline-block;
  position:relative;
  width: 100%;
  max-width:800px;
　margin:0 auto;
　text-align: center;
}

.movie-wrap::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}

.movie-wrap iframe{
  position: absolute;
  top: 0;
  left: 0%;
  width: 100%;
  height: 100%;
}

 @media screen and  (max-width: 1024px) {
.movie-wrap iframe { 
  position: absolute;
  top: 0;
  left: 0%;
  width: 100%;
  height: 100%;
}
}

/*ヘッダーまわりはサイトに合わせて調整してください*/
header {
  padding:10px;
  background: #598f36;
}

#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 25px;/*長さ*/
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;/*最大幅（調整してください）*/
  height: 100%;
  background: #fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}


@media screen and (min-width:480px) {
  #nav-open {
    display:none;
  }
}


/*グローバルナビ*/


.menu-container {
  margin: 0;
  position: relative;
  z-index: 2;
}

.menu-container .menu {
  border: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-container .menu .menu-item {
  flex: 1;
}

.menu-container .menu .menu-item a {
  font-weight: bold; 
  font-size: 1.8rem;
  background: #389e18;
  color: #fbdc10;
  display: block;
  padding: 1.2em 0.4em;
  text-align: center;
  text-decoration: none;
}

.menu-container .menu .menu-item a:hover {
  background: #ccc;
  color: #ffffff;
}

.menu-container .menu .menu-item:last-child a {
  border-right: none;
}

@media screen and (max-width: 768px) {
  .menu-container .menu {
	background-color: #389e18;
    display: none;
    position: absolute;
    width: 100%;
  }
  .menu-container .menu .menu-item a {
    border-bottom: 1px solid #ccc;
    border-right: none;
  }
  .menu-container .menu .menu-item:last-child a {
    border-bottom: none;
  }
}


.icon-hamburger {
  background: #fff;
  border: 1px solid #ccc;
  cursor: pointer;
  height: 50px;
  position: relative;
  width: 50px;
  display: none;
  margin-bottom: 0.4em;
  z-index: 2;
}

.icon-hamburger span {
  background: #cccccc;
  display: block;
  height: 16%;
  left: 50%;
  margin: -8% 0 0 -42%;
  position: absolute;
  top: 50%;
  width: 84%;
}

.icon-hamburger span::before,
.icon-hamburger span::after {
  background: #cccccc;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -50%;
  position: absolute;
  top: 50%;
  width: 100%;
}

.icon-hamburger span::before {
  margin-top: -38%;
}

.icon-hamburger span::after {
  margin-top: 19%;
}

@media screen and (max-width: 768px) {
  .icon-hamburger {
    display: inline-block;
  }
}

/* フレックスボックスの基本設定 等間隔（両端揃え）折返しあり */
[class^="flex-col"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* コンテンツ下のマージン */
.flex-child { margin-bottom: 10px; }

/* 各カラム毎のコンテンツと疑似要素の横幅 */
.flex-col2 .flex-child { width: calc( (100% - 10px) / 2 ); }

.flex-col3::after,
.flex-col3 .flex-child { width: calc( (100% - 20px) / 3 ); }

.flex-col4::before,
.flex-col4::after,
.flex-col4 .flex-child { width: calc( (100% - 30px) / 4 ); }
	
/* 最終行は両端揃えにしない */
.flex-col3::after,
.flex-col4::before,
.flex-col4::after { content: ""; }

.flex-col4::before { order: 1; }

/* レスポンシブ対応 */

/* 991px以下で4列 → 3列 */
@media screen and (max-width: 991px) {
	.flex-col4::after,
	.flex-col4 .flex-child { width: calc( (100% - 20px) / 3 ); }
}

/* 767px以下で4列・3列 → 2列 */
@media screen and (max-width: 767px) {
	.flex-col3 .flex-child,	
	.flex-col4 .flex-child { width: calc( (100% - 10px) / 2 ); }
}

/* 575px以下で全て1列 */
@media screen and (max-width: 575px) {
	.flex-col2 .flex-child,
	.flex-col3 .flex-child,
	.flex-col4 .flex-child { width: 100%; }
}

.points {
	max-width: 480px;
    width: 100%;
	}

.poyomidashi {
	max-width: 220px;
    width: 100%;
	}
	
	
.container a:hover {
  opacity: 0.7;
}