@charset "UTF-8";

/*  Layout
-----------------------------------------------------------------------------*/
/* Body */
body {
	font-family: noto-sans-cjk-jp, sans-serif;
	line-height: 180%;
	color: #333;
	margin: 0;
	width: 100%;
	font-size: 14px;
}
img {
	max-width: 100%;
	height: auto;
}
.kaigyou { display: inline-block;}

img.transparent {
    background: rgba(255, 255, 255, .01);
}


a:hover img{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: “alpha( opacity=80 )”;
}


.zoon-box {
	width: 95%;
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
}

.sp_show {
    display: none;
}

@media screen and (max-width: 640px) {
.sp_show {
	display: inline;
}
.pc_show {
	display: none;
}

}

/*  Midashi
-----------------------------------------------------------------------------*/

.zoon-title{
	font-size: 48px;
	font-weight: bold;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom-width: 3px;
	border-bottom-style: dotted;
	border-bottom-color: #FFF;
	padding-top: 20px;
	line-height: 120%;
}

@media screen and (max-width: 768px){.zoon-title{font-size: 25px;}}



/*  Base
-----------------------------------------------------------------------------*/
.inner{
	width: 90%;
	margin-right: auto;
	margin-left: auto;

}
.box-all{
	width: 100%;
	overflow: hidden;
}

.box-left50{
	float: left;
	width: 48%;
}
.box-right50{	float: right;
	width: 48%;}
	
.box-left70{
	float: left;
	width: 70%;
}
.box-right30{	float: right;
	width: 25%;}	
.box-left30{
	float: left;
	width: 25%;
}
.box-right70{	float: right;
	width: 70%;}	
.box-33{
	float: left;
	width: 33.3%;
}
@media screen and (max-width: 768px){
.box-left50 , .box-right50 , .box-left70 , .box-right30 , .box-left30 , .box-right70 , .box-33{
	float: none;
	width: 100%;
}
	}
.waku-black{
    border: 1px solid #C0C0C0;
}
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
#page-top a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 20px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: #999;
}

/*  Header
-----------------------------------------------------------------------------*/
.header{
	background-image: url(../../img/mail-bg.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	background-position: center top;
}
.header-logo{
	position: absolute;
	top: 10px;
	right: 20px;
	text-align: right;
}
@media screen and (max-width: 768px){
	.header-logo{
	position: static;
	text-align: center;
	padding-top: 10px;
		background-size:auto 100% ;/*この場合は高さが自動設定*/
}
}


/*  zoon
-----------------------------------------------------------------------------*/
.zoon-bg{
	background-image: url(../../img/zoon1-bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
}
.zoon-bg6{
	background-image: url(../../img/zoon6-bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
}
.yazirushi{
    text-align: center;
    width: 90%;
    position: relative;
    top: 60px;
    margin-right: auto;
    margin-left: auto;
}
.box-l{
	float: left;
	width: 50%;
}
.box-r{	float: right;
	width: 50%;}

.box-l-sonomama{
	float: left;
	width: 40%;
}
.box-r-sonomama{	float: right;
	width: 60%;}

@media screen and (max-width: 500px){
	.box-l{
float: none;
	width: 100%;
}
.box-r{	float: none;
	width: 100%;}
}
.undebar{
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #666;
}
.kirakira{
	background-image: url(../../img/kirakira.png);
	background-repeat: no-repeat;
	background-position: center top;
}
.check-mark{
	width: 100%;
	max-width: 600px;
	margin-right: auto;
	margin-left: auto;
}
.check-mark li{
	padding-left: 2em;
	font-size: 27px;
	line-height: 110%;
	font-weight: bold;
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom-width: 2px;
	border-bottom-style: dashed;
	border-bottom-color: #FFF;
	background-image: url(../../img/zoon7-cb.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-top: 10px;
}

/*  フキダシ
-----------------------------------------------------------------------------*/
.hukidashi-c{position: relative;
  display: inline-block;}
.hukidashi-c:before {
  content: "";
  position: absolute;
  top: 7px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #FFF;
  z-index: 2;
}

.hukidasi-red{position: relative;
  display: inline-block;}
.hukidasi-red:before {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 50%;
  margin-left: -15px;
  border: 22px solid transparent;
  border-top: 22px solid #c1272d;
  z-index: 2;
}

.white-btn{}
.white-btn a{
	text-align: center;
	display: block;
	width: 90%;
	max-width: 300px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 10px;
	padding-bottom: 10px;
	border: 1px solid #FFF;
	color: #FFF;
	background-image: url(../../img/yazirushi.png);
	background-repeat: no-repeat;
	background-position: 10px center;
}
.white-btn a:hover{
	color: #FFF;
	background-color: #0000A8;
	text-decoration: none;
}

.red-btn{}
.red-btn a{
	text-align: center;
	display: block;
	width: 90%;
	max-width: 400px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 10px;
	padding-bottom: 10px;
	border: 2px solid #C00;
	color: #C00;
	background-image: url(../../img/yazirushi2.png);
	background-repeat: no-repeat;
	background-position: 10px center;
	background-color: #fff;
}
.red-btn a:hover{
	color: #C00;
	background-color: #FFD5D5;
	text-decoration: none;
}

.betsumado{
	background-image: url(../../img/betsumado-black.png);
	background-repeat: no-repeat;
	background-position: 97% center;
}


/*  form
-----------------------------------------------------------------------------*/
.form-box{
	background-color: #434343;
	width: 100%;
	background-image: url(../../img/mail-bg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

/*  ボタン
-----------------------------------------------------------------------------*/

@keyframes anime{
0%{transform:scale(.95); opacity:1}
90%{opacity:.1}to{transform:scale(1.2,1.5); opacity:0}
}

.anime-btn {
	position: relative;
	width: 80%;
	max-width: 800px;
	transition: .2s;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 100px;
	margin-left: auto;
}
.anime-btn:before, .anime-btn:after {
  content: "";
  position: absolute;
  z-index: -10;
  width: 100%;
  height: 100%;
  top: 3px;
  left: 0;
  border-radius: 62px;
  background: #ffaaae;
  border: 1px solid #ff999e;
  transform: translate3d(0,0,0);
}
.anime-btn:before {
  animation: anime 2s ease-out infinite;
}
.anime-btn:after {
 animation: anime 2s ease-out 1s infinite;
}

.anime-btn a {
  display: block;
  position: relative;
  top: 3px;
  padding: 10px 0;
  border-radius: 62px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #80120d;
}
.anime-btn a:after {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #c81c14;
  border-radius: 62px;
  transition: .2s;
  transform: translate3d(0,0,0);
}
.anime-btn span {
  display: block;
  position: relative;
  top: -3px;
  z-index: 2;
  font-family: sans-serif;
  transition: .2s;
}

.anime-btn2 {
	position: relative;
	width: 80%;
	max-width: 800px;
	transition: .2s;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 100px;
	margin-left: auto;
}
.anime-btn2:before, .anime-btn2:after {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	top: 3px;
	left: 0;
	border-radius: 62px;
	border: 1px solid #ff999e;
	transform: translate3d(0,0,0);
	background-color: #ff999e;
}
.anime-btn2:before {
  animation: anime 2s ease-out infinite;
}
.anime-btn2:after {
 animation: anime 2s ease-out 1s infinite;
}

.anime-btn2 a {
	display: block;
	position: relative;
	top: 3px;
	padding: 10px 0;
	border-radius: 62px;
	color: #C00;
	text-align: center;
	text-decoration: none;
	background: #80120d;
}
.anime-btn2 a:hover{

	text-decoration: none;
}
.anime-btn2 a:after {
	content: "";
	position: absolute;
	top: -3px;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	border-radius: 62px;
	transition: .2s;
	transform: translate3d(0,0,0);
	background-color: #FFFFFF;
}
.anime-btn2 span {
  display: block;
  position: relative;
  top: -3px;
  z-index: 2;
  font-family: sans-serif;
  transition: .2s;
}


/*
.anime-btn span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 15px;
  height: 15px;  
  margin: -6px 0 0 0;
  border-right: 5px solid #fff;
  border-top: 5px solid #fff;
  transform: translateX(5px) rotate(45deg);
  transition: .3s .1s;
}
*/

@media screen and (max-width: 500px){
	.anime-btn {
	margin-top: 30px;
	margin-right: auto;
	margin-bottom: 50px;
	margin-left: auto;
}
	.anime-btn span:after {
	display: none;}
}

.anime-btn a:hover {
	top: 3px;
	color: #FFF;
	text-decoration: none;
}
.anime-btn a:hover:after {
  top: 0;
  background: #e00e18;
}
.anime-btn a:hover span {
  top: 0;
}
.anime-btn a:hover span:after {
  right: 27px;
}


/* Footer */
#footer {
	border-top: 1px solid #333;
	text-align: center;
	width: 100%;
	padding-top: 37px;
	background-color: #333;
}
#footer a , #footer a:hover {
	color: #FFF;
}
#footer_inner {
    color: #fff;
    margin: 0 auto;
    line-height: 25px;
    width: 90%;
	max-width: 980px;
}

#footer .title {
    font-size: 24px;
    line-height: 30px;
    padding-bottom: 9px;
}

.f_navi {
    padding: 16px 0 33px;
}

.f_navi li {
    border-right: 2px solid #818181;
    font-size: 12px;
    line-height: 15px;
    display: inline-block;
    *display: inline;
    padding-right: 10px;
    margin-right: 10px;
}

.f_navi li a {
    color: #fff;
}

#copy_right {
    background: #000;
    border-top: 1px solid #333;
    color: #aaa;
    text-align: center;
    font-size: 12px;
    padding: 20px 0;
}

.ribbon9 {
    display: inline-block;
    position: relative;
    text-align: center;
    box-sizing: border-box;
    padding-top: 0px;
    padding-bottom: 0px;

}
.ribbon9:before {/*左側のリボン端*/
  content: '';
  position: absolute;
  width: 10px;
  bottom: -10px;
  left: -35px;
  z-index: -2;
  border: 20px solid #f2d57e;
  border-left-color: transparent;/*山形に切り抜き*/
}

.ribbon9:after {/*右側のリボン端*/
  content: '';
  position: absolute;
  width: 10px;
  bottom: -10px;
  right: -35px;
  z-index: -2;
  border: 20px solid #f2d57e;
  border-right-color: transparent;/*山形に切り抜き*/
}

.ribbon9 h3 {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 10px 20px;
    font-weight: bold;

    background: #f2d57e;/*真ん中の背景色*/
    color: #392503;
}
.ribbon9 h3:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-right: solid 15px #c1a256;/*左の折り返し部分*/
}
.ribbon9 h3:after {
  position: absolute;
  content: '';
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-left: solid 15px #c1a256;/*右の折り返し部分*/
}
.txt-10{font-size: 10px;}
.txt-12{
    font-size: 12px;
    line-height: 130%;
}
.txt-14{
    font-size: 14px;
    line-height: 130%;
}
.txt-20{font-size: 20px;}
.txt-25{font-size: 25px;}
.txt-30{font-size: 30px;
line-height: 140%;}
.txt-40{font-size: 40px;
line-height: 140%;}
.txt-5em{
	font-size: 5em;
	line-height: 120%;
}
@media screen and (max-width: 480px){
.txt-20{font-size: 15px;}
.txt-25{font-size: 20px;}
.txt-30{font-size: 25px;}
.txt-40{font-size: 30px;
line-height: 140%;}	
.txt-5em{font-size: 2.5em;}
}
.container {
  display: flex;
  gap: 16px;
}

.item {
  flex: 1; /* 3つを均等幅に */

  /* 中身を上下中央に */
  display: flex;
  align-items: center;     /* 垂直中央 */
  justify-content: center; /* 水平中央（必要なら） */
}
.item.narrow {
  flex: 0 0 120px; 
}
.item-2 {
  flex: 1; /* 3つを均等幅に */

  /* 中身を上下中央に */
  display: flex;
  align-items: top;     /* 垂直中央 */
  justify-content: center; /* 水平中央（必要なら） */
}