@charset "utf-8";

@import url("keyframes.css");

body {
	margin: 0px;
	padding: 0px;
	color: rgb(56, 62, 50);
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 1.8;
	background: rgb(244, 248, 240);
	-webkit-text-size-adjust: none;
}

h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
figure,
form {
	margin: 0px;
	padding: 0px;
	font-weight: normal;
}

ul {
	list-style-type: none;
}

ol {
	padding-left: 40px;
	padding-bottom: 15px;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	font-size: 100%;
	border-spacing: 0;
}

video {
	max-width: 100%;
}

iframe {
	width: 100%;
}

@keyframes fade1 {
	0% {opacity: 0;}
	4% {opacity: 1;}
	14% {opacity: 1;}
	18% {opacity: 0;}
	100% {opacity: 0;}
}
@keyframes fade2 {
	0% {opacity: 0;}
	14% {opacity: 0;}
	18% {opacity: 1;}
	28% {opacity: 1;}
	32% {opacity: 0;}
	100% {opacity: 0;}
}
@keyframes fade3 {
	0% {opacity: 0;}
	28% {opacity: 0;}
	32% {opacity: 1;}
	42% {opacity: 1;}
	46% {opacity: 0;}
	100% {opacity: 0;}
}
@keyframes fade4 {
	0% {opacity: 0;}
	42% {opacity: 0;}
	46% {opacity: 1;}
	56% {opacity: 1;}
	60% {opacity: 0;}
	100% {opacity: 0;}
}
@keyframes fade5 {
	0% {opacity: 0;}
	56% {opacity: 0;}
	60% {opacity: 1;}
	70% {opacity: 1;}
	74% {opacity: 0;}
	100% {opacity: 0;}
}
@keyframes fade6 {
	0% {opacity: 0;}
	70% {opacity: 0;}
	74% {opacity: 1;}
	84% {opacity: 1;}
	88% {opacity: 0;}
	100% {opacity: 0;}
}

#mainimg {
	clear: left;
	width: 100%;
	position: relative;
}
.top2, .top3, .top4, .top5, .top6, .top7 {
	z-index: 5;
	animation-duration: 30s;
	animation-iteration-count:infinite;
	position: absolute;left:0px;top:0px;width: 100%;height: auto;
	animation-fill-mode: both;
	animation-delay: 4s;
}
.top1 {
	position: relative;
	width: 100%;
	height: auto;
	z-index: 1;
}
.top2 {
	animation-name: fade1;
}
.top3 {
	animation-name: fade2;
}
.top4 {
	animation-name: fade3;
}
.top5 {
	animation-name: fade4;
}
.top6 {
	animation-name: fade5;
}
.top7 {
	animation-name: fade6;
}

a {
	color: rgb(56, 62, 50);
	transition: 0.2s;
}

a:hover {
	color: rgb(95, 103, 88);
	text-decoration: none;
}

.inner {
	max-width: 1400px;
	margin: 0 auto;
	padding-left: 2%;
	padding-right: 2%;
}

header {
	position: relative;
	padding: 20px;
}

.home header {
	padding: 0px;
}

header #logo {
	width: 200px;
	margin: 0 auto;
}


#menubar {
	position: relative;
	z-index: 10;
	text-align: center;
	background: #fff;
	border-top: 1px solid rgb(226, 200, 152);
	border-bottom: 1px solid rgb(226, 200, 152);
	height: 80px;
}

#menubar .inner {
	padding-left: 1.5%;
	padding-right: 1.5%;
}

#menubar ul li {
	float: left;
	width: 20%;
}
#menubar ul li img {
	padding-top: 15px;
	max-width: 150px;
}
#menubar ul li a {
	text-decoration: none;
	display: block;
	height: 80px;
	padding-top: 25px;
	box-sizing: border-box;
	font-size: 19px;
	color: rgb(127, 193, 65);
	font-weight: bold;
}
#menubar ul li.long a {
	padding-top: 28px;
	font-size: 16px;
}

#menubar ul li a span {
	transition: 0.2s;
}
#menubar ul li a:hover span {
	color: #ff887f;
	text-decoration: none;
}

#menubar ul li span {
	display: block;
	font-size: 12px;
	color: #999;
	letter-spacing: 0.2em;
}

#menubar_sp,
#menubar_sp2 {
	display: none;
}

#menu_btn {
	display: none;
}

#menubar a.cursor-default {
	cursor: default;
	color: #999;
}

#menubar ul.ddmenu {
	position: absolute;
	visibility: hidden;
	z-index: 10;
	left: 0px;
	width: 94%;
	padding: 50px 3%;
	background: #65a9e9;
	background: rgba(63, 148, 227, 0.8);
	text-align: center;
	border-bottom: 1px solid #fff;
}

#menubar li:hover ul.ddmenu {
	animation-name: opa1;
	animation-fill-mode: both;
	animation-duration: 0.8S;
	animation-delay: 0.1s;
}

#menubar ul.ddmenu li {
	float: none;
	width: auto;
	display: inline-block;
	font-size: 85%;
}

#menubar ul.ddmenu li a {
	height: auto;
	padding: 20px;
	color: #fff;
	opacity: 0.7;
}

#menubar ul.ddmenu li a:hover {
	opacity: 1;
}

.fixed #menubar.pc_menu {
	position: fixed;
	width: 100%;
	top: 0px;
	height: 60px;
	opacity: 0.95;
}

.fixed #contents {
	margin-top: 105px;
}

.is-fixed #menubar.pc_menu {
	position: fixed;
	width: 100%;
	top: 0px;
}

.is-fixed #contents {
	margin-top: 105px;
}

.fixed #menubar ul li span {
	display: none;
}

.fixed #menubar ul li img {
	padding-top: 4px;
}

.fixed #menubar ul li a {
	height: 60px;
	padding-top: 14px;
}
.fixed #menubar ul li.long a {
	padding-top: 18px;
}

.fixed #menubar ul.ddmenu li a {
	padding: 20px;
	height: auto;
}

#contents {
	padding: 80px 0 120px;
	position: relative;
	animation: fadeIn 0.5s ease-in 0.3s forwards;
	opacity: 0;
}

#contents h2 {
	font-size: 33px;
	text-align: center;
	letter-spacing: 0.1em;
	color: #666;
	margin-bottom: 60px;
}

#contents h2 span {
	display: block;
	font-size: 40%;
}

#contents h3 {
	margin-bottom: 30px;
	font-size: 21px;
	text-align: left;
}
#contents .list h3 {
	margin-bottom: 20px;
	font-size: 23px;
	text-align: center;
}
#contents .list .long_name {
	font-size: 23px;
}
#contents .philosophy_frame h3 {
	font-size: 170%;
	margin-bottom: 20px;
	color: #666;
	border-bottom: none;
}

#contents p {
	padding: 0 3% 30px;
}
#contents p.finished {
	text-align: center;
}

#contents section+section {
	margin-top: 100px;
}

#contents .list {
	position: relative;
	border-radius: 0;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: rgb(127, 193, 65);
	color: #fff;
	width: 80%;
	max-width: 800px;
	margin: 0 auto 50px;
	border-radius: 5px;
}

#contents .list a {
	color: #fff;
}

#contents .list p {
	padding: 0;
}

#contents .list figure {
	width: 40%;
}

#contents .list .text {
	width: 50%;
	padding: 2% 5%;
}

#contents .list:nth-of-type(even) {
	background: rgb(166, 207, 128);
}

.btn1 a {
	display: block;
	text-decoration: none;
	border: 1px solid #fff;
	text-align: center;
	padding: 10px 30px;
	margin: 40px auto 0;
}

.btn1 a:hover {
	background: #fff;
	color: #70b0eb !important;
}

#contents .item-container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0;
}

#contents .item {
	display: flex;
	flex-direction: column;
	width: 23%;
	margin-bottom: 20px;
	background: rgb(127, 193, 65);
	color: #fff;
	border-radius: 5px;
	overflow: hidden;
}

#contents .item a {
	color: #fff;
}

#contents .item p {
	padding: 0;
}

#contents .item .text {
	padding: 5%;
	flex: 1 0 auto;
}

#contents .item figure {
	min-height: 0%;
}

footer {
	font-size: 90%;
	background: #d2d8db;
	color: #fff;
	text-align: center;
}

footer a {
	color: #fff;
}
footer a:hover {
	color: #ddd;
}
footer a img {
	height: 30px;
}
footer .pr {
	display: block;
	font-size: 80%;
}

#footermenu {
	overflow: hidden;
	padding: 15px 0;
	background: url(../images/footer_logo.png) no-repeat right center / 20%;
}
#footermenu li {
	line-height: 2.4;
}
#footermenu li a {
	text-decoration: none;
	opacity: 0.8;
}
#footermenu li a {
	color: #666;
}
#footermenu li a b {
	color: #62a4e1;
	font-size: 16px;
}
#footermenu li a:hover {
	color: #555;
}

#footermenu li a:hover {
	opacity: 1;
}
#footermenu li .ma:hover+.ma {
	opacity: 1;
}
#footermenu ul {
	width: 60%;
	margin: 0 auto;
	padding-right: 1%;
	padding-left: 1%;
	text-align: left;
}

#footermenu li.title,
#footermenu li.title a {
	opacity: 1;
}

.copyright {
	text-align: center;
	background: rgb(127, 193, 65);
	padding: 8px 0;
}

.copyright a {
	text-decoration: none;
}

ul.icon {
	margin-bottom: 20px;
}

ul.icon li {
	display: inline-block;
}

ul.icon img {
	width: 30px;
}

ul.icon img:hover {
	opacity: 0.8;
}

#new dl {
	padding: 20px;
}

#new dt {
	float: left;
	width: 9em;
	letter-spacing: 0.1em;
}

#new dd {
	padding-left: 9em;
}

.table1 caption,
.ta2 caption {
	border: 1px solid #ccc;
	border-bottom: none;
	text-align: left;
	background: #eeece4;
	font-weight: bold;
	padding: 10px;
}

.table1 {
	width: 85%;
	max-width: 870px;
	table-layout: fixed;
	margin: 0 auto 40px;
	background: #fff;
}

.table1,
.table1 td,
.table1 th {
	border: 1px solid rgb(226, 200, 152);
	padding: 25px 3%;
	word-break: break-all;
}

.table1 th {
	width: 24%;
	text-align: center;
	font-weight: normal;
}

.profile_frame {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 100px;
	padding: 30px;
	padding-bottom: 40px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #ccc;
	display: flex;
	justify-content: space-between;
}
.profile_frame.philosophy_frame {
	flex-direction: row-reverse;
}
.profile_frame img {
	width: 40%;
	display: block;
}
.profile_frame img:nth-child(2) {
	width: 59%;
}
 */
 .ta3 {
	margin: 0 auto;
 }
 .ta3 td {
	text-align: center;
 }
 .style1 {
	color: #e7eff6;
 }
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	-webkit-appearance: none;
	outline: none;
	padding: 5px 20px;
	border: 1px solid rgb(127, 193, 65);
	font-size: 130%;
	border-radius: 3px;
	background: rgb(127, 193, 65);
	color: #fff;
	cursor: pointer;
}

#contents input[type="submit"].btn:hover,
#contents input[type="button"].btn:hover,
#contents input[type="reset"].btn:hover {
	border: 1px solid rgb(127, 193, 65);
	background: #fff;
	color: rgb(127, 193, 65);
}

.newicon {
	background: #F00;
	color: #FFF;
	font-size: 70%;
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

.link {
	display: block;
	margin-top: -120px;
	padding-top: 120px;
}

ul.disc {
	list-style: disc;
	padding: 0 3% 20px 6%;
}

ol {
	padding: 0 3% 20px 6%;
}

.look {
	background: #fff;
	border: 1px solid #ccc;
	display: inline-block;
	padding: 0px 10px !important;
	border-radius: 4px;
}

p.look {
	margin: 0 3%;
}

.mb15,
.mb1em {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.clear {
	clear: both;
}

.color1,
.color1 a {
	color: #70b0eb !important;
}

.pr {
	font-size: 10px;
}

.textarea {
	width: 100%;
	padding: 3px;
	box-sizing: border-box;
}

.input_text {
	width: 60%;
	padding: 3px;
	font-size: 15px;
	box-sizing: border-box;
}

.c {
	text-align: center !important;
}

.r {
	text-align: right !important;
}

.l {
	text-align: left !important;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

.big1 {
	font-size: 30px;
}

.mini1 {
	font-size: 11px;
	display: inline-block;
	line-height: 1.5;
}

.sh {
	display: none;
}
#contents .catch {
	width: 100%;
	margin-bottom: 60px;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
.catch img {
	display: block;
	width: 40%;
	border-radius: 5px;
	object-fit: contain;
}
#contents .catch p {
	font-size: 18px;
	color: #666;
	width: 50%;
	padding: 20px 5px 0;
	line-height: 2;
	text-align: left;
}
.alternate {
	background: #f6f9fb;
}
.agencys {
	display: flex;
}
.agencys img {
	display: block;
	width: 30%;
	object-fit: contain;
}
.agencys p {
	color: #888;
}
.privacys {
	margin: 0 auto;
	padding: 20px;
	background: #f6f9fb;

}
.hidden_img {
	visibility: hidden;
}
.dx img {
	display: block;
	margin: 0 auto 20px;
}
.dx .name {
	margin-right: 0;
}

@media screen and (max-width:1400px) {

	#contents .catch {
		width: 100%;
	}
}
@media screen and (max-width:1200px) {

	#contents .catch {
		width: 100%;
	}
}

.sp_logo {
	display: none;
}
/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px) {

	body {
		font-size: 2vw;
		/*文字サイズ*/
	}

	header {
		border-bottom: 1px solid #ccc;
	}

	.home header {
		border: none;
	}

	#menubar_sp {
		overflow: auto;
		height: 100%;
		position: fixed;
		z-index: 100;
		top: 0px;
		width: 100%;
		background: rgba(50, 60, 65, 0.8);
		border-top: 1px solid #fff;
		animation-name: frame1;
		animation-duration: 0.5s;
		animation-fill-mode: both;
		font-size: 16px;
	}

	#menubar_sp li span {
		margin-left: 20px;
		font-size: 80%;
	}

	#menubar_sp ul li a {
		display: block;
		text-decoration: none;
		padding: 30px 20px 30px 60px;
		border-bottom: 1px solid #fff;
		color: #fff;
	}

	#menubar {
		display: none;
	}

	#menubar_sp2 {
		display: block;
		margin-top: 10px;
		border-radius: 5px;
		background: rgba(0, 0, 0, 0.3);
		border: 1px solid #fff;
	}

	#menubar_sp2 li a {
		border-bottom: 1px solid #fff !important;
		padding: 10px 20px !important;
	}

	#menubar_sp2 li:last-child a {
		border-bottom: none !important;
	}

	#menu_btn {
		display: block;
		position: fixed;
		z-index: 100;
		top: 10px;
		right: 10px;
	}

	#menu_btn.close,
	#menu_btn.open {
		width: 40px;
		height: 40px;
		border: 1px solid #fff;
	}

	#menu_btn.close {
		background: rgba(87, 93, 83, 0.8);
		background-image: url(../images/sp_menu.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	#menu_btn.open {
		background: #455157;
		background-image: url(../images/sp_menu2.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	.fixed #contents {
		margin-top: 0px;
	}

	.is-fixed #contents {
		margin-top: 0px;
	}

	#contents {
		padding: 50px 0;
	}

	#contents h2 {
		font-size: 28px;
		margin-bottom: 50px;
	}

	.link {
		margin-top: -30px;
		padding-top: 30px;
	}

	.inner {
		padding-left: 4%;
		padding-right: 4%;
	}
	.s-n .sub,
	.s-n #footermenu {
		display: none;
	}

	.big1 {
		font-size: 20px;
	}

	
	.table1 {
		width: 100%;
	}

	#contents .list {
		width: 100%;
		margin-bottom: 50px;
		flex-direction: column;
	}
	#contents .list .text {
		width: 100%;
	}
	#contents .list h4 {
		text-align: center;
	}
	#contents .list p {
		padding-left: 4%;
	}
	#contents .list figure {
		width: 100%;
	}
	#contents .list .text {
		order: 2;
	}

	#contents .item-container {
		flex-direction: column;
	}
	#contents .item {
		width: 100%;
	}
	#contents .catch {
		margin: 0 auto 60px;
		padding: 0;
		flex-direction: column;
	}
	.catch img {
		width: 100%;
	}
	#contents .catch p {
		width: 100%;
		padding: 0 2%;
		box-sizing: border-box;
		font-size: 13px;
	}
	.agencys {
		flex-direction: column;
	}
	.agencys img {
		width: 100%;
	}
	.profile_frame, 
	.profile_frame.philosophy_frame {
		margin-bottom: 50px;
		padding: 0;
		padding-bottom: 5px;
		flex-direction: column;
	}
	.profile_frame img {
		width: 90%;
		margin: 10px auto 0;
	}
	.profile_frame img:nth-child(2) {
		width: 100%;
		margin: 0;
	}
	#footermenu ul {
		width: 80%;
		margin-left: 0;
		padding-right: 1%;
		padding-left: 1%;
		text-align: left;
	}
	#footermenu ul li {
		line-height: 3.2;
	}
	#footermenu ul b {
		display: none;
	}
	p {
		font-size: 12px;
	}
	#new dl {
		padding: 20px 5px;
	}
	#new dd, 
	#new dt {
		font-size: 12px;
	}
	.sp_logo {
		background: #fff;
		display: block;
		padding: 10px 0;
		text-align: center;
	}
	.sp_logo img {
		max-width: 130px;
	}
}

/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px) {

	body {
		font-size: 3vw;
	}

	#contents h2 {
		margin-bottom: 30px;
	}

	#contents h3 {
		margin-bottom: 20px;
	}
	#contents .list h3 {
		font-size: 21px;
	}
	#contents .list .long_name {
    font-size: 18px;
}
	#contents section+section {
		margin-top: 30px;
	}

	.btn1 a {
		padding: 5px 10px;
	}

	.table1,
	.table1 td,
	.table1 th {
		padding: 15px 5px;
	}

	.table1 th {
		width: 100px;
	}

	.profile_frame {
		margin-bottom: 30px;
	}

	.input_text,
	.textarea {
		width: 100%;
	}

	.fl {
		float: none;
	}

	.fr {
		float: none;
	}

	.big1 {
		font-size: 16px;
	}

	.sh {
		display: block;
	}

	.pc {
		display: none;
	}

}

#pagetop {
	position: fixed;
	bottom: 16px;
	right: 20px;
}
@media(max-width:767px) {
	#pagetop {
			bottom: 12px;
			right: 12px;
	}
}
#pagetop a {
	display: block;
	background: rgba(190, 190, 190, 0.9);
	color: rgb(255, 255, 255);
	font-weight: 600;
	width: 42px;
	line-height: 42px;
	padding: 0;
	text-align: center;
	transition: 0.5s;
	border-radius: 5px;
	z-index: 10;
	text-decoration: none;
}
#pagetop a:hover {
	background: rgba(130, 130, 130, 0.3);
	color: rgb(255, 255, 255);
}
