@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block;
  margin: 0;
  padding: 0; }

audio, canvas, video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden] {
  display: none; }

html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  margin: 0; }

a:focus {
  outline: thin dotted; }

a:active, a:hover {
  outline: 0; }

h1 {
  font-size: 2em; }

abbr[title] {
  border-bottom: 1px dotted; }

b, strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

mark {
  background: #ff0;
  color: #000; }

code, kbd, pre, samp {
  font-family: monospace, serif;
  font-size: 1em; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0; }

button, input {
  line-height: normal; }

button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled], input[disabled] {
  cursor: default; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

dl, dt, dd, ol, ul, li, p {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  list-style: none; }

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

/* modern browsers */
/* Set core body defaults */
body {
  min-height: 100dvh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.6; }

a:focus, *:focus {
  outline: none; }

.point_cola {
  font-size: 3.6vw;
  color: #fff;
  padding: 1em 0; }

.pc_wrap {
  width: 100%;
  margin: 0 auto; }
  @media screen and (min-width: 1024px) {
    .pc_wrap {
      width: 400px;
      margin: 0 auto;
      background: #f4f5ed; } }

.breadcrumbs {
  font-size: 3vw;
  padding: 1em;
  background: #1556b0;
  color: #fff; }
  .breadcrumbs a {
    color: #fff; }

body {
  margin: 0px;
  padding: 0px;
  height: 100%;
  font-family: 'Noto Sans JP','Noto Sans Japanese',"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 3.65vw;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  font-feature-settings: "palt";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  background: #f4f5ed;
  transition: all 0.3s ease-out; }
  @media screen and (min-width: 1024px) {
    body {
      font-size: 14px;
      background: #f4f5ed url("../images/rep_bg.png") repeat;
      background-size: 1%;
      background-attachment: fixed; } }

.contents {
  overflow: hidden;
  padding: 14vw 0 0; }
  @media screen and (min-width: 1024px) {
    .contents {
      padding: 0 0; } }
  .contents .sub-title {
    background: #dae7e8;
    margin: 0;
    padding: 3vw 0 3vw 5vw;
    font-size: 6vw; }
    @media screen and (min-width: 1024px) {
      .contents .sub-title {
        padding: 14px 0 14px 20px;
        margin: 0 0 0.5em;
        font-size: 1.8em; } }
  .contents .blog-postlist-wrap {
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    padding: 40px 0;
    border-bottom: 1px solid #333; }
    .contents .blog-postlist-wrap .post-title {
      margin: 1vw 0; }
    .contents .blog-postlist-wrap .blog-list-txtarea {
      width: 100%; }
    .contents .blog-postlist-wrap .blog-list-imgarea {
      width: 100%; }
      .contents .blog-postlist-wrap .blog-list-imgarea img {
        width: 100%;
        height: auto;
        border-radius: 8px; }

/* form */
button, input, textarea {
  line-height: normal;
  width: 100%;
  border: 1px solid #000;
  border-radius: 2vw;
  padding: 2vw; }
  @media screen and (min-width: 1024px) {
    button, input, textarea {
      border-radius: 24px;
      padding: 4%; } }

.wpcf7-form p {
  margin: 0 0 6vw; }
  @media screen and (min-width: 1024px) {
    .wpcf7-form p {
      margin: 0 0 3em; } }

fieldset {
  visibility: hidden; }

.wpcf7-list-item {
  display: block !important;
  margin: 1em 0 !important; }

.wpcf7-list-item > label {
  display: flex;
  align-items: center; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  margin: 0 0.5em 0 0;
  /* display: inline-block; */
  width: 32px;
  height: 32px; }

.wpcf7-submit {
  margin: 3em 0 0 0; }

/*
.pc_view_wrap {
	display: flex;
	justify-content: space-between;
}
	*/
header {
  width: 100%;
  height: 14vw;
  padding: 0 0;
  margin: 0 0;
  color: #333;
  background: white;
  position: fixed;
  z-index: 20; }
  @media screen and (min-width: 1024px) {
    header {
      height: 50px;
      width: 100%;
      background: none;
      position: fixed;
      left: 0; } }
  header h1 {
    margin: 0;
    padding: 0;
    display: inline-block; }
    header h1 a {
      font-size: 5vw;
      line-height: 1;
      color: #333;
      font-weight: normal;
      text-decoration: none;
      display: block;
      width: 28vw;
      margin: 3vw 0 0 3vw;
      padding: 0vw 0vw 0vw 0vw; }
      @media screen and (min-width: 1024px) {
        header h1 a {
          font-size: 1vw;
          width: 20%;
          margin: 4% 0 5% 5%;
          padding: 0 0 0 0; } }
      header h1 a img {
        width: 100%;
        height: auto; }
        @media screen and (min-width: 1024px) {
          header h1 a img {
            position: relative;
            height: auto;
            z-index: 9999; } }
  header .pc_menu {
    display: none; }
    @media screen and (min-width: 1024px) {
      header .pc_menu {
        display: none; }
        header .pc_menu .pc_menu_list {
          margin: 1.2vw 0 0 0; }
          header .pc_menu .pc_menu_list li {
            display: inline-block;
            margin: 0 1em 0 0; }
            header .pc_menu .pc_menu_list li a {
              font-size: 2vw; } }
  header .nd_menu {
    display: block;
    /*
		@media screen and (min-width: 1024px) {
			display: none;
		}
			*/
    /* メニューコンテナ全体のスタイル */
    /* メニューボタンのスタイル */
    /* メニューバーのスタイル */
    /* メニューボタンがチェックされた場合の1つ目のバーのアニメーション */
    /* メニューボタンがチェックされた場合の2つ目のバーのアニメーション */
    /* メニューボタンがチェックされた場合の3つ目のバーのアニメーション */
    /* メニュートグルのスタイル */
    /* メニューのスタイル */
    /* メニュートグルがチェックされた場合のメニューの表示アニメーション */
    /* メニュー内のリストのスタイル */
    /* メニュー内リストのリンクのスタイル */
    /* メニュー内リストのリンクのホバー時のスタイル */ }
    header .nd_menu .menu-container {
      position: absolute;
      top: 0;
      right: 0;
      width: 0%;
      height: 100%;
      overflow: hidden; }
      @media screen and (min-width: 1024px) {
        header .nd_menu .menu-container {
          width: 100%; } }
    header .nd_menu .menu-button {
      display: block;
      position: fixed;
      top: 0vw;
      left: auto;
      right: 0vw;
      cursor: pointer;
      z-index: 2;
      background: #6fa69e;
      padding: 1.5vw 3.4vw 2.5vw 4vw;
      border-radius: 0 0 0 0; }
      @media screen and (min-width: 1024px) {
        header .nd_menu .menu-button {
          position: absolute;
          padding: 6px 0 0 0;
          height: 50px;
          width: 55px;
          text-align: center; } }
    header .nd_menu .bar {
      display: block;
      width: 24px;
      height: 2px;
      margin: 5px auto;
      background-color: #ffffff;
      transition: 0.4s; }
    header .nd_menu .menutxt {
      font-size: 2vw;
      color: #fff;
      line-height: 1;
      margin: auto;
      padding: 0;
      display: block; }
      @media screen and (min-width: 1024px) {
        header .nd_menu .menutxt {
          font-size: 10px; } }
    header .nd_menu #menu-toggle:checked ~ .menu-button .bar:nth-child(1) {
      transform: rotate(45deg) translate(5px, 4px); }
    header .nd_menu #menu-toggle:checked ~ .menu-button .bar:nth-child(2) {
      opacity: 0; }
    header .nd_menu #menu-toggle:checked ~ .menu-button .bar:nth-child(3) {
      transform: rotate(-45deg) translate(5px, -6px); }
    header .nd_menu #menu-toggle {
      display: none; }
    header .nd_menu .menu {
      position: fixed;
      top: 0;
      right: -100%;
      /* 変更: メニューを左からスライドインさせるために left に設定 */
      width: 100%;
      height: 100%;
      background-color: #dae7e8;
      transition: 0.4s;
      z-index: 1;
      overflow-y: auto; }
      @media screen and (min-width: 1024px) {
        header .nd_menu .menu {
          width: 20%; } }
    header .nd_menu #menu-toggle:checked ~ .menu {
      right: 0;
      /* メニューを表示させるために left を 0 に変更 */ }
    header .nd_menu .menu ul {
      list-style: none;
      padding: 20px; }
    header .nd_menu .menu ul li a {
      text-decoration: none;
      color: #333;
      font-size: 18px;
      display: block;
      padding: 10px 0;
      transition: 0.2s; }
    header .nd_menu .menu ul li a:hover {
      color: #bf7497; }

.mv_area {
  background: url("../images/tr_mv.jpg") no-repeat;
  background-size: contain;
  /* calc(背景画像高さ ÷ 背景画像横幅 × 100%) */
  padding-top: calc(970 / 750 * 100%);
  padding-left: 10vw;
  padding-right: 10vw;
  margin: 0 0 5%; }

.pagetitle {
  color: #fff;
  font-size: 5vw;
  font-weight: normal;
  /*
	background: url("../images/icon_btn_1.png") ,linear-gradient(to left, #2064af, #182762);
	background-repeat: no-repeat, no-repeat;
	background-position: 6% center, top center;
    background-size: 10vw auto, contain;
	*/
  background: #000;
  margin: 0 auto;
  padding: 4vw 0 4vw 8vw;
  /*
	@media screen and (min-width: 1024px) {
		font-size: 3vw;
		padding: 3vw 0 3vw 13vw;
		background-position: 5% center, top center;
    	background-size: 5vw auto, contain;
	}
		*/ }
  .pagetitle a {
    color: #fff;
    text-decoration: none; }

.privacy-policy ul.wp-block-list {
  padding: 0 0 0 0; }
  .privacy-policy ul.wp-block-list li {
    list-style: disc;
    margin: 0 0 0 1em; }

.privacy-policy ol.wp-block-list {
  padding: 0 0 0 1em; }
  .privacy-policy ol.wp-block-list li {
    list-style: auto; }

section .container {
  padding: 4vw 5vw 10vw; }
  @media screen and (min-width: 1024px) {
    section .container {
      padding: 4% 5%; } }
  section .container .mds_m3 {
    margin: 0 0 5% 0;
    padding: 0;
    line-height: 1; }
    section .container .mds_m3 .h3_main {
      font-size: 2.4em;
      font-family: "Roboto", sans-serif;
      font-optical-sizing: auto;
      font-weight: 800;
      font-style: normal; }
    section .container .mds_m3 .h3_sub {
      font-size: 0.8em;
      padding: 0 0 0 1em; }
  section .container .mds {
    border-left: 4px solid #182762;
    padding: 0 0 0 3vw;
    margin: 0 0 6vw 0; }
  section .container .sub_title {
    position: relative;
    margin: 0 0 0 0;
    padding: 0 17vw 0 0;
    word-break: break-all;
    text-overflow: ellipsis;
    /* white-space: nowrap; */
    overflow: hidden;
    font-size: 4vw;
    line-height: 1.4; }
  section .container .wp-block-image {
    margin: 1.5em 0; }
    section .container .wp-block-image img {
      width: 100%;
      height: auto; }
  section .container .btn_mdl a {
    text-align: center;
    display: block;
    border-radius: 8vw;
    background: #62ac72;
    text-decoration: none;
    color: #fff;
    padding: 4% 0;
    font-size: 1.4em;
    width: 80%;
    margin: auto; }
    section .container .btn_mdl a:hover {
      background: #9ddda6; }
    @media screen and (min-width: 1024px) {
      section .container .btn_mdl a {
        padding: 5% 0;
        font-size: 100%; } }
  section .container .btn_mdl.singlebtm {
    margin-top: 40px; }
  section .container .news_list_area {
    width: 100%;
    margin: 0 0; }
    section .container .news_list_area .mds {
      font-size: 5%;
      margin: 0;
      padding: 6% 0 6% 8%;
      color: #182762;
      border: none; }
    @media screen and (min-width: 1024px) {
      section .container .news_list_area {
        width: 100%;
        margin: 0 0 0 0; }
        section .container .news_list_area .mds {
          font-size: 100%;
          padding: 20px 0 0 0; } }
    section .container .news_list_area .top_news_list {
      /*
			@media screen and (min-width: 1024px) {
				padding: 20px 0;
				.top_news_item {
					a {
						padding: 15px 0 ;
						.news_ymd {
							font-size: 80%;
						}
						.news_title {
							font-size: 100%;
						}
					}

				}

			} */ }
      section .container .news_list_area .top_news_list .top_news_item a {
        display: block;
        padding: 5%;
        margin: 0 0 1em;
        border: 1px solid #000;
        border-radius: 8px;
        text-decoration: none;
        color: #333;
        background: #ffffff url("../images/icon_arw01.png") no-repeat center right;
        background-size: 5% 20%;
        background-position: right 1em center; }
        section .container .news_list_area .top_news_list .top_news_item a .news_ymd {
          display: block;
          font-size: 0.8em; }
        section .container .news_list_area .top_news_list .top_news_item a .news_title {
          display: block;
          font-size: 1.3em;
          word-break: break-all;
          text-overflow: ellipsis;
          white-space: nowrap;
          overflow: hidden;
          padding: 0 8% 0 0; }
  section .container .top_cp_list {
    display: flex;
    justify-content: space-between; }
    section .container .top_cp_list li {
      width: 20%; }
      section .container .top_cp_list li a {
        display: block;
        width: 100%;
        background: #747474;
        text-align: center;
        padding: 5vw 0.3vw;
        font-size: 3.0vw;
        text-decoration: none;
        color: #fff;
        border-radius: 2vw; }
  section .container .wrap_btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 1em 0 0 0; }
    section .container .wrap_btn li {
      width: 49%;
      text-align: center; }
      section .container .wrap_btn li .btn_item a {
        display: block;
        border-radius: 2vw;
        background: #747474;
        width: 100%;
        text-decoration: none;
        color: #ffffff;
        font-size: 4vw;
        padding: 1.2em 0; }
  section .container .npage_blist {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    section .container .npage_blist li {
      width: 20%; }
      section .container .npage_blist li a {
        display: block;
        width: 100%;
        padding: 1vw; }
        section .container .npage_blist li a img {
          width: 100%;
          height: auto; }
  section .container .brand_rec_list li img {
    width: 100%;
    height: auto; }
  section .container .brand_enkai_area {
    width: 100%;
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #333;
    padding: 1.5em 0; }
    section .container .brand_enkai_area .imgarea img {
      width: 100%;
      height: auto; }
    section .container .brand_enkai_area .txtarea {
      font-size: 3.4vw; }
  section .container .brand_tenpo_listarea {
    padding: 0 0 2em; }
    section .container .brand_tenpo_listarea .brand_tenpo_list li {
      line-height: 1.4;
      font-size: 3.4vw;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.5em 0;
      border-bottom: 1px solid #9e9e9e; }
      section .container .brand_tenpo_listarea .brand_tenpo_list li .info_area a {
        text-decoration: none;
        padding: 1.0em 0;
        display: inline-block; }
      section .container .brand_tenpo_listarea .brand_tenpo_list li .btn_tenpo a {
        display: inline-block;
        border: 1px solid #000;
        border-radius: 8%;
        text-decoration: none;
        padding: 3vw;
        text-align: center; }
  section .container .form_kkm {
    border: 1px solid #333;
    padding: 1.8em;
    font-size: 4vw;
    line-height: 2.0; }
  section .container .recruit_voice {
    display: flex;
    flex-direction: row-reverse;
    margin: 0 0 2em; }
    section .container .recruit_voice .txtarea {
      width: 75%;
      font-size: 3.4vw;
      padding: 0 0 0 1.5em; }
    section .container .recruit_voice .imgarea {
      width: 25%; }
      section .container .recruit_voice .imgarea img {
        width: 100%;
        height: auto; }
    section .container .recruit_voice.staff {
      flex-direction: row;
      margin: 0 0 2em; }
      section .container .recruit_voice.staff .txtarea {
        width: 75%;
        font-size: 3.4vw;
        padding: 0 1.5em 0 0; }
      section .container .recruit_voice.staff .imgarea {
        width: 25%; }
        section .container .recruit_voice.staff .imgarea img {
          width: 100%;
          height: auto; }
  section .container .qalist {
    font-size: 3.4vw; }
    section .container .qalist dt {
      font-weight: bold; }
    section .container .qalist dd {
      padding: 0 0 1.5em; }
  section .container .fukei_list {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start; }
    section .container .fukei_list li {
      width: 33.33333%;
      font-size: 1;
      line-height: 0; }
      section .container .fukei_list li img {
        width: 100%;
        height: auto; }
  section .container .store_list_area .area_list {
    display: flex;
    flex-wrap: wrap; }
    section .container .store_list_area .area_list li {
      padding: 1.5vw 1em;
      font-size: 4vw; }
  section .container .store_list_area .store_list .store_list_item {
    border-bottom: 1px solid #ccc;
    padding: 4vw 0 1.8vw; }
    section .container .store_list_area .store_list .store_list_item .store_layout {
      display: flex;
      justify-content: space-between;
      width: 100%; }
      section .container .store_list_area .store_list .store_list_item .store_layout .imgarea {
        width: 18%; }
        section .container .store_list_area .store_list .store_list_item .store_layout .imgarea img {
          width: 100%;
          height: auto; }
      section .container .store_list_area .store_list .store_list_item .store_layout .txtarea {
        width: 67%;
        padding: 0 0.5em 0; }
        section .container .store_list_area .store_list .store_list_item .store_layout .txtarea .store_name {
          font-size: 3.4vw;
          display: block; }
        section .container .store_list_area .store_list .store_list_item .store_layout .txtarea .store_comm {
          font-size: 3vw;
          display: block; }
        section .container .store_list_area .store_list .store_list_item .store_layout .txtarea .store_addr {
          font-size: 3vw;
          display: block; }
      section .container .store_list_area .store_list .store_list_item .store_layout .btnarea {
        width: 15%;
        text-align: center; }
        section .container .store_list_area .store_list .store_list_item .store_layout .btnarea a {
          display: block;
          width: 100%;
          height: auto;
          font-size: 3.4vw;
          text-decoration: none;
          border-radius: 50%;
          line-height: 1;
          padding: 1.5em 0;
          color: #fff;
          background: black; }
  section .container .store_detail_name {
    margin: 1em 0;
    display: flex;
    justify-content: space-between;
    width: 100%; }
    section .container .store_detail_name .store_name {
      width: 80%;
      font-size: 4.4vw; }
    section .container .store_detail_name .btn_tenpo {
      width: 20%;
      text-align: center; }
      section .container .store_detail_name .btn_tenpo a {
        display: block;
        width: 100%;
        height: auto;
        font-size: 3.8vw;
        text-decoration: none;
        border-radius: 50%;
        line-height: 1;
        padding: 1.8em 0;
        color: #fff;
        background: black; }
  section .container .store_detail_info {
    display: flex;
    justify-content: space-between;
    width: 100%; }
    section .container .store_detail_info .imgarea {
      width: 15%; }
      section .container .store_detail_info .imgarea img {
        width: 100%;
        height: auto; }
    section .container .store_detail_info .txtarea {
      width: 85%;
      font-size: 3.8vw;
      padding: 0 0 0 1em; }
  section .container .mainarea_single.chat_area {
    background: linear-gradient(to bottom, #0a86d0, #1556b0);
    width: 100vw;
    margin: 0 0 -8vw -5vw;
    padding: 5vw 5vw 8vw; }
  section .container .mainarea_single.chat_area.is-news {
    background: #fff;
    font-size: 2vw;
    line-height: 1.8;
    padding: 3vw 5vw 12vw; }
  section .container .mainarea_single .single_txt {
    line-height: 2; }
  section .container .mainarea_single .chat_list .imgarea figure {
    margin: 1em auto;
    background: #fff;
    width: 100%;
    text-align: center;
    padding: 1em;
    /* border: 2px solid #2a3a6f; */
    border-radius: 2vw; }
  section .container .mainarea_single .chat_list .chat_item {
    max-width: 90%;
    border-radius: 4vw;
    padding: 6vw;
    background: #fff; }
    section .container .mainarea_single .chat_list .chat_item.p_staff {
      margin: 8vw 0 8vw 10%; }
    section .container .mainarea_single .chat_list .chat_item.p_guest {
      display: inline-block; }
    section .container .mainarea_single .chat_list .chat_item.p_info {
      color: #fff;
      margin: 0vw 0 8vw 0;
      max-width: 100%;
      /* border-radius: 0; */
      background: none;
      border: 2px dashed #fff; }
    section .container .mainarea_single .chat_list .chat_item .lang_eng {
      font-size: 4.8vw;
      font-feature-settings: "palt";
      line-height: 1.5; }
    section .container .mainarea_single .chat_list .chat_item .lang_jp {
      font-size: 3.4vw;
      line-height: 1.6; }
    section .container .mainarea_single .chat_list .chat_item .read-link a {
      display: block;
      width: 24vw;
      padding: 3vw;
      color: #2065b0;
      background: url(../images/icon_vol.png) no-repeat;
      background-position: center right;
      background-size: 40% auto;
      margin: 4vw 0 4vw auto;
      text-decoration: none;
      cursor: pointer; }

.sec.top_features .container .top_service_features_area .top_service_features .h4_top_features {
  font-size: 1.6em;
  color: #8b3468;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  letter-spacing: -1px;
  margin: 5% 0 3%;
  padding: 0;
  line-height: 1; }

.sec.top_features .container .top_service_features_area .top_service_features .top_features_img img {
  width: 100%;
  height: auto; }

.sec.top_features .container .top_service_features_area .top_service_features .top_features_txt {
  margin: 0 0 2em; }

.sec.top_ceomsg {
  margin-top: -2em;
  position: relative; }
  .sec.top_ceomsg .container .ceomds_area {
    padding: 0% 8% 9% 8%;
    margin: 0 0 2em;
    border-radius: 20px;
    background: #94ca97;
    border: 1px solid #000; }
    .sec.top_ceomsg .container .ceomds_area .mds_h3_ceomsg {
      text-align: center;
      padding: 1em 0;
      margin: auto; }
  .sec.top_ceomsg::after {
    content: "";
    position: absolute;
    bottom: -3%;
    right: 10%;
    width: 30%;
    height: 30%;
    background: url("../images/top_img01.png") no-repeat center top;
    background-size: contain;
    /* calc(背景画像高さ ÷ 背景画像横幅 × 100%) */ }
    @media screen and (min-width: 1024px) {
      .sec.top_ceomsg::after {
        bottom: -25px; } }

.sec.top_comtable .container .company-profile {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1em; }

.sec.top_comtable .container .company-profile th,
.sec.top_comtable .container .company-profile td {
  border-bottom: 1px solid #ccc;
  padding: 0.75em 1em;
  vertical-align: top; }

.sec.top_comtable .container .company-profile th {
  width: 25%;
  text-align: left;
  font-weight: bold;
  white-space: nowrap; }

.sec.top_news .container .top_news_list {
  /*
			@media screen and (min-width: 1024px) {
				padding: 20px 0;
				.top_news_item {
					a {
						padding: 15px 0 ;
						.news_ymd {
							font-size: 80%;
						}
						.news_title {
							font-size: 100%;
						}
					}

				}

			} */ }
  .sec.top_news .container .top_news_list .top_news_item a {
    display: block;
    padding: 5%;
    margin: 0 0 1em;
    border: 1px solid #000;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    background: #ffffff url("../images/icon_arw01.png") no-repeat center right;
    background-size: 5% 20%;
    background-position: right 1em center; }
    .sec.top_news .container .top_news_list .top_news_item a .news_ymd {
      display: block;
      font-size: 0.8em; }
    .sec.top_news .container .top_news_list .top_news_item a .news_title {
      display: block;
      font-size: 1.3em;
      word-break: break-all;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden;
      padding: 0 8% 0 0; }

.sec.top_contact .container .contact_area {
  background: #6b3756;
  color: #fff;
  padding: 8%;
  border-radius: 20px;
  border: 1px solid #000; }
  .sec.top_contact .container .contact_area .btn_mdl {
    margin: 1.8em 0 0; }
    .sec.top_contact .container .contact_area .btn_mdl a {
      background: #fff;
      color: #6b3756; }
      .sec.top_contact .container .contact_area .btn_mdl a:hover {
        background: #ced74e; }

.technomsg {
  background: #b27a69;
  padding: 4vw;
  display: flex;
  align-items: center;
  color: #fff; }
  .technomsg h3 {
    margin: 0;
    padding: 0;
    font-size: 3vw; }
  .technomsg .txt {
    font-size: 2.2vw;
    padding: 0 0 0 2em; }
  @media screen and (min-width: 1024px) {
    .technomsg {
      padding: 20px; }
      .technomsg h3 {
        font-size: 12px; }
      .technomsg .txt {
        font-size: 8px; } }

footer {
  text-align: center;
  color: #333;
  padding: 4vw 6vw;
  font-size: 3vw;
  position: relative; }
  footer .container {
    /* 小さいスクリーンで邪魔なら少し調整 */ }
    footer .container a {
      color: #333; }
    footer .container .copy {
      font-size: 2.4vw; }
    footer .container .to-top {
      position: absolute;
      right: 0;
      top: 0;
      width: 48px;
      /* タッチ領域 */
      height: 48px;
      border-radius: 0;
      border: none;
      background: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 9999;
      transition: transform .14s ease, opacity .14s ease;
      opacity: 0.95; }
    footer .container .to-top svg {
      width: 24px;
      height: 24px;
      color: #ffffff; }
    footer .container .to-top:active {
      transform: scale(0.96); }
  @media screen and (min-width: 1024px) {
    footer {
      padding: 20px 20px;
      font-size: 12px; }
      footer .container .copy {
        font-size: 10px; } }
