@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;
	}
	.l-container {
		max-width: none;
	}
	h1.c-headLogo {
		float: left;
    margin: 0 0 0 20px;
	}
	.c-catchphrase {
		float: left;
		margin: 15px 0 0 20px;
	}

	/*ヘッダー*/
	/* header {
	  height: 120px;
	  position: relative;
	  z-index: 999;
	} */
	header {
		height: 100px;
		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 #nav {
		padding: 18px 15px 18px;
    overflow: hidden;
	}
	header #nav #title {
	}
	header #nav #logo {
	  width: 310px;
		padding: 22px 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 #title {
		position: relative;
	}
	header #nav h1 {
		position: absolute;
		top: -13px;
		left: 13px;
		font-size: 0.7rem;
		font-weight: normal;
		color: #4c4c4c;
		-moz-transition: all 0.5s;
		-o-transition: all 0.5s;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}
	.scroll header #nav h1 {
		opacity: 0;
	}
	header .utilarea {
		width: 100%;
	}
	header #nav nav {
		margin: 10px 180px 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 #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: 190px;
    top: 8px;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
  }
  .scroll header #nav #sns {
    top: -3px;
	}
	header #nav #sns a {
		font-size: 1rem;
	  background: #1773ea;
	  border-radius: 50%;
	  align-items: center;
	  display: flex;
	  padding: 0.5rem;
	}
	header #nav #sns a:hover {
		filter: brightness(130%);
	}
	header #nav #sns a.icon-facebook::before {
    color: #fff;
    font-size: 0.9rem;
	}
  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 #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(../img/common/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, #3785d4 0%, #41bbe2 100%);
	  background: -webkit-linear-gradient(55deg, #3785d4 0%,#41bbe2 100%);
	  background: linear-gradient(55deg, #3785d4 0%,#41bbe2 100%);
	  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3785d4', endColorstr='#41bbe2',GradientType=1 );
	}
	header #util li a::after {
	  background: #3785d4;
	  background: -moz-linear-gradient(55deg, #41bbe2 0%, #3785d4 100%);
	  background: -webkit-linear-gradient(55deg, #41bbe2 0%,#3785d4 100%);
	  background: linear-gradient(55deg, #41bbe2 0%,#3785d4 100%);
	  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#41bbe2', endColorstr='#3785d4',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: 80px 0;
		background: url(../../../../uploads/2020/09/contact_bg.jpg) no-repeat center;
		background-size: cover;
		color: #fff;
	}
	#body_wrap #f_contact h3 {
		text-align: center;
		color: #fff;
		font-size: 2.3rem;
		line-height: 1.5;
	}
	#body_wrap #f_contact p {
		font-size: 1rem;
		margin: 1.5em 0 3em 0;
    letter-spacing: 1px;
	}
	#body_wrap #f_contact ul li {
		padding: 0 1%;
	}
	#body_wrap #f_contact ul li a {

	}
	#body_wrap #f_contact ul li#btn_tel a {
		color: #fff;
    font-size: 2.7rem;
    letter-spacing: 2px;
    background: url(../img/common/icon_tel_l.png) no-repeat left top;
    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: 70px 4vw 70px;
	}
	.l-footer__inner p, .l-footer__inner a, .l-footer__inner address {
		font-style: normal;
		font-weight:600;
		font-size: 0.9rem;
	}
	.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: #137bc4;
		font-weight: normal;
	}
	.l-footer__inner #ft_r .l-footer__nav a br {
		display: none;
	}
	.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 .widget_nav_menu a br {
		display: none;
	}
	.l-footer a.btn {
		color: #1974b7 ;
	}
	.l-footer a.btn:hover {
		color: #fff ;
	}
	.l-footer__inner .l-footer__foot {
    padding-top: 4em;
    padding-bottom: 1em;
	}


	.btn {
	  color: #fff !important;
		font-size: 0.9rem;
	  position: relative;
	  padding: 24px 30px 24px 15px;
	  border: none;
		border-radius: 5px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		max-width: 350px;
		line-height: 1.3;
		display: block;
		text-align: center;
		overflow: hidden;
	}
	.btn span {
    position: relative;
    width: 100%;
    display: inline-block;
    z-index: 1;
		background: url(../img/common/arrow.png) no-repeat right center;
		background-size: 14px 12px;
	}
	.btn::before {
		content:"";
		width:100%;
		height:100%;
		position:absolute;
		z-index:1;
		left:0;
		top:0;
		transition:0.5s;
		background: #3785d4;
		background: -moz-linear-gradient(55deg, #3785d4 0%, #41bbe2 100%);
		background: -webkit-linear-gradient(55deg, #3785d4 0%,#41bbe2 100%);
		background: linear-gradient(55deg, #3785d4 0%,#41bbe2 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3785d4', endColorstr='#41bbe2',GradientType=1 );
	}
	.btn::after {
		content:"";
		width:100%;
		height:100%;
		position:absolute;
		z-index:0;
		left:0;
		top: 0;
		transition:0.5s;
		background: #3785d4;
	  background: -moz-linear-gradient(55deg, #41bbe2 0%, #3785d4 100%);
	  background: -webkit-linear-gradient(55deg, #41bbe2 0%,#3785d4 100%);
	  background: linear-gradient(55deg, #41bbe2 0%,#3785d4 100%);
	  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#41bbe2', endColorstr='#3785d4',GradientType=1 );
	}
	.btn:hover::before {
		opacity: 0;
	}
}


@media all and (min-width: 960px) and (max-width: 1250px) {
	.l-footer__inner #ft_r h3 {
	    font-size: 1.4rem;
	}
	header #nav nav ul li {
		padding: 0 3px;
	}
}
@media all and (min-width: 1061px) and (max-width: 1150px) {
	header #nav nav ul li {
    padding: 0 4px;
	}
}
@media all and (min-width: 960px) and (max-width: 1100px) {
	header #nav #logo {
		width: 250px;
		margin-top: 5px;
	}
	
	header #nav nav ul li {
    padding: 0 2px;
	}
	header #nav nav ul li a {
    font-size: 0.85rem;
	}
}
@media all and (min-width: 960px) and (max-width: 1050px) {
	header #nav nav {
		margin: 16px 180px 0 30px;
	}
	header #nav nav ul li {
		padding: 0;
	}
}

@media all and (min-width: 768px) and (max-width: 960px) {
	header #copy {
		font-size: 0.7rem;
		height: 50px;
		display: flex !important;
		align-items: center;
		width: calc(100% - 220px);
		position: absolute;
		left: 160px;
		line-height: 1.4;
		color: #4e4e4e;
	}
	#f_contact ul li a {
    max-height: 70px;
	}
	#f_contact ul li#btn_tel a {
		color: #1974b7 !important;
	}
	#f_contact ul li a#btn_mail {
    background: url(../img/common/icon_mail_blu.png) no-repeat left 15% top 24px #fff;
    background-size: 25px;
    padding: 1.25rem 0 1.25rem 1em;
	}
	#f_contact ul li#btn_tel span {
		padding: 0;
	}
}
