@charset "utf-8";
/* CSS Document */
@media all and (min-width: 960px){
	.sp {
		display:none !important;
	}
/* base style------------------------------ */
	.flex_cl {
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
	  flex-wrap: wrap;
	  -webkit-box-pack: justify;
	  -ms-flex-pack: justify;
	  justify-content: space-between;
	}
	.flex_cl.cl_2 > section, .flex_cl.cl_2 > li {
	  width: 48%;
	}
	.flex_cl.cl_3 > section, .flex_cl.cl_3 > li {
	  width: 31%;
	  margin-bottom: 8%;
	}
	.flex_cl.cl_4 > section, .flex_cl.cl_4 > li {
	  width: 23%;
	}
	.flex_cl .od1 {
	  order: 1;
	}
	.flex_cl .od2 {
	  order: 2;
	}
	.flo {
	  overflow: hidden;
	}
	.flo_r {
	  float: right;
	}
	.flo_l {
	  float: left;
	}
	.w200 {max-width: 200px;}
	.w300 {max-width: 300px;}
	.w400 {max-width: 400px;}
	.w500 {max-width: 500px;}
	.w600 {max-width: 600px;}
	.w700 {max-width: 700px;}
	.w800 {max-width: 800px;}
	.w900 {max-width: 900px;}
	.w1000 {max-width: 1000px;}
	.w1100 {max-width: 1100px;}
	.w1200 {max-width: 1200px;}
	.w200, .w300, .w400, .w500, .w600, .w700, .w800, .w900, .w1000, .w1100, .w1200 {
		margin-left: auto;
		margin-right: auto;
	}

	h2 {
		font-family: "Overpass" , 'Noto Sans JP', "游ゴシック" , sans-serif , YuGothic, 'Franklin Gothic Medium' ,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif
	}


	/* original style------------------------------ */
	.l-header__bar {
		display: none;
	}
	header#header {
		max-width: none;
		padding-top: 6px;
	}
	header#header .l-header__inner {
		padding: 0 0 0 1vw;
		-moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
	}
	html[data-scrolled="true"] header#header .l-header__inner {
    margin-top: -15px;
	}
	header #logo {
		font-size: 25px;
    font-weight: bold;
    color: #5c5a5a;
    line-height: 1.3;
    letter-spacing: 1px;
	}
	header #logo em {
		color: #070707;
		font-style: normal;
		display: block;
		background: none;
	}
	h1 {
		font-weight: normal;
	}
	header .c-catchphrase {
		margin: 0 0 0 20px;
		line-height: 1.4;
		font-size: 12px !important;
	}

	/*ヘッダー*/
	/* header {
	  height: 120px;
	  position: relative;
	  z-index: 999;
	} */
	header#header {
		height: 80px;
		position: fixed;
		z-index: 999;
		width: 100%;
		top: 0;
		background: #fff;
		-moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
	}
	.scroll header {
		height: 75px;
	}
	header #gnav {
		margin-right: 180px;
	}
	header #nav {
		padding: 18px 15px 18px;
    overflow: hidden;
	}
	header #nav #title {
	}
	header #nav #logo {
	  width: 310px;
		padding: 15px 12px 5px;
	  float: left;
		z-index: 100;
		position: relative;
		-moz-transition: all 0.5s;
		-o-transition: all 0.5s;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}
	.scroll header #nav #logo {
		padding-top: 2px;
	}
	header #nav h1 {
		float: left;
		font-size: 0.7rem;
		font-weight: normal;
		color: #818181;
		margin: 4px 0 0 14px;
	}
	header .utilarea {
		width: 100%;
	}
	header #nav nav {
		margin: 10px 150px 0 60px;
		float: right;
		-moz-transition: all 0.5s;
		-o-transition: all 0.5s;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}
	.scroll header #nav nav {
		margin-top: -3px;
	}
	header .c-gnav>.menu-item>a:hover, header .c-gnav>.menu-item>a.current {
    color: #2d9462;
  }
  header .c-gnav>.menu-item>a::after {
  	position: absolute;
  	bottom: -1px;
  	left: 0;
  	content: '';
  	width: 100%;
  	height: 1px;
  	background: #2d9462;
  	transform: scale(0, 1);
  	transform-origin: right top;
  	transition: transform .3s;
  }
  header .c-gnav>.menu-item>a:hover::after, header .c-gnav>.menu-item>a.current::after {
  	transform-origin: left top;
  	transform: scale(1, 1);
  }
	/* header #nav nav ul li:first-child {
		display: none;
	} */
	header #nav nav ul li {
    padding: 0 12px;
    display:inline-block;
    vertical-align:top;
    position: relative;
  }
  header #nav nav ul li a {
  	text-decoration: none!important;
  	font-size: 0.9rem;
  	font-weight: 500;
  	letter-spacing:1px;
    position: relative;
    transition: .3s;
  	margin: 0 6px;
    line-height: 1.3;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 3em;
    align-items: center;
    justify-content: center;
  }
  header #nav nav ul li a:hover, header #nav nav ul li a.current {
    color: #1974b7;
  }
  header #nav nav ul li a::after {
  	position: absolute;
  	bottom: -1px;
  	left: 0;
  	content: '';
  	width: 100%;
  	height: 1px;
  	background: #1974b7;
  	transform: scale(0, 1);
  	transform-origin: right top;
  	transition: transform .3s;
  }
  header #nav nav ul li a:hover::after, header #nav nav ul li a.current::after {
  	transform-origin: left top;
  	transform: scale(1, 1);
  }
	header #nav #hash__nav {
    margin: 5px 0 0 64px;
		-moz-transition: all 0.5s;
		-o-transition: all 0.5s;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}
	.scroll header #nav #hash__nav {
		opacity: 0;
		pointer-events: none;
	}
	header #nav #hash__nav li {
    padding: 0 2px;
    display:inline-block;
    vertical-align:top;
    position: relative;
  }
  header #nav #hash__nav li a {
  	font-size: 0.85rem;
		color: #717171;
    position: relative;
  	margin: 0 6px;
    line-height: 1.3;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 3em;
    align-items: center;
    justify-content: center;
  }
	header #nav #hash__nav li a::before {
		content: "#";
	}
	header #nav #hash__nav li a:hover {
		color: #1974b7;
	}
  header #nav #sns {
    overflow: hidden;
    padding: 8px 0 0;
    position: absolute;
    right: 20px;
    top: 15px;
  }
  header #nav #sns [class^="icon-"], header #nav #sns [class*=" icon-"] {
    font-size: 1.25rem;
  }
  header #nav #sns ul {
    margin-bottom: 0.5em;
  }
  header #nav #sns li {
    padding: 0 2px;
  }
  header #nav #sns li:first-child a {
    position: relative;
    top: -8px;
    width: 32px;
  }
  header #nav #sns li a img {
    width: 25px;
  }
  header #nav #sns li a p {
    font-size: 6px;
    letter-spacing: 0;
  }
  header #nav #sns ul li a::after {
    display: none;
  }
	header #gnav .c-gnav>.menu-item>a {
		height: 50%;
		margin-top: 24px;
	}
	header #gnav .c-gnav>.menu-item>a .ttl {
		line-height: 1.4;
		font-weight: 600;
	}
	header #util li a {
		position: fixed;
		right: 0;
		top: 0;
		width: 180px;
		height: 130px;
	}
	header #util li a span, header #util li a em {
		color: #fff;
		position: relative;
		z-index: 10;
	}
	header #util li a span span {
		text-align: center;
		display: block;
		padding-top: 21%;
		font-size: 0.8rem;
	}
	header #util li a span span::before, header #util li a span span::after {
		content: "|";
    transform: rotate(-25deg);
    display: inline-block;
    margin: 0 0.3em;
    position: relative;
    top: -0.5px;
	}
	header #util li a span span::after {
		transform: rotate(25deg);
	}
	header #util li a span em {
		display: block;
    font-style: normal;
    font-size: 1rem;
    background: url(../../../../uploads/icon_mail.png) no-repeat left top 1px;
    background-size: 25px;
    width: 8em;
    margin: 0.1em auto 0;
    padding-left: 30px;
	}
	header #util li a::before {
		content:"";
		width:100%;
		height:100%;
		position:absolute;
		z-index:1;
		left:0;
		top:0;
		transition:0.5s;
	}
	header #util li a::after {
		content:"";
		width:100%;
		height:100%;
		position:absolute;
		z-index:0;
		left:0;
		top: 0;
		transition:0.5s;
	}
	header #util li a::before {
	  background: #3785d4;
	  background: -moz-linear-gradient(55deg, #10844b 0%, #33be7f 100%);
	  background: -webkit-linear-gradient(55deg, #10844b 0%,#33be7f 100%);
	  background: linear-gradient(55deg, #10844b 0%,#33be7f 100%);
	  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#10844b', endColorstr='#33be7f',GradientType=1 );
	}
	header #util li a::after {
	  background: #3785d4;
	  background: -moz-linear-gradient(55deg, #33be7f 0%, #10844b 100%);
	  background: -webkit-linear-gradient(55deg, #33be7f 0%,#10844b 100%);
	  background: linear-gradient(55deg, #33be7f 0%,#10844b 100%);
	  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33be7f', endColorstr='#10844b',GradientType=1 );
	}
	header #util li a:hover::before {
		opacity: 0;
	}

	#body_wrap.page #member h3 {
		font-size: 1.1rem;
		font-weight: 500;
		/* color: #000; */
		max-width: 660px;
		margin: 1.5em auto 1em;
		color: #1974b7;
		text-align: left;
	}
	#member dl {
    overflow: hidden;
		max-width: 640px;
		margin: auto;
  }
  #member dl dt, #member dl dd {
    float: left;
    margin-bottom: 0.7em;
  }
  #member dl dt {
    width: 7em;
    clear: both;
  }
  #member dl dd {
    width: calc(100% - 7em);
  }

	#body_wrap #f_contact {
		padding: 60px 0;
		background: url(../../../../uploads/mainv_bg.jpg) no-repeat center;
		background-size: cover;
		color: #fff;
	}
	#body_wrap #f_contact h3 {
		text-align: center;
    color: #fff;
    font-size: 2.7rem;
    line-height: 1.5;
    letter-spacing: 5px;
	}
	#body_wrap #f_contact p {
		font-size: 1.1rem;
    margin: 0.5em 0 2em 0;
    letter-spacing: 1px;
	}
	#body_wrap #f_contact br {
		display: none;
	}
	#body_wrap #f_contact ul li {
		padding: 0 1%;
	}
	#body_wrap #f_contact ul li a {
		font-size: 1.3rem;
		display: block;
		top: 3px;
	}
	#body_wrap #f_contact ul li a.btn::before {
		opacity: .5;
	}
	#body_wrap #f_contact ul li#btn_tel a {
		color: #fff;
    font-size: 2.7rem;
    letter-spacing: 2px;
    background: url(../../../../uploads/icon_tel.png) no-repeat left top 17px;
    background-size: 35px;
    padding-left: 45px;
	}
	#body_wrap #f_contact ul li#btn_tel span {
		display: block;
		letter-spacing: 1px;
		padding-left: 48px;
    margin-top: -10px;
	}
	#body_wrap #f_contact ul li a#btn_mail {
		max-width: 400px;
    /* height: 100px; */
    display: block;
    background: url(../img/common/icon_mail_blu.png) no-repeat left 15% top 28px #fff;
    background-size: 25px;
    color: #1974b7;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: center;
    position: relative;
    padding: 1.5rem 0;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
	}
	#body_wrap #f_contact ul li a#btn_mail:hover {
    background: url(../img/common/icon_mail.png) no-repeat left 15% top 28px #1974b7;
    background-size: 25px;
		color: #fff;
	}
	.l-footer__inner {
		/* background: url(../img/common/footer_bg.jpg) no-repeat right bottom;
		background-size: cover;*/
		padding: 40px 4vw 40px;
	}
	.l-footer__inner p, .l-footer__inner a, .l-footer__inner address {
		border: none !important;
	}
	.l-footer__inner > .flex_cl {
		position: relative;
	}
	.l-footer__inner #ft_l {
		width: 40%;
	}
	.l-footer__inner #ft_l #f_logo {
		width: 280px;
	}
	.l-footer__inner #ft_l address {
		margin: 2em 0 1em;
	}
	.l-footer__inner #ft_l .copyright {
		text-align: left;
		margin-top: 3em;
		color: #5d5d5d;
	}
	.l-footer__inner #ft_r {
	}
	.l-footer__inner #ft_r .l-footer__nav {
    justify-content: flex-end;
		position: absolute;
		bottom: 0;
		right: 0;
	}
	.l-footer__inner #ft_r .l-footer__nav a {
		border: none;
		color: #2d9462;
		font-weight: normal;
	}
	.l-footer__inner #ft_r h3 {
		text-align: right;
		font-size: 1.6rem;
	}
	.l-footer__widgetArea {
		width: 60%;
	}
	.l-footer__inner .w-footer__box, .l-footer__inner .l-footer__widgetArea {
		padding: 0;
	}
	.l-footer__inner .widget_nav_menu ul li {
		float: left;
		min-width: 12em;
	}
	.l-footer__inner .widget_nav_menu ul li:nth-child(odd) {
		clear: both;
	}
	.l-footer__inner .widget_nav_menu a {
		border: none !important;
	}
	.l-footer__inner .l-footer__nav a br {
		display: none;
	}
	.l-footer a.btn {
	}
	.l-footer a.btn:hover {
	}
	.l-footer__inner .l-footer__foot {
	}
	footer.l-footer .copyright {
		color: #8f8f8f;
    margin-top: 4em;
	}


	.btn {
		background: #e6be20;
    color: #fff;
    font-size: 1rem;
    position: relative;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 18px 30px;
    border: none;
    border-radius: 50px;
    max-width: 450px;
    text-align: center;
    -webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
    transition: all .5s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
    transition-timing-function: cubic-bezier(.19,1,.22,1);
    -webkit-transition-property: background;
    transition-property: background;
    letter-spacing: 1.1px;
	}
	.btn:hover {
		background: #ffb100;
	}
	.btn span {
		font-size: 1.3rem;
		display: block;
		background: url(../img/arrow.svg) no-repeat right center;
		background-size: 20px 17px;
		padding-right: 22px;
	}
	.btn::before {
	  content: "";
	  position: absolute;
	  left: -5px;
	  top: -5px;
	  width: 100%;
	  height: 100%;
	  border: 5px solid #ffb100;
		box-sizing: unset;
	  opacity: .2;
	  -webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
	  transition: all .5s cubic-bezier(.19,1,.22,1);
	  -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
	  transition-timing-function: cubic-bezier(.19,1,.22,1);
	  border-radius: 40px;
	}
	.btn:hover::before {
	  content: "";
	  position: absolute;
	  left: -7px;
	  top: -7px;
	  border: 7px solid #ffb100;
	}

	#top_title_area {
		margin-top: 110px;
	}
	#top_title_area.l-topTitleArea.c-filterLayer::before {
		background: url(../../../../uploads/dot_mv.png);
		background-size: 3px 3px;
    opacity: .4;
	}
	#top_title_area.l-topTitleArea.c-filterLayer::after {
		display: none;
	}
	#top_title_area .l-topTitleArea__body {
		text-shadow: none;
	}
	#top_title_area h1 {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
	}
	#top_title_area h1 small {
		display: block;
    font-style: normal;
    opacity: 1;
    margin: 0.5em 0 0;
    font-family: 'Mulish' , 'Noto Sans JP', '游ゴシック', sans-serif , YuGothic, 'Franklin Gothic Medium' ,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
	}

	.page #main_content {
		max-width: 900px;
	}
	.wpcf7 form > p {
    margin-bottom: 1.8em;
  }
  .wpcf7 form p label em {
    top: -3px;
    position: relative;
  }
  .wpcf7 form p label em + span {
    background-color: #e6be20;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    font-size: 12px;
    padding: 2px 4px;
    color: #FFF;
    margin-left: 10px;
    margin-top: 10px;
    position: absolute;
    margin-top: 0px;
    padding-right: 5px;
  }
  .wpcf7 form .wpcf7-form-control-wrap {
    margin-top: 0.1em;
    display: block;
  }
  input[type=text], input[type=password], input[type=email], input[type=url], input[type=number], input[type=tel], input[type=date], input[type=datetime], select, textarea {
    width: 100%;
  }
  .wpcf7 form input[type="submit"], .wpcf7 form input[type="button"] {
    max-width: 350px;
		font-size: 1.1rem;
    width:50%;
    font-weight: bold;
    margin: 20px auto 0;
    background: #e6be20;
    color: #fff;
    border: none;
    padding: 15px 0 16px;
    cursor: pointer;
    display: block;
    -webkit-transition: .3s ease-in;
    -moz-transition: .3s ease-in;
    -ms-transition: .3s ease-in;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
  }
  .wpcf7 form input[type="submit"]:hover {
  	background:#ffb100;
  }
  .wpcf7 form input[type="button"] {
    margin-bottom: 1em;
    background: #c1a361;
  }
  .wpcf7 form input[type="button"]:hover {
    background: #e4bc63;
  }
  .wpcf7 form input:disabled, .wpcf7 form input:disabled:hover {
    background: #c3c3c3;
    cursor: not-allowed;
  }
  .wpcf7 .wpcf7-acceptance span.wpcf7-list-item {
    margin: 1em 0 0;
    font-weight: bold;
  }
  .wpcf7 .wpcf7c-conf {
    background-color: #f0efef !important;
  }
}

@media all and (min-width: 960px) and (max-width: 1150px) {
}

@media all and (min-width: 960px) and (max-width: 1250px) {
	header .c-catchphrase {
		display: none;
	}
}

@media all and (min-width: 768px) and (max-width: 959px) {
}
