@charset "UTF-8";

/*---import CSS-----------------------------------*/
@import "base_layout.css";
@import "common_parts.css";
@import "common_setting.css";
/*---import CSS-----------------------------------*/

/*
======== table of content. ===============

summary : 「会社概要」設定

- main image
- content
  - section greeting
  - section overview
==========================================

/*----------------------------------------
main image
------------------------------------------*/

#main_img figure img {
	object-position: 50% 70%;
}

/*----------------------------------------
content
------------------------------------------*/

/*--- section greeting -----------------------------------*/

#greet_wrapper {
	width: 100%;
	margin: 35px 0 0;
	display: -webkit-box; /*Android4.3*/
	display: -moz-box; /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	-webkit-box-pack: justify; /*Android4.3*/
	-moz-box-pack: justify; /*Firefox21*/
	-ms-flex-pack: justify; /*IE10*/
	-webkit-justify-content: space-between; /*PC-Safari,iOS8.4*/
	justify-content: space-between;
	-webkit-box-align: start; /*Android4.3*/
	-moz-box-align: start;/*Firefox21*/
	-ms-flex-align: start;/*IE10*/
	-webkit-align-items: flex-start;/*PC-Safari,iOS8.4*/
	align-items: flex-start;
}

#greet_wrapper figure {
	width: calc(30% - 20px);
}

#greet_wrapper figure .image_wrapper {
	width: 70.5%;
	margin-top: 14.75%;
	border: 4px solid #eb6e8c;
	border-radius: 10px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	left: 14.75%;
	overflow: hidden;
}

#greet_wrapper figure .image_wrapper::before {
	content: "";
	display: block;
	padding-top: 100%;
}

#greet_wrapper figure .image_wrapper img {
	width: 141%;
	height: auto;
	margin: auto;
	display: block;
	position: absolute;
	top: -20.5%;
	left: -20.5%;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#greet_wrapper .contents_wrapper {
	width: calc(70% - 20px);
}

#greet_wrapper .contents_wrapper p + p,
#greet_wrapper .contents_wrapper p + dl,
#greet_wrapper .contents_wrapper dl + p,
#greet_wrapper .contents_wrapper dl + dl {
	margin: 25px 0 0 0;
}

#greet_wrapper .contents_wrapper dl dd {
	margin: 20px 0 0 0;
}

.acc.bear {
	top: 70%;
	left: 100px;
}

.acc.bear svg {
	fill: #fad7a0;
	width: 201px;
	height: auto;
	overflow: inherit;
}

/* IE10_11 hack */
@media all and (-ms-high-contrast: none) {
	.acc.bear svg {
		height: 225px;
	}
}

#greet_bear .bear {
	-webkit-animation: bear 6s linear infinite;
	-moz-animation: bear 6s linear infinite;
	animation: bear 6s linear infinite;
	-webkit-transform-origin: 40% 59%;
	-moz-transform-origin: 40% 59%;
	transform-origin: 40% 59%;
}

@-webkit-keyframes bear {
	50% {
		-webkit-transform: rotate(-6deg);
	}
}

@-moz-keyframes bear {
	50% {
		-moz-transform: rotate(-6deg);
	}
}

@keyframes bear {
	50% {
		transform: rotate(-6deg);
	}
}

#greet_bear .heart {
	-webkit-animation: heart 1s linear infinite;
	-moz-animation: heart 1s linear infinite;
	animation: heart 1s linear infinite;
	-webkit-transform-origin: 81% 16.5%;
	-moz-transform-origin: 81% 16.5%;
	transform-origin: 81% 16.5%;
}

@-webkit-keyframes heart {
	0% {
		-webkit-transform: scale(.85, .85);
	}
	50% {
		-webkit-transform: scale(1, 1);
	}
	100% {
		-webkit-transform: scale(.85, .85);
	}
}

@-moz-keyframes heart {
	0% {
		-moz-transform: scale(.85, .85);
	}
	50% {
		-moz-transform: scale(1, 1);
	}
	100% {
		-moz-transform: scale(.85, .85);
	}
}

@keyframes heart {
	0% {
		transform: scale(.85, .85);
	}
	50% {
		transform: scale(1, 1);
	}
	100% {
		transform: scale(.85, .85);
	}
}

.acc.balloon {
	top: -10px;
	right: 50px;
}

.acc.balloon svg {
	fill: #fad7a0;
	width: 158px;
	height: auto;
	overflow: inherit;
}

/* IE10_11 hack */
@media all and (-ms-high-contrast: none) {
	.acc.balloon svg {
		height: 130px;
	}
}

#greet_balloon .balloon {
	-webkit-animation: balloon 4s linear infinite;
	-moz-animation: balloon 4s linear infinite;
	animation: balloon 4s linear infinite;
	-webkit-transform-origin: 68% 64.5%;
	-moz-transform-origin: 68% 64.5%;
	transform-origin: 68% 64.5%;
}

@-webkit-keyframes balloon {
	0% {
		-webkit-transform: rotate(0deg);
	}
	25% {
		-webkit-transform: translate(0, -10px);
	}
	50% {
		-webkit-transform: rotate(4deg);
	}
	75% {
		-webkit-transform: translate(0, 10px);
	}
}

@-moz-keyframes balloon {
	0% {
		-moz-transform: rotate(0deg);
	}
	25% {
		-moz-transform: translate(0, -10px);
	}
	50% {
		-moz-transform: rotate(4deg);
	}
	75% {
		-moz-transform: translate(0, 10px);
	}
}

@keyframes balloon {
	0% {
		transform: rotate(0deg);
	}
	25% {
		transform: translate(0, -10px);
	}
	50% {
		transform: rotate(4deg);
	}
	75% {
		transform: translate(0, 10px);
	}
}

/* レスポンシブ設定 ----------------------------*/

@media only screen and (max-width: 959px) {
	#greet_wrapper figure {
		width: calc(40% - 15px);
	}
	
	#greet_wrapper .contents_wrapper {
		width: calc(60% - 15px);
	}
	
	.acc.bear svg {
		width: 193px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.bear svg {
			height: 215px;
		}
	}
	
	.acc.balloon svg {
		width: 146px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.balloon svg {
			height: 120px;
		}
	}
}

@media only screen and (max-width: 768px) {
	#greet_wrapper {
		margin: 30px 0 0;
		display: block;
	}
	
	#greet_wrapper figure {
		width: 100%;
	}
	
	#greet_wrapper figure .image_wrapper {
		margin: calc(14.75% + 25px) 0;
	}
	
	#greet_wrapper .contents_wrapper {
		width: 100%;
	}
	
	#greet_wrapper .contents_wrapper p + p,
	#greet_wrapper .contents_wrapper p + dl,
	#greet_wrapper .contents_wrapper dl + p,
	#greet_wrapper .contents_wrapper dl + dl {
		margin: 20px 0 0 0;
	}
	
	#greet_wrapper .contents_wrapper dl dd {
		margin: 15px 0 0 0;
	}
	
	.acc.bear {
		top: auto;
		left: auto;
		right: 50px;
		bottom: 10px;
	}
	
	.acc.bear svg {
		width: 184px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.bear svg {
			height: 205px;
		}
	}
	
	.acc.balloon {
		top: 45px;
	}
	
	.acc.balloon svg {
		width: 134px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.balloon svg {
			height: 110px;
		}
	}
}

@media only screen and (max-width: 559px) {
	#greet_wrapper {
		margin: 25px 0 0;
	}
	
	#greet_wrapper figure .image_wrapper {
		margin: calc(14.75% + 20px) 0;
	}
	
	#greet_wrapper .contents_wrapper dl dd {
		margin: 10px 0 0 0;
	}
	
	.acc.bear {
		right: 30px;
		bottom: 40px;
	}
	
	.acc.bear svg {
		width: 179px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.bear svg {
			height: 200px;
		}
	}
	
	.acc.balloon {
		top: 95px;
		right: 10px;
	}
	
	.acc.balloon svg {
		width: 128px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.balloon svg {
			height: 105px;
		}
	}
}

/*--- section overview -----------------------------------*/

section#overview .inner.full {
	padding: 0;
}

section#overview .common_dl_table {
	margin: 45px auto 35px;
	padding: 0 20px;
}

.common_dl_table > dt {
	width: 200px;
}

.common_dl_table > dd {
	width: calc(100% - 220px);
}

#map_box_company {
	width: 100%;
	height: 400px;
	border-top: 3px solid #ff97a1;
	border-bottom: 3px solid #ff97a1;
	background: #fff;
}

.acc.ice {
	top: -20px;
	left: calc((100% - 1280px) / 2 + 80px);
}

.acc.ice svg {
	fill: #fac8dc;
	width: 95px;
	height: auto;
	overflow: inherit;
}

/* IE10_11 hack */
@media all and (-ms-high-contrast: none) {
	.acc.ice svg {
		height: 155px;
	}
}

#overview_ice .ice {
	-webkit-animation: ice 3s linear infinite;
	-moz-animation: ice 3s linear infinite;
	animation: ice 3s linear infinite;
	-webkit-transform-origin: 47.5% 65%;
	-moz-transform-origin: 47.5% 65%;
	transform-origin: 47.5% 65%;
}

@-webkit-keyframes ice {
	50% {
		-webkit-transform: rotate(5deg);
	}
}

@-moz-keyframes ice {
	50% {
		-moz-transform: rotate(5deg);
	}
}

@keyframes ice {
	50% {
		transform: rotate(5deg);
	}
}

#overview_ice .star01 {
	-webkit-animation: star 1s linear infinite;
	-moz-animation: star 1s linear infinite;
	animation: star 1s linear infinite;
	-webkit-transform-origin: 84.7% 11.8%;
	-moz-transform-origin: 84.7% 11.8%;
	transform-origin: 84.7% 11.8%;
}

#overview_ice .star02 {
	-webkit-animation: star 1s linear infinite;
	-moz-animation: star 1s linear infinite;
	animation: star 1s linear infinite;
	-webkit-transform-origin: 82.2% 11.3%;
	-moz-transform-origin: 82.2% 11.3%;
	transform-origin: 82.2% 11.3%;
}

@-webkit-keyframes star {
	0% {
		-webkit-transform: scale(1, 1);
	}
	50% {
		-webkit-transform: scale(1.2, 1.2);
	}
	100% {
		-webkit-transform: scale(1, 1);
	}
}

@-moz-keyframes star {
	0% {
		-moz-transform: scale(1, 1);
	}
	50% {
		-moz-transform: scale(1.2, 1.2);
	}
	100% {
		-moz-transform: scale(1, 1);
	}
}

@keyframes star {
	0% {
		transform: scale(1, 1);
	}
	50% {
		transform: scale(1.2, 1.2);
	}
	100% {
		transform: scale(1, 1);
	}
}

.acc.abc {
	top: 23%;
	right: calc((100% - 1280px) / 2 + 120px);
}

.acc.abc svg {
	fill: #fac8dc;
	width: 175px;
	height: auto;
	overflow: inherit;
}

/* IE10_11 hack */
@media all and (-ms-high-contrast: none) {
	.acc.abc svg {
		height: 175px;
	}
}

#overview_abc .smile {
	-webkit-animation: smile 1s linear infinite;
	-moz-animation: smile 1s linear infinite;
	animation: smile 1s linear infinite;
	-webkit-transform-origin: 56% 10.5%;
	-moz-transform-origin: 56% 10.5%;
	transform-origin: 56% 10.5%;
}

@-webkit-keyframes smile {
	0% {
		-webkit-transform: scale(1, 1);
	}
	50% {
		-webkit-transform: scale(1.1, 1.1);
	}
	100% {
		-webkit-transform: scale(1, 1);
	}
}

@-moz-keyframes smile {
	0% {
		-moz-transform: scale(1, 1);
	}
	50% {
		-moz-transform: scale(1.1, 1.1);
	}
	100% {
		-moz-transform: scale(1, 1);
	}
}

@keyframes smile {
	0% {
		transform: scale(1, 1);
	}
	50% {
		transform: scale(1.1, 1.1);
	}
	100% {
		transform: scale(1, 1);
	}
}

#overview_abc .star {
	-webkit-animation: abc_star 1.5s linear infinite;
	-moz-animation: abc_star 1.5s linear infinite;
	animation: abc_star 1.5s linear infinite;
	-webkit-transform-origin: 27% 88%;
	-moz-transform-origin: 27% 88%;
	transform-origin: 27% 88%;
}

@-webkit-keyframes abc_star {
	0% {
		-webkit-transform: scale(0.9, 0.9);
	}
	50% {
		-webkit-transform: scale(1.15, 1.15);
	}
	100% {
		-webkit-transform: scale(0.9, 0.9);
	}
}

@-moz-keyframes abc_star {
	0% {
		-moz-transform: scale(0.9, 0.9);
	}
	50% {
		-moz-transform: scale(1.15, 1.15);
	}
	100% {
		-moz-transform: scale(0.9, 0.9);
	}
}

@keyframes abc_star {
	0% {
		transform: scale(0.9, 0.9);
	}
	50% {
		transform: scale(1.15, 1.15);
	}
	100% {
		transform: scale(0.9, 0.9);
	}
}

#overview_abc .a {
	-webkit-animation: abc_a 3s linear infinite;
	-moz-animation: abc_a 3s linear infinite;
	animation: abc_a 3s linear infinite;
	-webkit-transform-origin: 13.5% 56%;
	-moz-transform-origin: 13.5% 56%;
	transform-origin: 13.5% 56%;
}

@-webkit-keyframes abc_a {
	50% {
		-webkit-transform: rotate(-10deg);
	}
}

@-moz-keyframes abc_a {
	50% {
		-moz-transform: rotate(-10deg);
	}
}

@keyframes abc_a {
	50% {
		transform: rotate(-10deg);
	}
}

#overview_abc .b {
	-webkit-animation: abc_b 2.5s linear infinite;
	-moz-animation: abc_b 2.5s linear infinite;
	animation: abc_b 2.5s linear infinite;
	-webkit-transform-origin: 25.5% 45%;
	-moz-transform-origin: 25.5% 45%;
	transform-origin: 25.5% 45%;
}

@-webkit-keyframes abc_b {
	50% {
		-webkit-transform: rotate(6deg);
	}
}

@-moz-keyframes abc_b {
	50% {
		-moz-transform: rotate(6deg);
	}
}

@keyframes abc_b {
	50% {
		transform: rotate(6deg);
	}
}

#overview_abc .c {
	-webkit-animation: abc_c 3.5s linear infinite;
	-moz-animation: abc_c 3.5s linear infinite;
	animation: abc_c 3.5s linear infinite;
	-webkit-transform-origin: 51.5% 52%;
	-moz-transform-origin: 51.5% 52%;
	transform-origin: 51.5% 52%;
}

@-webkit-keyframes abc_c {
	50% {
		-webkit-transform: rotate(12deg);
	}
}

@-moz-keyframes abc_c {
	50% {
		-moz-transform: rotate(12deg);
	}
}

@keyframes abc_c {
	50% {
		transform: rotate(12deg);
	}
}

#overview_abc .d {
	-webkit-animation: abc_d 2s linear infinite;
	-moz-animation: abc_d 2s linear infinite;
	animation: abc_d 2s linear infinite;
	-webkit-transform-origin: 84.5% 76.5%;
	-moz-transform-origin: 84.5% 76.5%;
	transform-origin: 84.5% 76.5%;
}

@-webkit-keyframes abc_d {
	25% {
		-webkit-transform: rotate(8deg);
	}
	75% {
		-webkit-transform: rotate(-5deg);
	}
}

@-moz-keyframes abc_d {
	25% {
		-moz-transform: rotate(8deg);
	}
	75% {
		-moz-transform: rotate(-5deg);
	}
}

@keyframes abc_d {
	25% {
		transform: rotate(8deg);
	}
	75% {
		transform: rotate(-5deg);
	}
}

/* レスポンシブ設定 ----------------------------*/

@media only screen and (max-width: 1279px) {
	.acc.ice {
		left: 80px;
	}
	
	.acc.abc {
		right: 120px;
	}
}

@media only screen and (max-width: 959px) {
	section#overview .common_dl_table {
		margin: 35px auto 25px;
	}
	
	.acc.ice {
		top: -10px;
	}
	
	.acc.ice svg {
		width: 89px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.ice svg {
			height: 145px;
		}
	}
	
	.acc.abc {
		top: 30%;
		right: 80px;
	}
	
	.acc.abc svg {
		width: 165px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.abc svg {
			height: 165px;
		}
	}
}

@media only screen and (max-width: 768px) {
	section#overview .common_dl_table {
		margin: 30px auto 25px;
		padding: 0 15px;
	}
	
	.common_dl_table dt,
	.common_dl_table dd {
		width: 100%;
	}
	
	.acc.ice {
		top: 10px;
	}
	
	.acc.ice svg {
		width: 83px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.ice svg {
			height: 135px;
		}
	}
	
	.acc.abc {
		top: 40%;
	}
	
	.acc.abc svg {
		width: 155px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.abc svg {
			height: 155px;
		}
	}
}

@media only screen and (max-width: 559px) {
	section#overview .common_dl_table {
		margin: 25px auto 20px;
	}
	
	.acc.ice {
		left: 30px;
	}
	
	.acc.ice svg {
		width: 80px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.ice svg {
			height: 130px;
		}
	}
	
	.acc.abc {
		top: 45%;
		right: 30px;
	}
	
	.acc.abc svg {
		width: 150px;
	}
	
	/* IE10_11 hack */
	@media all and (-ms-high-contrast: none) {
		.acc.abc svg {
			height: 150px;
		}
	}
}


/*--- section program -----------------------------------*/

#program_wrapper {
	width: 100%;
	margin: 35px 0 0;
	display: -webkit-box; /*Android4.3*/
	display: -moz-box; /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	-webkit-box-pack: justify; /*Android4.3*/
	-moz-box-pack: justify; /*Firefox21*/
	-ms-flex-pack: justify; /*IE10*/
	-webkit-justify-content: space-between; /*PC-Safari,iOS8.4*/
	justify-content: space-between;
	-webkit-box-align: start; /*Android4.3*/
	-moz-box-align: start;/*Firefox21*/
	-ms-flex-align: start;/*IE10*/
	-webkit-align-items: flex-start;/*PC-Safari,iOS8.4*/
	align-items: flex-start;
}

#program_wrapper .contents_wrapper {
	width: calc(70% - 20px);
	margin: 0 auto;
}

#program_wrapper .contents_wrapper p + p,
#program_wrapper .contents_wrapper p + dl,
#program_wrapper .contents_wrapper dl + p,
#program_wrapper .contents_wrapper dl + dl {
	margin: 25px 0 0 0;
}

#program_wrapper .contents_wrapper dl dd {
	margin: 20px 0 0 0;
}

/* レスポンシブ設定 ----------------------------*/

@media only screen and (max-width: 959px) {
	
	#program_wrapper .contents_wrapper {
		width: calc(60% - 15px);
		margin: 0 auto;
	}
}
	
@media only screen and (max-width: 768px) {
	#program_wrapper {
		margin: 30px 0 0;
		display: block;
	}
	
	#program_wrapper .contents_wrapper {
		width: 100%;
	}
	
	#program_wrapper .contents_wrapper p + p,
	#program_wrapper .contents_wrapper p + dl,
	#program_wrapper .contents_wrapper dl + p,
	#program_wrapper .contents_wrapper dl + dl {
		margin: 20px 0 0 0;
	}
	
	#program_wrapper .contents_wrapper dl dd {
		margin: 15px 0 0 0;
	}

@media only screen and (max-width: 559px) {
	#program_wrapper {
		margin: 25px 0 0;
	}
	
	#program_wrapper .contents_wrapper dl dd {
		margin: 10px 0 0 0;
	}
}