@charset "utf-8";

/*共通設定
**************************************************************/
* {
  padding: 0;
  margin: 0;
  vertical-align: bottom;
  list-style-type: none;
  text-decoration: none;
  overflow-wrap: break-word;
  word-wrap: break-word;
  border-bottom: 0;
}

html {
  font-size: 62.5%;
  line-height: 2;
}

table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  outline: .1px solid #D05055;
}

#table_blue{
  outline: 1px solid #5DABD2;
}

form table{
  outline: none;
}

body {
  font-family: 'Kosugi', sans-serif;
  font-size: 1.6em;
  color: #333;
  -webkit-text-size-adjust: none;
  background: #FCFDFD;
  text-align: justify;
}

@font-face{
  font-display: swap;
}

h1 , h2 {
  text-align: center;
}

h1{
  margin-bottom: 30px;
}

#header h1{
  margin-bottom: 0;
}

h4, h5, h6 {
  text-align: center;
}

h5 {
  margin-bottom: 20px;
}

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
  color: #313131;
}

a:hover, a:active, .call:hover {
  opacity:.6;
  transition: all .5s ease
}

/****************************************************************/
#wrapper, .inner {
  margin: 0 auto;
  width: 880px;
}

#content {
  width: 100%;
}

#sidebar {
  padding-bottom: 20px;
  margin-top: 80px;
}

footer {
  background: rgba(208, 80, 85, .7);
}

#footer {
  background: rgba(93, 171, 207, .7);
}

#none {
  background: none;
}

/* ヘッダー
*****************************************************/
#header {
  overflow: hidden;
  background: rgba(255, 255, 255, .8);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  z-index: 999;
  box-shadow: 0 1px 4px #666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 5px;
}

.sp {
  display: none;
}

/* サイトロゴ
----------------------------------*/
#header div , #header h1 {
  height: 90%;
  clear: both;
  color: #515151;
  font-size: 150%;
  height: 70px;
}

#header img {
  height: 70px;
  width: auto;
}

#mainNav {
  margin: 30px 0 0 0;
}

.info #mainNav {
  margin-top: 0;
}

.lum-gallery-button{
  display: none !important;
}

.lum-lightbox-image-wrapper{
  vertical-align: bottom !important;
}

/* トップページ　メイン画像
----------------------------------*/
#mainImg {
  clear: both;
  margin-top: 70px;
  line-height: 0;
  text-align: center;
  z-index: 0;
  position: relative;
}

.name {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.main_sendai {
  background: url(../images/sendai_main_bg.jpg) top center no-repeat;
  background-size: cover;
}

.main_morioka {
  background: url(../images/morioka_main_bg.jpg) top center no-repeat;
  background-size: cover;
}

.mainborder {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
}

.post {
  margin: 0 0 50px 0;
  padding: 30px 10px;
}

.slick-slide img {
  width: 100% !important;
}

/******************************************************/
.info div {
  text-align: center;
}

.flow_tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.flow_tel .tel section:first-child {
  margin-right: 0;
}

.event_bunner{
  padding-bottom: 20px;
}

/******************************************************/
h2.title {
  margin: 0;
  padding: 7px 10px 7px 10px;
  font-size: 125%;
  color: #fff;
  border: 3px solid #D05055;
  background: #D05055;
  border-radius: 30px;
}

h2.blue {
  border: 3px solid #268CC5;
  background: #2A7DAD;
}

.info_img{
  padding-bottom: 20px;
}

.post p {
  padding-bottom: 25px;
}

.content .post li section .post_p {
  padding-bottom: 15px;
}

.post p:last-child, .post .side p {
  padding-bottom: 0;
}

.post ul {
  margin: 0 0 10px 10px;
}

.post ul li {
  margin-bottom: 5px;
}

.post ol {
  margin: 0 0 10px 30px;
}

.post ol li {
  list-style: decimal;
}

.post div {
  margin: 20px 0;
  padding: 5px 0;
  color: #000;
}

.post h2 {
  margin: 10px 0;
  font-size: 130%;
  font-weight: normal;
  color: #333;
}

.post img {
  max-width: 100%;
  height: auto;
}

.stats_flex {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 20px;
}

.padding {
  padding-bottom: 15px;
}

.stats_flex img {
  width: 49%;
}

.statsDay section {
  margin-bottom: 50px;
}

.statsDay h3 {
  text-align: center;
}

.statsDay h4 {
  text-align: left;
}

.statsDay section:last-child {
  margin-bottom: 20px;
}

.days{
  border-collapse: collapse;
}

.days tr td:last-child{
  padding: 15px 5px;
}

.days th{
  background: rgba(208, 80, 85, .7);
}

.days_td{
  background: rgba(208, 80, 85, .3);
}

.days .days_th_blue{
  background: rgba(93, 171, 207, .7)
}

.days_td_blue{
  background: rgba(93, 171, 207, .3)
}

.days .lunch{
  background: #ffedbd;
}

.days th , .days_td{
  width: 20%;
  vertical-align: middle;
  border:solid 5px #fff;
}

.days th , .days td , .days_td , .lunch{
  border:solid 5px #fff;
}

.days th , .days_td , .lunch{
  text-align: center;
}

.days td{
  vertical-align: middle;
}

.days span{
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  padding-bottom: 7px;
}

.post .days p{
  padding-bottom: 0;
}

.list{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px dotted #d05055;
  margin-bottom: 20px;
}

.flex_blue{
  border-bottom: 1px dotted #5DABCF;
}

.flex h2{
  padding: 40px 0;
  background: #D05055;
  color: #fff;
  margin-bottom: 20px;
}

.flex .flow_head_blue{
  background: #5DABCF;
}

.flex .flow_head{
  width: 20%;
  margin: 0;
  padding: 0;
}

.flex .flow_text{
  text-align: left;
  width: 75%;
}

.flow_text .list{
  text-align: left;
}
/******************************************************/

section.widget ul {
  text-align: center;
}

section.widget ul ul {
  border: 0;
  margin: 0;
  padding: 0 0 0 10px;
}

section.widget li:last-child a {
  border: 0;
}

#submit {
  width: 25%;
  padding: 8px;
}

.side_contact p {
  text-align: left;
}

.side_contact .tel section:first-child {
  margin-right: 0;
  margin-bottom: 20px;
}

.side_contact .contact {
  margin: 0;
  padding: 0 40px;
}

.side section {
  padding-top: 20px;
}

.side p:first-child {
  margin-bottom: 5px;
}

.tel_s p {
  text-align: center;
}

.call, .tel p {
  font-family: 'M PLUS 1p', sans-serif;
}

.call:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  line-height: 1;
  padding-right: 10px;
}

.tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.tel section:first-child {
  margin-right: 30px;
}

.tel section a {
  display: block;
  font-size: 2em;
  line-height: 1;
}

.tel_s a {
  color: #CA1B1D;
}

#tel_m a {
  color: #268CC5;
}

.tel_m a {
  color: #268CC5;
}

.flowtel {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 0;
}

.contact a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  line-height: 1;
  padding-right: 10px;
}

.contact {
  background: #20B1B3;
  box-sizing: border-box;
  border-radius: 30px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.contact a {
  display: block;
  padding: 5px 20px;
  font-size: 1.3em;
  color: #fff;
}

.small {
  font-size: .8em;
}

.rel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 30px;
}

.rel li a {
  border-bottom: 1px solid #000;
}

.rel a:first-child {
  margin-right: 70px;
}

.rel li:last-child a {
  margin-right: 0;
}

.arrow {
  text-align: center;
  margin: 10px 0;
}

.post dt {
  border-bottom: 1px solid #000;
}

.post dt h2 {
  margin: 0 auto;
  padding-bottom: 0;
  color: #CA1B1D;
}

.post dt h3 {
  margin: 0;
}

dd section:last-child p {
  padding-bottom: 0;
}

/*********************************/
.img_c {
  width: 100%;
  margin-bottom: 60px;
}

.info {
  margin: 15px 0;
}

dl {
  text-align: center;
  border: 3px solid #000;
  border-radius: 30px;
}

dd {
  padding: 10px 30px;
}

.ddimg {
  margin-bottom: 10px;
}

tr {
  border-bottom: dotted 1px rgba(0, 0, 0, .2);
}

th {
  width: 300px;
  vertical-align: middle;
}

th, td {
  padding: 15px 0;
}

input, textarea, select {
  width: 100%;
  padding: 7px;
  box-sizing: border-box;
  border-radius: 5px;
  border: solid 1px #000;
  background: #fff;
}

.form_name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.form_name input {
  width: 45%;
}

.radio{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.radio label{
  width: 50px;
}

#form_radio{
  -ms-flex-pack: distribute;
	justify-content: space-around;
}

.red {
  background: #CA1B1D;
  color: #fff;
  padding: 5px;
  margin-left: 20px;
}

.btn {
  text-align: center;
  margin-top: 20px;
}

.submit{
  padding: 15px 0;
  width: 180px;
  border-radius: 15px;
  font-size: medium;
  color: #fff;
  border: none;
  box-shadow: 0 3px 0 #358C8A;
}


.submit.blue:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  line-height: 1;
  padding-right: 10px;
}

.submit.green:before {
    content: ""; /* 緑のボタンにはアイコンを表示しない */
}


.submit[data-color="blue"] {
    background: #20B1B3;
}

.submit[data-color="green"] {
    background: #6FB98F;
}

.submit.green:before {
    content: ""; /* 緑のボタンにはアイコンを表示しない */
}


.caution{
  color: #D05055;
  border-bottom: solid 1px #D05055;
}

.caution_blue{
  color: #268CC5;
  border-bottom: solid 1px #268CC5;
}

.grecaptcha-badge{
  visibility: hidden;
}

.recaptcha_terms{
  text-align: center;
}

/******************************************************/
fooetr {
  background: #fff;
}

footer .wrapper {
  padding-top: 30px;
}

.footer_banner {
  text-align: center;
}

#copyright {
  clear: both;
  padding-top: 10px;
  text-align: center;
  color: #000;
  font-size: 10px;
}

/************************************************************/
ul.post {
  padding: 0;
}

ul.post li {
  padding: 20px 45px 0;
}

ul.post li:last-child {
  border: 0;
}

ul.post .flow_li{
  padding-top: 0;
}


ul.photo2 {
display: flex;
  justify-content: space-around;
  text-align: center;
}

ul.photo2 li:last-child {
 margin-bottom:  50px;
}


ul.photo2 li {
  width: 45%;
}

ul.photo2 img {
  width: 100%;
}

a.underline {
	border-bottom:1px solid;
}


/* 成果紹介用・控えめボタン */
.soft-link-button {
  display: inline-block;
  margin-top: 12px;

  padding: 8px 18px;
  border: 1px solid #ccc;
  border-radius: 20px;

  font-size: 1.8rem;
  line-height: 1.4;
  color: #333;
  text-decoration: none;

  background-color: #f9f9f9;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.soft-link-button:hover {
  background-color: #f1f1f1;
  border-color: #bbb;
}


/* 縦長写真も並べるし、説明も足す */
.leisure-photos {
  display: flex;
  gap: 16px;
}

.photo-item {
  width: 50%;
}

.photo-item img {
  width: 100%;
  height: auto; /* ←切らない */
}

.photo-caption {
  margin-top: 8px;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #555;
}

/***************************************************************/
@media only screen and (min-width: 1024px) {
  nav#mainNav {
    clear: both;
    position: relative;
    width: 100%;
  }

  nav#mainNav .inner {
    padding-left: 1px;
    background: url(../images/mainNavSep.png) no-repeat 0 5px;
  }

  nav#mainNav ul li {
    width: 20%;
  }

  nav#mainNav .g_nav li {
    width: 40%;
  }

  nav#mainNav ul li a {
    display: block;
    text-align: center;
    color: #000;
    height: 35px;
    font-size: 110%;
    margin-right: 1px;
  }

  nav#mainNav ul li a span, nav#mainNav ul li a strong {
    display: block;
    border-right: 1px solid #000;
    box-sizing: border-box;
  }

  nav#mainNav ul li:first-child a strong {
    border-left: 1px solid #000;
  }

  nav#mainNav ul li a span {
    font-size: 70%;
    color: #888;
    font-family: "Times New Roman", Times, serif;
  }

  nav div.panel {
    display: block !important;
  }

  nav div.panel ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  a#menu {
    display: none;
  }

  nav#mainNav ul li a:hover span, nav#mainNav ul li a:hover {
    color: #4c4c4c;
  }

  nav#mainNav ul ul {
    width: 160px;
    border: 1px solid #e0e0e0;
    border-top: 0;
  }

  nav#mainNav ul li ul {
    display: none;
  }

  nav#mainNav ul li:hover ul {
    display: block;
    position: absolute;
    top: 42px;
    left: -1px;
    z-index: 500;
  }

  nav#mainNav ul li li {
    margin: 0;
    float: none;
    height: 40px;
    line-height: 40px;
    width: 160px;
    background: #f2f2f2;
    border-bottom: 1px dotted #e0e0e0;
  }

  nav#mainNav ul li li:last-child {
    border: 0;
  }

  nav#mainNav ul li li a {
    width: 100%;
    height: 40px;
    padding: 0 0 0 10px;
    line-height: 40px;
    font-size: 95%;
    text-align: left;
  }

  nav#mainNav ul li li a:hover {
    color: #6f6f6f
  }

  .g_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 20px;
    padding-bottom: 30px;
    border-bottom: 1px solid #d5d5d5;
  }

  .g_nav li {
    width: 40%;
  }

  nav ul li .sendai, nav ul li .morioka {
    color: #fff;
    width: 100%;
    box-sizing: border-box;
    border-radius: 30px;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 140%;
    padding: 10px 20px;
    text-align: center;
  }

  .sendai {
    background: #D05055;
    box-shadow: 0px 5px #CA1B1D;
    transition: none;
  }

  .morioka {
    background: #5DABCF;
    box-shadow: 0px 5px #268CC5;
    transition: none;
  }

  .sendai:hover , .morioka:hover {
    box-shadow: 0 7px #CA1B1D;
    padding-top: 8px;
    opacity: 1;
    transition: none;
  }

  .morioka:hover {
    box-shadow: 0 7px #268CC5;
  }

  .sendai:active , .morioka:active {
    box-shadow: none;
    margin-top: 7px;
    margin-bottom: -7px;
  }

  .p_l {
    padding-bottom: 20px;
  }

  .p_l_span {
    padding: 0 10px;
  }

  .info_text {
    padding: 15px 0 70px 0;
  }
}

/****************************************************************/
@media only screen and (max-width:1023px) {
  nav ul li .sendai, nav ul li .morioka {
    color: #fff;
    width: 100%;
    box-sizing: border-box;
    border-radius: 30px;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 140%;
    padding: 10px 20px;
    text-align: center;
  }

  .sendai {
    background: #D05055;
    box-shadow: 0px 5px #CA1B1D;
  }

  .morioka {
    background: #5DABCF;
    box-shadow: 0px 5px #268CC5;
  }

  nav#mainNav {
    clear: both;
    width: 880px;
    margin: 120px auto 0;
    border: 1px solid #d5d5d5;
  }

  nav#mainNav a.menu {
    width: 100%;
    display: block;
    line-height: 37px;
    text-align: center;
    background: url(../images/menu_arrow.png) no-repeat 5px 5px;
  }

  nav#mainNav a.menuOpen {
    background: url(../images/menu_arrow.png) no-repeat 5px -34px;
  }

  nav#mainNav .menu_blue a.menu {
    background: none;
    background: url(../images/menu_arrow_morioka.png) no-repeat 5px 5px;
  }

  nav#mainNav .menu_blue a.menuOpen {
    background: none;
    background: url(../images/menu_arrow_morioka.png) no-repeat 5px -34px;
  }

  nav#mainNav a#menu:hover {
    cursor: pointer;
  }

  nav .panel {
    display: none;
    width: 100%;
    position: relative;
    right: 0;
    top: 0;
    z-index: 1;
  }

  nav#mainNav ul {
    margin: 0;
    padding: 0;
  }

  nav#mainNav ul li {
    float: none;
    clear: both;
    width: 100%;
    height: auto;
    line-height: 1.2;
  }

  nav#mainNav ul li:first-child {
    border-top: 1px solid #d5d5d5;
  }

  nav#mainNav ul li li:first-child {
    border-top: 0;
  }

  nav#mainNav ul li a {
    display: block;
    padding: 15px 10px;
    text-align: left;
    border-bottom: 1px dashed #ccc;
    background: #fff;
    text-align: center;
  }

  nav#mainNav ul li:nth-child(odd) a {
    background: rgba(208, 80, 85, .7);
  }

  nav#mainNav ul .nav_blue:nth-child(odd) a {
    background: rgba(93, 171, 207, .7);
  }

  nav#mainNav ul li:last-child a {
    border-bottom: none;
  }

  nav ul li .sendai, nav ul li .morioka {
    display: flex;
  }

  nav#mainNav ul li li:last-child a {
    border: 0;
  }

  nav#mainNav ul li li:last-child a {
    border-bottom: 1px dashed #ccc;
  }

  nav#mainNav ul li a span {
    display: none;
  }

  nav#mainNav ul li a:hover, nav#mainNav ul li a:active, {
    background: #f6f6f6;
  }

  nav#mainNav ul li li {
    float: left;
    border: 0;
  }

  #mainImg .name {
    width: 40%;
  }

  nav#mainNav ul li li a {
    padding-left: 40px;
    background: #fff url(images/sub1.png) no-repeat 20px 18px;
  }

  nav#mainNav ul li li a:hover {
    background: #f6f6f6 url(images/sub1.png) no-repeat 20px -62px;
  }

  nav#mainNav ul li li:last-child a {
    background: #fff url(images/subLast.png) no-repeat 20px 20px;
  }

  nav#mainNav ul li li:last-child a:hover {
    background: #f6f6f6 url(images/subLast.png) no-repeat 20px -65px;
  }

  nav div.panel {
    float: none;
  }

  #mainImg {
    margin: 70px auto 20px;
  }
}

/************************************************************************/
@media only screen and (max-width: 959px) {
  .pc {
    display: none;
  }

  .sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  #wrapper, .inner {
    width: 100%;
  }

  .g_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 20px;
    padding-bottom: 30px;
    border-bottom: 1px solid #d5d5d5;
  }

  .contact {
    padding: 10px 0 10px;
  }

  nav#mainNav {
    width: 96%;
  }

  nav#mainNav ul {
    margin: 0 auto;
  }

  nav#mainNav ul ul {
    padding: 0;
  }

  nav div.panel {
    float: none;
  }

  #mainImg img {
    width: 100%;
    height: auto;
  }

  #mainImg .dist_main {
    width: 80%;
  }

  #content, #sidebar, footer {
    clear: both;
    width: 96%;
    float: none;
    margin: 0 auto;
    padding: 10px 0;
  }

  footer {
    width: 100%;
  }

  .banner {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  p.banner img {
    width: 100%;
    height: auto;
  }

  #footer:first-child li {
    margin-bottom: 30px;
  }

  .p_l {
    width: 96%;
    margin: auto;
  }

  .p_l_span {
    padding: 0 5px;
  }
}

/*******************************************************************/
@media only screen and (max-width: 644px) {
  body{
    font-size: 1.5em;
  }

  .lum-img{
    width: 100% !important;
  }

  .mainborder {
    height: 20px !important;
  }

  #wrapper, .inner , .event_bunner {
    width: 100%;
  }

  #header {
    text-align: center;
    background-image: none;
    height: 50px;
  }

  #header div , #header h1 {
    height: 50px;
    text-align: left;
  }

  .pc {
    display: none;
  }

  .sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  #header img {
    height: auto;
  }

  .info p {
    text-align: left;
  }

  .info dt p {
    text-align: center;
  }

  .g_nav li p{
    text-align: center;
  }

  #header div img , #header h1 img{
    height: 80%;
  }

  #header h2, .contact {
    float: none;
  }

  nav#mainNav {
    margin: 30px auto 0;
  }

  #mainImg {
    margin-top: 50px;
  }

  .g_nav {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .g_nav li {
    width: 100%;
  }

  .g_nav li img {
    padding-right: 20px;
  }

  .g_nav li:first-child {
    margin-bottom: 20px;
  }

  nav ul li .sendai, nav ul li .morioka {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: inherit;
    padding: 3px 20px;
  }

  .event_bunner{
    padding-bottom: 10px;
  }

  .flow_tel #tel_m {
    margin-top: 10px;
  }

  .stats_flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }

  .stats_flex img {
    width: 100%;
  }

  .stats_flex img:first-child {
    padding-bottom: 10px;
  }

  ul.post{
    padding: 0 5px;
  }

  ul.post li {
    padding-left: 0;
    padding-right: 0;
  }

ul.photo2 {
  display: block;
  justify-content: space-around;
  text-align: center;
}

ul.photo2 li {
  width: 100%;
}

  dd {
    padding: 10px 0;
  }

  dd p {
    width: 96%;
    margin: auto;
  }

  .side section{
    font-size: small;
  }

  .side_contact {
    padding: 0 0 20px 0;
  }

  .side_contact .contact {
    padding: 0;
  }

  .contact {
    padding: 0 0 20px;
  }

  .contact p {
    text-align: center;
  }

  .contact a {
    padding: 5px 0;
  }

  .tel {
    flex-wrap: wrap;
  }

  .tel section {
    width: 100%;
  }

  .flow_tel {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .flex{
    display: block;
  }

  .flex .flow_head{
    width: 100%;
  }

  .flex .flow_text{
    width: 100%;
  }

  .flex h2{
    padding: 0;
    margin-bottom: 0;
  }

  .post .flow_text{
    margin: 0;
  }

  .rel {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .rel a:first-child {
    margin-right: 0;
    margin-bottom: 5px;
  }

  .rel li:first-child {
    margin-bottom: 30px;
  }

  .rel a, .rel img {
    width: 80%;
  }

  iframe {
    height: 250px !important;
  }

  .contact {
    width: 100%;
    padding: 0;
  }

  .mail_name {
    width: 100%;
  }

  .mail_text {
    width: 100% !important;
  }

  #submit {
    width: 100%;
  }

  #copyright {
    padding-bottom: 20px;
  }

  th, td {
    display: block;
    width: 100%;
  }

  .days th, .days td{
    display: table-cell;
  }

  .days tr td:last-child{
    padding-left: 0;
    padding-right: 0;
  }

  .days th {
    width: 15%;
  }

  .days_td{
    width: 25%;
  }

  th {
    padding: 10px 0 0 0;
  }

  td {
    padding: 10px 0;
  }
  
  video {
	  max-width:100%;
  }
  
  /* 縦長写真も並べるし、説明も足す */
  .leisure-photos {
    flex-direction: column;
  }

  .photo-item {
    width: 100%;
  }
  
  .photo-item + .photo-item {
    margin-top: 12px;
  }
}
