@charset "UTF-8";
/* Scss Document */
.mttl {
  margin: 60px 0 50px;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-indent: .2em;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .mttl {
    margin: calc((60/760)*100vw) 0 calc((50/760)*100vw);
    font-size: calc((40/760)*100vw);
  }
}

.sttl {
  margin: 50px 0 40px;
  padding: 10px 0;
  background: #EEE;
  font-size: 2.0rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-indent: .1em;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .sttl {
    margin: calc((50/760)*100vw) 0 calc((40/760)*100vw);
    padding: calc((10/760)*100vw) 0;
    font-size: calc((30/760)*100vw);
  }
}

.text_serif {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.text_catch {
  margin: 40px 0;
  color: #4160A9;
  font-size: 3.0rem;
  font-weight: 400;
  letter-spacing: .1em;
  text-indent: -.1em;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .text_catch {
    margin: calc((40/760)*100vw) 0;
    font-size: calc((40/760)*100vw);
  }
}
.text_01 {
  font-size: 2.0rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2.3;
}
@media screen and (max-width: 640px) {
  .text_01 {
    font-size: calc((30/760)*100vw);
    line-height: 2.0;
  }
}
.text_02 {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2.3;
}
@media screen and (max-width: 640px) {
  .text_02 {
    font-size: calc((30/760)*100vw);
    line-height: 2.0;
  }
}
.text_note {
  margin-top: 20px;
  font-size: 1.3rem;
  letter-spacing: .1em;
  text-indent: -.1em;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .text_note {
    margin-top: calc((20/760)*100vw);
    font-size: calc((20/760)*100vw);
  }
}
.text_center {
  text-align: center !important;
}

.mv {
  background: url("../images/mv_bg.jpg") top center no-repeat;
}
@media screen and (max-width: 640px) {
  .mv {
    background: none;
  }
}
.mv .inner {
  padding: 0;
}

.greeting .content {
  padding-bottom: 0;
  background: url("../images/greeting_bg.png") top center no-repeat;
}
@media screen and (max-width: 640px) {
  .greeting .content {
    padding: calc((200/760)*100vw) 0 calc((100/760)*100vw);
    background-size: calc((1300/760)*100vw);
  }
}
.greeting .lttl {
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .greeting .lttl {
    margin-bottom: calc((70/760)*100vw);
  }
}
.greeting .greeting_wrap {
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .greeting .greeting_wrap {
    position: relative;
    display: block;
  }
}
.greeting .greeting_textarea {
  width: 720px;
}
@media screen and (max-width: 640px) {
  .greeting .greeting_textarea {
    width: 100%;
  }
}
.greeting .greeting_img {
  width: 365px;
  margin: 0 -30px 0 0;
}
@media screen and (max-width: 640px) {
  .greeting .greeting_img {
    position: absolute;
    top: calc((-400/760)*100vw);
    right: 0;
    width: calc((250/760)*100vw);
    margin: 0;
  }
}

.outline .content {
  background: url("../images/outline_bg.png") top 62px center no-repeat, #FEF9D8;
  padding-bottom: 0;
}
@media screen and (max-width: 640px) {
  .outline .content {
    background: url("../images/outline_bg.png") top calc((70/760)*100vw) center no-repeat, #FEF9D8;
    background-size: calc((1000/760)*100vw);
  }
}
.outline .outline_table {
  width: 100%;
}
.outline .outline_table tr {
  border-bottom: #8E8C8D 1px dotted;
}
.outline .outline_table tr:first-of-type {
  border-top: #8E8C8D 1px dotted;
}
.outline .outline_table th, .outline .outline_table td {
  padding: .8em 0;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.4;
  text-align: left;
}
@media screen and (max-width: 640px) {
  .outline .outline_table th, .outline .outline_table td {
    font-size: calc((24/760)*100vw);
  }
}
.outline .outline_table th {
  width: 195px;
}
@media screen and (max-width: 640px) {
  .outline .outline_table th {
    width: 30%;
  }
}
@media screen and (max-width: 640px) {
  .outline .outline_map {
    width: 100%;
    height: 90vw;
  }
}
.outline .outline_bottom {
  margin-top: 100px;
}
@media screen and (max-width: 640px) {
  .outline .outline_bottom {
    margin-top: calc((100/760)*100vw);
  }
}

.works .content {
  padding-bottom: 0;
}
@media screen and (max-width: 640px) {
  .works .text_catch {
    font-size: calc((35/760)*100vw);
  }
}
.works .works_table_01 {
  width: 100%;
}
@media screen and (max-width: 640px) {
  .works .works_table_01 {
    width: auto;
  }
}
.works .works_table_01 tr {
  background: #FFF;
}
.works .works_table_01 tr:nth-child(odd) {
  background: #FEF9D8;
}
.works .works_table_01 th, .works .works_table_01 td {
  width: calc(100% / 6);
  padding: .6em 0;
  border: #CCC 1px solid;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .works .works_table_01 th, .works .works_table_01 td {
    width: auto;
    padding: .6em;
    font-size: calc((24/760)*100vw);
  }
}
@media screen and (max-width: 640px) {
  .works .works_table_01_wrap {
    overflow: auto;
    white-space: nowrap;
  }
}
.works .works_table_02 {
  width: 100%;
  background: #FFF;
}
.works .works_table_02 th, .works .works_table_02 td {
  padding: .6em 1em;
  border: #CCC 1px solid;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.4;
  text-align: left;
}
@media screen and (max-width: 640px) {
  .works .works_table_02 th, .works .works_table_02 td {
    font-size: calc((24/760)*100vw);
  }
}
.works .works_table_02 th {
  width: 300px;
  background: #FEF9D8;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .works .works_table_02 th {
    width: auto;
  }
}
.works .works_table_02 td {
  width: 840px;
}
@media screen and (max-width: 640px) {
  .works .works_table_02 td {
    width: auto;
  }
}
.works .works_list {
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  justify-content: space-between;
}
.works .works_list li {
  position: relative;
  width: 370px;
  height: 80px;
  margin-top: 10px;
  background: #FEF9D8;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-indent: -.1em;
  line-height: 1.6;
  text-align: center;
  z-index: 111;
}
@media screen and (max-width: 640px) {
  .works .works_list li {
    width: 48%;
    height: auto;
    margin-top: calc((20/760)*100vw);
    padding: 1em .5em;
    border-radius: calc((10/760)*100vw);
    font-size: calc((24/760)*100vw);
  }
}
.works .works_list li:nth-child(-n+3) {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
  .works .works_list li:nth-child(-n+3) {
    margin-top: calc((20/760)*100vw);
  }
}
@media screen and (max-width: 640px) {
  .works .works_list li:nth-child(-n+2) {
    margin-top: 0;
  }
}
.works .works_list li.gray {
  background: #E5EAF5;
}
.works .works_list li span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
@media screen and (max-width: 640px) {
  .works .works_list li span {
    position: static;
  }
}
.works .works_text_01 {
  margin-bottom: -20px;
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-indent: -.1em;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .works .works_text_01 {
    margin-bottom: calc((-30/760)*100vw);
    font-size: calc((36/760)*100vw);
  }
}
.works .works_bottom {
  margin-top: 100px;
}
@media screen and (max-width: 640px) {
  .works .works_bottom {
    margin-top: calc((100/760)*100vw);
  }
}

.contact .content {
  background: url("../images/contact_bg.png") top 20px center no-repeat, #FEF9D8;
}
@media screen and (max-width: 640px) {
  .contact .content {
    background: url("../images/contact_bg.png") top calc((30/760)*100vw) center no-repeat, #FEF9D8;
    background-size: calc((1000/760)*100vw);
  }
}
.contact .contact_tel {
  padding-top: 100px;
  background: url("../images/contact_tel_ico.png") top center no-repeat;
  font-size: 6.0rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .contact .contact_tel {
    padding-top: calc((100/760)*100vw);
    background-size: calc((80/760)*100vw);
    font-size: calc((80/760)*100vw);
  }
}
.contact .privacy {
  margin-top: 80px;
  height: 500px;
  overflow-y: scroll;
  padding: 30px;
  background: #FFF;
}
@media screen and (max-width: 640px) {
  .contact .privacy {
    margin-top: calc((100/760)*100vw);
    height: 90vw;
    padding: calc((30/760)*100vw);
  }
}
.contact .privacy .privacy_ttl {
  margin: 30px 0;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-indent: -.2em;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .contact .privacy .privacy_ttl {
    margin: calc((30/760)*100vw) 0;
    font-size: calc((30/760)*100vw);
  }
}
.contact .privacy .privacy_text {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2.0;
}
@media screen and (max-width: 640px) {
  .contact .privacy .privacy_text {
    font-size: calc((24/760)*100vw);
  }
}
.contact .privacy .privacy_list {
  margin-top: 1em;
  margin-left: 50px;
}
@media screen and (max-width: 640px) {
  .contact .privacy .privacy_list {
    margin-left: calc((50/760)*100vw);
  }
}
.contact .privacy .privacy_list li {
  padding-left: 2em;
  text-indent: -2.5em;
}


/*-----------------------------
ブログフィード
-----------------------------*/
.newsfeed {
    width: 100%;
    border-top: 1px solid #CCCCCC;
    margin-bottom: 100px;
}
.newsfeed dl {
	width: 100%;
	border-bottom: 1px solid #CCCCCC;
	margin-top: 15px;
	padding-bottom: 15px;
}
.newsfeed dl dt {
	float: left;
	width: 15%;
	text-align: left;
	line-height: 160%;
	font-weight: 600;
}
.newsfeed dl dd {
	float: left;
	width: 85%;
	text-align: left;
	line-height: 160%;
	letter-spacing: 2px;
}
.newsfeed dl:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
@media screen and (max-width: 640px) {
    .newsfeed dl dt {
    clear: both;
    float: none;
        width: 100%;
}
.newsfeed dl dd {
    width: 100%;
    clear: both;
    float: none;
}
}
