@charset "utf-8";
/* CSS Document */

/* decoration */

.decoration_type_a::after {
	display: block;
	content:"";
	position: absolute;
	bottom:-20px;
	left:-100px;
	width: 215px;
	height: 80px;
	background: url(../img/decoration_mark_a_1.png) no-repeat center top;
	background-size:215px 80px;
	z-index: -1;
}

.decoration_type_b::after {
	display: block;
	content:"";
	position: absolute;
	bottom:-60px;
	right:-100px;
	width: 215px;
	height: 80px;
	background: url(../img/decoration_mark_a_1.png) no-repeat center top;
	background-size:215px 80px;
	z-index: -1;
}


.heading {
	height: 140px;
	background: #e1dbcf url(../img/company_title_bg.png) no-repeat center top;
	background-size: cover;
	text-align: center;
}

.heading__title {
	padding: 48px 0 0 0;
	margin: 0;
	color:#332a23;
	font-size: 36px;
	letter-spacing: 4px;
	text-indent: 4px;
	line-height: 1em;
}

.heading__title::after {
  display: block;
  content:"company";
  font-size: 9px;
  letter-spacing: 0.4em;
  text-indent: 0.4em;
}

/* message-section */

.message {
	position: relative;
	text-align: center;
}

.message__wrapper {
	padding: 36px 18px;
}

.message__title {
	font-size: 28px;
}

.message__title::after {
	display: block;
	content:"greeting";
	font-size: 9px;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
}

.message__lead {
	font-size: 24px;
	font-weight: normal;
}

.message__text {
	font-size:15px;
	text-align: left;
	line-height: 2em;
}

/* philosophy */

.philosophy {
	position: relative;
	text-align: center;
}

.philosophy__wrapper {
	padding: 36px 18px;
}

.philosophy__title {
	font-size: 28px;
}

.philosophy__title::after {
	display: block;
	content:"philosophy";
	font-size: 9px;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
}

.philosophy__lead {
	font-size: 24px;
	font-weight: normal;
}

.philosophy__text {
	font-size:15px;
	text-align: left;
	line-height: 2em;
}

/* vision */
.vision {
	position: relative;
	text-align: center;
}

.vision__wrapper {
	padding: 36px 18px;
}

.vision__title {
	font-size: 28px;
}

.vision__title::after {
	display: block;
	content:"vision";
	font-size: 9px;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
}

.vision__lead {
	font-size: 24px;
	font-weight: normal;
}

.vision__text {
	font-size:15px;
	text-align: left;
	line-height: 2em;
}

/* goals */
.goals {
	position: relative;
	text-align: center;
}

.goals__wrapper {
	padding: 36px 18px;
}

.goals__title {
	font-size: 28px;
}

.goals__title::after {
	display: block;
	content:"goals";
	font-size: 9px;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
}

.goals__lead {
	font-size: 24px;
	font-weight: normal;
}

.goals__text {
	font-size:15px;
	text-align: left;
	line-height: 2em;
}


/* profile-section */

.profile {
	position: relative;
	text-align: center;
}

.profile__wrapper {
	padding: 36px 18px;
}

.profile__title {
	font-size: 28px;
}

.profile__title::after {
	display: block;
	content:"company profile";
	font-size: 9px;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
}

.profile__table {
	padding: 0;
}

.profile__table dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	border-top: 1px solid #d3ccc1;
	border-left: 1px solid #d3ccc1;
	border-right: 1px solid #d3ccc1;
	text-align: left;
}

.profile__table dt {
	flex-basis: 25%;
	padding: 12px 9px;
	margin: 0;
	border-bottom: 1px solid #d3ccc1;
	background: #beb9b4;
}

.profile__table dd {
	flex-basis: 75%;
	padding: 12px 9px;
	margin: 0;
	border-bottom: 1px solid #d3ccc1;
	background: #f0ece8;
}

.profile__table dd > div {

}


/* access-section */

.access {
	text-align: center;
}

.access__wrapper {
	padding: 36px 0;
}

.access__title {
	font-size: 28px;
}

.access__title::after {
	display: block;
	content:"access";
	font-size: 9px;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
}

.access__map {
	padding: 0;
	height: 240px;
	background: #f0ece8;
}


/* contact-box */

.contact-box {
	padding: 36px 0 36px 0;
	border-top: solid 1px #f0ece8;
	background: #ffffff;
	text-align: center;
}

.contact-box__wrapper {
	padding: 0 18px;
}

.contact-box__form-link {
	margin: 0 auto;
	width: 90%;
	border-radius: 50px;
	overflow: hidden;
	text-align: center;
}

a.link-button {
	display: block;
	background: var(--button-color);
	color:var(--link-color);
	font-size: 20px;
	line-height: 3.2em;
}


/*----------------------------------------------------------------------------
 ***                                                                width480
----------------------------------------------------------------------------*/

@media only screen and (min-width: 480px){
}

/*----------------------------------------------------------------------------
 ***                                                                width768
----------------------------------------------------------------------------*/

@media only screen and (min-width: 768px){

.profile-section h2 {
	font-size:42px;
}

.photo {
	width:40%;
	float:left;
}

.info {
	padding:0 0 0 2%;
	margin:0;
	width:60%;
	float:left;
}

.info dl dt {
	padding:12px;
	width:22%;
}

.info dl dd {
	padding:12px;
	margin-left:22%;
}

.group-section .inner ul {
	width:70%;
}

.group-box h5 {
	padding:0;
	margin:0;
	font-size:21px;
}

.group-box h5:before {
	padding:0;
	margin:0;
	line-height:1em;
	font-size:32px;
}

.group-box p {
	padding:0 0 0 32px;
	margin:0;
}


}

/*----------------------------------------------------------------------------
 ***                                                                width980
----------------------------------------------------------------------------*/

@media only screen and (min-width: 980px) {

.message__wrapper {
	padding: 72px 36px;
}

.message__title {
	font-size: 30px;
}

.goals__wrapper {
	padding: 72px 36px;
}

.goals__title {
	font-size: 30px;
}

.philosophy__wrapper {
	padding: 72px 36px;
}

.philosophy__title {
	font-size: 30px;
}

.vision__wrapper {
	padding: 72px 36px;
}

.vision__title {
	font-size: 30px;
}

.profile__wrapper {
	padding: 72px 36px;
}

.profile__title {
	font-size: 30px;
}

.access__title {
	font-size: 30px;
}

}


/*----------------------------------------------------------------------------
 ***                                                                width1024
----------------------------------------------------------------------------*/

@media only screen and (min-width: 1024px){

.heading {
	height: 350px;
	background: #e1dbcf url(../img/company_title_bg.png) no-repeat center top;
	background-size: cover;
	text-align: center;
}

.heading__title {
	padding: 96px 0 0 0;
	margin: 0;
	color:#332a23;
	font-size: 36px;
	letter-spacing: 6px;
	text-indent: 6px;
	line-height: 1em;
}

.heading__title::after {
  display: block;
  content:"company";
  font-size: 12px;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
}

.message__wrapper {
	padding: 72px 18px;
	margin: 0 auto;
	max-width: 1100px;
}

.philosophy__wrapper {
	padding: 72px 18px;
	margin: 0 auto;
	max-width: 1100px;
}

.profile__wrapper {
	padding: 72px 18px;
	margin: 0 auto;
	max-width: 1100px;
}

.vision__wrapper {
	padding: 72px 18px;
	margin: 0 auto;
	max-width: 1100px;
}


.goals__wrapper {
	padding: 72px 18px;
	margin: 0 auto;
	max-width: 1100px;
}

.contact-box__wrapper {
	margin: 0 auto;
	max-width: 1100px;
}

.contact-box__form-link {
	margin: 0 auto;
	width: 60%;
	border-radius: 50px;
	overflow: hidden;
	text-align: center;
}

}


/*----------------------------------------------------------------------------
 ***                                                                width1280
----------------------------------------------------------------------------*/

@media only screen and (min-width: 1280px){



}
