@charset "utf-8";
/*
Theme Name: Asairo Design
Author: asairo desgin
Author URI: https://asairo.com
Description: 浅色デザインのスタイルテーマ
Version: 2021．02.27
Text Domain: asairo-design
*/

/*--------------------------------------------------
  reset css
--------------------------------------------------*/
/* margin, paddingの幅を考慮せずに幅指定を可能にする */
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { 
  padding: 0; margin: 0; border: 0; font-style:normal; font-weight: normal; font-size: 100%; vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
html {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ＭＳ ゴシック", sans-serif;
}
h1, h2, h3, h4, h5, h6 {
  /*font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ＭＳ ゴシック", sans-serif;
}
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
input, textarea { padding: 0; margin: 0; }
input[type="button"],input[type="submit"] { -webkit-appearance: none; }
ol, ul{ list-style:none; }
table{ border-collapse: collapse; border-spacing:0; width: 100%; }
caption, th{ text-align: left; }
a:focus { outline:none; }
img { width: 100%; height: auto; display: block; vertical-align: bottom; }
.inline_block { display: inline-block; *display: inline; *zoom: 1; }
/* 入力フォームのパーツデザイン */
input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"],
input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"],
input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"],
select, textarea, .field {
  padding: 0 14px; display: block; height: 44px; line-height: 44px;
  vertical-align: middle; box-shadow: none; border: 0;
  width: 100%; background-color: #fff; font-size: 16px; border: 1px solid #ccc;
  -webkit-transition: background-color 0.24s ease-in-out;
  transition: background-color 0.24s ease-in-out;
}
input::-webkit-input-placeholder, input:-ms-input-placeholder, input::-moz-placeholder {
  color: #ccc; font-weight: normal;
}
select {
  -webkit-appearance: none;
  /* 1 */
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center;
}


/*--------------------------------------------------
  reset css
--------------------------------------------------*/
/* PC対応 */
@media screen and (min-width: 781px) {
  .pc_view { display:block; }
  .sp_view { display:none; }
}

/* スマートフォン対応 */
@media screen and (max-width: 780px) {
  .pc_view { display:none; }
  .sp_view { display:block; }
}

/*--------------------------------------------------
  リンク
--------------------------------------------------*/
/*【注意】順番を入れ替えると正常に動作しなくなります*/
a {
  color: #707070; text-decoration: none; -webkit-transition: 0.3s; -moz-transition: 0.3s;
  -o-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s;
}
a:visited { color: #1A1311; }
a:hover { color: #1A1311; /*background: rgba(255,255,255,0.8);*/ opacity:0.8; -moz-opacity:0.8; filter: alpha(opacity=80); }
a:active { color: #1A1311; }



/*--------------------------------------------------
  画像
--------------------------------------------------*/


/*--------------------------------------------------
  装飾
--------------------------------------------------*/
/* margin */

/* padding */

/* 位置揃え */

/* フォント */
html, body { width: 100%; height: 100%; color: #545454; background-color: #FFF; line-height: 1.6;  }
html { font-size:62.5%; }   /* ！！！消去厳禁！！！ */
body { font-size: 1.6rem; }
.bold { font-weight: bold; }
em { color: #586370; }
strong, b { font-weight: 600; }
p { margin: 0 0 1em 0; }
.underline { border-bottom: 2px solid; padding-bottom: 0.1em; }
a.underline { color: #5B97E1; }
.ttl_second { font-family: 'Lato', sans-serif; }
.ttl_centerline { position: relative; text-align: center; }
.ttl_centerline::before { content: ''; display: block; width: 100%; border-bottom: 1px solid #05428E; position: absolute; top: 50%; z-index: 0; }
.ttl_centerline span { background: #fff; padding: 0 1em; color: #05428E; font-size: 5.0rem; font-weight: bold; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN"; position: relative; z-index: 1; }


.mb10 { margin-bottom: 10px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb70 { margin-bottom: 70px!important; }
.mb80 { margin-bottom: 80px!important; }
.mb90 { margin-bottom: 90px!important; }
.mb100 { margin-bottom: 100px!important; }

.pl1em { padding-left: 1em!important; }
.pl2em { padding-left: 2em!important; }
.pl10 { padding-left: 10px!important; }
.pl20 { padding-left: 20px!important; }
.pl30 { padding-left: 30px!important; }
.pl40 { padding-left: 40px!important; }
.pl50 { padding-left: 50px!important; }
.pl60 { padding-left: 60px!important; }
.pl70 { padding-left: 70px!important; }
.pl80 { padding-left: 80px!important; }
.pl90 { padding-left: 90px!important; }
.pl100 { padding-left: 100px!important; }

.w50 { width: 50%!important; }
.w100 { width: 100%!important; }

/* PC, TAB, SP共通 */
/* clearfixを使用する場合は、親要素のclassに「cf」を追加する */
.cf:after { content: ""; clear: both; display: block; }


/*--------------------------------------------------
  メインスタイル開始
--------------------------------------------------*/ 
/*--------------------------------------------------
                全サイズの基盤スタイル
--------------------------------------------------*/

  main { position: relative; z-index: 1; }
  #main { margin: 0 auto; width: 100%; font-size: 16px; font-size: 1.6rem; }
  #content { margin: 0 auto; width: 100%; }
  .wrap { padding: 0 0%; margin: 0 auto; width: 100%; max-width: 1100px; position: relative; }
  .visual { position: relative; margin: 0 auto 0; width: 100%; max-width: 2000px; }
  .visual img { width: 100%; }
  .visual h1 { padding: 0 0 0 0; text-align: center; font-size: 40px; font-size: 4.0rem; font-weight: 600; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; position: relative; z-index: 1; }
  .visual h1 span { display: block; font-size: 30%; color: #e8e3e3; position: absolute; top: 15px; left: 0; right: 0; margin: 0 auto; }

  a.btn { }
  a.h_btn:hover { background: #078755; color: #fff; }


  .flex { display: flex; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; justify-content: space-between; align-items: stretch; }

  /* 矢印アイコン */
  .arrow { position: relative; display: inline-block; padding: 0 16px 0 0; vertical-align: middle; text-decoration: none; }
  .arrow::before, .arrow::after {position: absolute;top: 0;bottom: 0;right: 0;margin: auto;content: "";vertical-align: middle;}
  .maru::after { right: 5px; width: 3px; height: 3.2px; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
  .maru:hover::after { border-color: #fff; }

  a.blank[target="_blank"] {
    &:after {
      content: '(外部リンク)';
      display: inline-block;
/*
      background: url(img/link_blank.svg);
      background-size: 100%;
      margin: 0 0.25rem;
      width: 20px;
      height: 20px;
*/
    }
  }


  /* font-family */
  .mincho { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  .gothic { font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ＭＳ ゴシック", sans-serif; }
  .marugo { font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO"; }
  .meiryo { font-family: "メイリオ", "Meiryo", sans-serif; }
  .italic { 
    -webkit-transform: skewX(-15deg);
    -moz-transform: skewX(-15deg);
    -o-transform: skewX(-15deg);
    transform: skewX(-15deg);
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=-0.26794919243112214, M21=0, M22=1, SizingMethod='auto expand')";
  }
  .zenmaru { font-family: 'Zen Maru Gothic', serif; }
  .biz-udpgothic-regular {
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  
  .biz-udpgothic-bold {
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  

  .disc { list-style: disc; padding: 0 0 0 1em; }
  .disc li { margin-left: 0.5em; }
  .disc li::marker { font-size: 170%; }
  .disc li span { color: #E6305B; font-weight: bold; }
  .decimal { list-style: decimal; padding: 0 0 0 1em; }
  .decimal li { margin-left: 0.5em; }
  .decimal li::marker {  }
  .decimal li span { color: #E6305B; font-weight: bold; }
  .num { counter-reset: number 0; }
  .num li { margin-left: 1.8em; }
  .num li::before { counter-increment: number 1; content: "" counter(number) "　 "; margin: 0 0em 0 -1.8em; }

  .mac .num li,
  .iphone .num li,
  .ipad .num li {
    width: calc(100% - 3.6em);
  }
  .mac .num li::before,
  .iphone .num li::before,
  .ipad .num li::before {
    margin: 0 0 0 -1.8em;
  }

  .circle { list-style: circle; padding: 0 0 0 1.5em; }
  .diamond { list-style: none; padding: 0 0 0 2.4em; }
  .diamond li { margin-bottom: 10px; }
  .diamond li::before { content:'◆ '; margin-left: -1.4em; }
  .grecaptcha-badge { display: none!important; }


  
  /*--------------------------------------------------
  ヘッダー
  --------------------------------------------------*/
  .drawer--left .drawer-nav { display: flex; overflow: initial; position: absolute; width: calc(100% - 660px); padding: 0px 0 0px; background: transparent; right: 0; }
  /* floatクリア */
  .drawer-menu:after { clear: both; }
  .drawer-menu { *zoom: 1; }
  .drawer-menu > li { position: relative; }
  li ul.sub-menu { position: absolute; top: 40px; background: #004ea2; -webkit-transition: all .2s ease; transition: all .2s ease; display: block; }
  li:hover ul.sub-menu { top: 50px; visibility: visible; opacity: 1; }
  li ul.sub-menu li { border-right: 1px solid #fff; border-bottom: 1px dotted #fff; }
  li ul.sub-menu li:last-of-type { border-bottom: none; }
  /* メニュー */
  .fixed_menu_box { position: absolute; top: 40px; right: 30px; width: 50px; }
  .fixed_menu {  }
  .fixed_menu img { width: 100%; }
  /* dropdown menu */
  .drawer-menu { position: relative; width: 100%; margin: 0 auto; display: flex; justify-content: flex-end; align-items: stretch; }
  ul.sub-menu li a { display: block; padding: 10px 20px; }
  ul.sub-menu { visibility: hidden; opacity: 0; z-index: 1; }
  .drawer-menu > li { padding: 0 0; display: inline-flex; justify-content: center; width: 20%; }
  .drawer-menu > li:first-of-type {  }
  .drawer-menu > li:hover { -webkit-transition: all .5s; transition: all .5s; }
  .drawer-menu > li.noborder { border-right: none; }
  .drawer-menu > li a { color: #000000; display: inline-flex; justify-content: center; align-items: center; }
  .drawer-menu > li a span { font-size: 18px; }
  .drawer-menu > li a.contact { width: 100%; }
  .drawer-menu > li.btn { display: flex; }
  .drawer-menu > li.btn a { background: #fff; border-radius: 100%; width: 36px; height: 36px; display: inline-flex; justify-content: center; align-items: center; }
  .drawer-menu > li.btn a.tel img { width: 14px; height: 21px; }
  .drawer-menu > li.btn a.mail img { width: 21px; height: 14px; }
  /* 下矢印 */
  .init-bottom:after { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 0 0 15px; border-right: 1px solid #fff; border-bottom: 1px solid #fff; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
  header { position: relative; z-index: 10; margin-bottom: 0; border-top: 27px solid #006600; }
  header .header_wrap { display: flex; justify-content: space-between; align-items: stretch; max-width: 1550px; margin: 0px auto 0px; position: relative; }
  header .header_logo { display: flex; justify-content: center; align-items: center; margin: 10px 0; }
  header .header_logo a {  }
  header .header_logo span { font-size: 20px; white-space: nowrap; padding: 15px 0 0 10px; }
  header .linebnr { width: 232px; }

  

  /*--------------------------------------------------
  フッター
  --------------------------------------------------*/
  footer { margin: 0; }
  footer .footer_wrap { padding: 30px 0; max-width: 547px; margin: 0 auto; }
  footer .footer_wrap .company { margin: 0 0 0px; }
  footer .footer_wrap .company a { }
  footer .footer_wrap .company p { font-size: 15px; color: #545454; padding-left: 15%; }
  footer .footer_wrap .add_block { flex-wrap: wrap; padding: 0 0px; }
  footer .footer_wrap .add_block b { display: block; text-align: center; font-size: 20px; }
  footer .footer_wrap .add_block .tel_area { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
  footer .footer_wrap .add_block .tel_area a { width: 246px; margin-bottom: 10px; }
  footer .footer_wrap .add_block .tel_area span { color: #545454; }
  footer .footer_wrap .add_block .sitemap { width: 100%; display: flex; flex-wrap: wrap; }
  footer .footer_wrap .add_block .sitemap li { width: 32%; margin-bottom: 13px;}
  footer .footer_wrap .add_block .sitemap li a { color: #545454; font-size: 15px;}

  .copy { background: #006600; width: 100%; padding: 10px 0 10px; text-align: center; position: relative; font-size: 15px; color: #fff; }



/* ----------------------------------------
* ページトップボタン 
---------------------------------------- */
.pagetop { position: fixed; bottom: 20px; right: 20px; display: block; z-index: 999; text-decoration: none; width: 60px; }
.pagetop:hover { cursor: pointer; opacity: 0.7; }



  /*ACCORDION*/
  .acMenu dt { display:block; cursor:pointer; }
  .acMenu dd { display:none; }


/*--------------------------------------------------
  ローディングロゴアニメーション
  --------------------------------------------------*/
  /* Loading背景画面設定　*/
#splash {
/*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:#fff;
  text-align:center;
  top: 0;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:100px;
  margin: 0 auto 10px;
}
#splash_logo .image {  }
#splash_logo .name {  }

/* fadeUpをするアイコンの動き */
#splash .fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(0);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


  /*--------------------------------------------------
  エフェクト
  --------------------------------------------------*/
/* 上からフェードイン */
.slide-top {
  opacity: 0;
  transform: translate(0, -20px);
  transition: all 1s ease-out;
 }

/* 下からフェードイン */
.slide-bottom {
  opacity: 0;
  transform: translate(0, 20px);
  transition: all 1s ease-out;
 }

 /* 左からフェードイン */
.slide-left {
  opacity: 0;
  transform: translate(-20px, 0);
  transition: all 1s ease-out;
 }

/* 右からフェードイン */
.slide-right {
  opacity: 0;
  transform: translate(20px, 0);
  transition: all 1s ease-out;
 }


 /*--------------------------------------------------
  animetion
  --------------------------------------------------*/
.anim { opacity: 0; }
/* フェードイン */
.fadein.is-animated {
  animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* スライドイン */
.slidein.is-animated {
  animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slideIn {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

/* ズームイン */
.zoomin.is-animated {
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* ぽよよん */
.poyoyon.is-animated {
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

/* ぽよよん2 */
.poyoyon2.is-animated {
  animation: poyoyon2 1s ease-in-out 1 forwards;
}

@keyframes poyoyon2 {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}

/* ぽよよん3 */
.poyoyon3 {
  animation: poyoyon3 2.5s infinite;
  opacity: 1;
}
@keyframes poyoyon3 {
  0%, 40% {
    transform: skew(0deg, 0deg);
  }
  5% {
    transform: skew(5deg, 5deg);
  }
  10% {
    transform: skew(-4deg, -4deg);
  }
  15% {
    transform: skew(3deg, 3deg);
  }
  20% {
    transform: skew(-2deg, -2deg);
  }
  25% {
    transform: skew(1deg, 1deg);
  }
  30% {
    transform: skew(-0.6deg, -0.6deg);
  }
  35% {
    transform: skew(0.3deg, 0.3deg);
  }
}


/* ポップアップ */
.popup.is-animated {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) 1 forwards;
}

@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

/* どくどく */
.poyopoyo {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

/* ななめから出てくる */
.slide-skew.is-animated {
  animation: slide-skew 0.4s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slide-skew {
  0% {
    transform: translate(180px,30px);
    opacity: 0;
  }
  100% {
    transform: translate(0,0);
  }
  20%,100% {
    opacity: 1;
  }
}


/* きらん */
.kiran {
  opacity: 1;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.kiran::before {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  top: -100px;
  left: 0;
  width: 30px;
  height: 100%;
  opacity: 0;
  transition: cubic-bezier(0.32, 0, 0.67, 0);
}
.kiran:hover::before {
  animation: kiran 0.5s linear 1;
}

@keyframes kiran {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }
  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }
  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

/* 背景色が流れてくる */
.bg .bg-wrap {
  position: relative;
  display: inline-block;
  margin-top: 5px;
}
.bg.is-animated .bg-wrap::before {
  animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  background: linear-gradient(to right, #362ae0 0%,#3b79cc 50%,#42d3ed 100%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
}
.bg .bg-wrap .inn {
  color: #fff;
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  padding: 5px 15px;
  position: relative;
  z-index: 1;
}

@keyframes bg {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(-5%);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}

/* 文字がぬるりと現れる */
.matrix .bg-wrap,
.matrix .bg-wrap .inn {
  display: block;
}

.matrix .bg-wrap {
  overflow: hidden;
  opacity: 0;
}

.matrix .bg-wrap + .bg-wrap {
  margin-top: 10px;
}

.matrix .bg-wrap .inn.large {
  font-size: 36px;
  font-weight: bold;
}
.matrix .bg-wrap .inn.small {
  font-size: 15px;
}

.matrix .bg-wrap .inn {
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.matrix.is-animated .bg-wrap {
  opacity: 1;
}

.matrix.is-animated .bg-wrap .inn {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}

/* 背景色が消えてから表示されるテキスト */
.mask-bg {
  color: transparent;
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  overflow: hidden;
  position: relative;
  transition: color 0ms 450ms;
}
.mask-bg::after {
  background: linear-gradient(to right, #362ae0 0%,#3b79cc 50%,#42d3ed 100%);
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(0, 100%);
}

.mask-bg.is-animated {
  color: #362ae0;
}
.mask-bg.is-animated::after {
  animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.170, 1);
}

@keyframes mask-bg {
  0% {
    transform: translate(0, 101%)
  }
  40%, 60% {
    transform: translate(0, 0%)
  }
  100% {
    transform: translate(0, -100%)
  }
}


/* 線が伸びる */
.line {
  display: block;
  position: relative;
  margin-top: 20px;
}
.line::after {
  background: linear-gradient(to right, #362ae0 0%,#3b79cc 50%,#42d3ed 100%);
  content: '';
  display: block;
  height: 1px;
  width: 0;
  transform: translateX(-50%);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  position: absolute;
  bottom: 0;
  left: 50%;
}
.line.is-animated::after {
  width: 100%;
}


/* フェードアップ */
.fadeup.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ボーダーが緩やかにつく */
.stroke {
  background: #f0f0f0;
  max-width: 400px;
  height: 250px;
  position: relative;
}

.stroke .border {
  content: "";
  position: absolute;
  opacity: 0;
}
.stroke .border.top,
.stroke .border.bottom {
  width: calc(100% - 20px);
}
.stroke .border.top {
  border-top: 3px solid #362ae0;
  right: 0;
  top: 0;
}
.stroke .border.bottom {
  border-bottom: 3px solid #362ae0;
  left: 0;
  bottom: 0;
}

.stroke .border.right,
.stroke .border.left {
  height: calc(100% - 20px);
}
.stroke .border.right {
  border-right: 3px solid #362ae0;
  right: 0;
  top: 0;
}
.stroke .border.left {
  border-left: 3px solid #362ae0;
  left: 0;
  bottom: 0;
}

.stroke.is-animated .border {
  opacity: 1;
}

.stroke.is-animated .border.top,
.stroke.is-animated .border.bottom {
  animation: stroke-width 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.stroke.is-animated .border.right,
.stroke.is-animated .border.left {
  animation: stroke-height 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes stroke-width {
  0% {
    width: 0;
    opacity: 1;
  }
  100% {
    width: calc(100% - 20px);
    opacity: 1;
  }
}

@keyframes stroke-height {
  0% {
    height: 0;
    opacity: 1;
  }
  100% {
    height: calc(100% - 20px);
    opacity: 1;
  }
}

/* 文字が滑らかに表示される */
.smooth {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
  line-height: 1;
  height: 40px;
  margin-top: 15px;
}
.smooth.is-animated {
  clip-path: inset(0);
}

/* ふわふわ */
.fuwafuwa {
  animation: fuwafuwa 3s infinite ease-in-out .8s alternate;
  background: url(../img/ico-apple.svg) no-repeat center center / 60px auto;
  display: inline-block;
  transition: 1.5s ease-in-out;
  width: 70px;
  height: 70px;
  margin-top: 15px;
}

@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

/* ゆったりスクロールボタン */

.scroll {
  display: inline-block;
  padding-top: 70px;
  position: relative;
}
.scroll::before {
  animation: scroll 3.5s infinite;
  border: solid #000;
  border-width: 0 0 1px 1px;
  content: "";
  display: inline-block;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  transform: rotate(-45deg);
  width: 20px;
  height: 20px;
}
@keyframes scroll {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  80% {
    transform: rotate(-45deg) translate(-30px, 30px);
  }
  0%, 80%, 100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}

/* くるくる回りながら出現 */
.kurukuru {
  background: linear-gradient(to right, #362ae0 0%,#3b79cc 50%,#42d3ed 100%);
  width: 50px;
  height: 50px;
  opacity: 0;
  padding-bottom: 40px;
}
.kurukuru.is-animated {
  animation: kurukuru 1.4s ease-out;
  opacity: 1;
}
@keyframes kurukuru {
  0%{
    transform: rotateY(0) translateY(40px);
    opacity: 0;
  }
  100%{
    transform: rotateY(360deg) translateY(0);
    opacity: 1;
  }
}

.fadeIn {
  transition: 1s;
  opacity: 0;
}
 
.fadeIn.animated {
  opacity: 1;
}




  /*--------------------------------------------------
  ページの余白設定
  --------------------------------------------------*/
  /* コンテンツとコンテンツの間の余白 */
  #top { padding-top: 0%; position: relative; z-index: 2; width: 100%; overflow: hidden; }  /* トップページで必要なければ削除すること */
  #main section { margin-bottom: 10%; }

  /* 共通部分 */


  /*--------------------------------------------------
  見出しの設定
  --------------------------------------------------*/
  /* ページの見出し */
  h1 {}
  h2.ttl { }



  /*--------------------------------------------------
  固定ページの共通部分
  --------------------------------------------------*/
  /* 固定ページの親要素として使用する */
  #page { letter-spacing: -0.4px; }

  .table { display: table; width: 100%; }
  .table .th, .table .td { display: table-cell; }
  .left { float: left; }
  .right { float: right; }

  .text p { margin-bottom: 1em; }

  #map { width: 100%; }
  #map iframe { width: 100%; }
  a.btn { display: inline-block; background: #006600; padding: 22px 65px; font-size: 18px; color: #fff; box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.16); letter-spacing: 2px; text-align: center; }




  /*--------------------------------------------------
  TOP
  --------------------------------------------------*/
  aside { position: relative; z-index: 0; }

  #top {  }
  #top #visual {  }
  #top #demolition { background: url(img/top-demolition-bg.svg) no-repeat; padding: 70px 0; min-height: 1009px; margin-bottom: 110px; background-size: cover; background-position: center bottom; overflow: hidden; }
  #top h2.focusedline { padding-top: 80px; margin-bottom: 20px; font-size: 40px; display: flex; justify-content: center; align-items: flex-end; }
  #top h2.focusedline span { border-bottom: 3px solid #FE4240; font-weight: bold; text-align: center; letter-spacing: 5px; }
  #top h2.focusedline span em { font-weight: bold; }
/*  #top h2.focusedline::before { content: ''; display: inline-block; background: url(img/focusedline.svg) no-repeat; background-size: 100%; width: 49px; height: 84px; margin-right: 20px; }
  #top h2.focusedline::after { content: ''; display: inline-block; background: url(img/focusedline.svg) no-repeat; background-size: 100%; width: 49px; height: 84px; margin-left: 20px; transform: scale(-1, 1); }*/
  #top h2.headline { display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 50px; }
  #top h2.headline span { width: 100%; display: block; text-align: center; font-size: 35px; padding: 10px 20px 10px; font-weight: 500; letter-spacing: 8px; }
  #top h2.headline::after { content: ''; display: block; border-bottom: 3px solid #00C280; width: 120px; }

  #top #entrance { background: url(img/top_products_bg.svg) no-repeat; background-size: cover; background-position: center bottom; padding-bottom: 90px; }
  #top #entrance .wellcome { background: url(img/focusedline_bg.svg) no-repeat; background-size: cover; background-position: center bottom; height: 446px; }
  #top #entrance .wellcome p { max-width: 880px; margin: 0 auto; font-size: 18px; text-align: center; }
  #top #entrance .products { }
  #top #entrance .products .inner { margin-bottom: 60px; }
  #top #entrance .products .inner .block { width: 30%; }
  #top #entrance .products .inner .block figure img { height: 17vw; object-fit: cover; }
  @media screen and (max-width: 780px) {
    #top #entrance .products .inner .block figure img { /*height: 72px;*/ }
  }
  #top #entrance .products .inner .block .title { text-align: center; }
  #top #entrance .products h3 { font-weight: bold; text-align: center; font-size: 30px; margin-bottom: 20px; }
  #top #entrance .products .center { text-align: center; }

  #top #healthcare { padding-top: 40px; margin-bottom: 150px; }
  #top #healthcare h2 { margin-bottom: 20px; }
  #top #healthcare .center { text-align: center; }
  #top #healthcare .lead { margin-bottom: 40px; text-align: center; }
  #top #healthcare .inner { display: flex; justify-content: space-between; margin: 0 0 50px; }
  #top #healthcare .inner .box { width: 30%; border: 3px solid #66E39C; padding: 25px 30px; }
  #top #healthcare .inner .box figure { margin-bottom: 25px; }

  #top #about { background: #E8F8EF; padding: 70px 0; margin-bottom: 150px; }
  #top #about h2 em { color: #006600; font-weight: bold; }
  #top #about .inner { display: flex; flex-wrap: wrap; justify-content: space-between; }
  #top #about .inner .box { width: 40%; }
  #top #about .inner .box a.btn { padding: 22px 50px; }
  #top #about .inner figure { width: 55%; }


  #top #bnr { }
  #top #bnr a { display: block; margin-bottom: 60px; }

  #top #works { padding: 50px 0 90px; }
  #top #works h2 { padding: 0 0 10px; margin-bottom: 20px; border-bottom: 2px solid #FFAF10; color: #FFAF10; font-weight: bold; font-size: 25px; }
  #top #works .job_block { }
  #top #works .job_block.pharmacist { margin-bottom: 60px; }
  #top #works .job_block h3 { font-size: 35px; font-weight: bold; }
  #top #works .job_block h3::before { content: '●'; color: #FFAF10; font-size: 20px; margin-right: 10px; }
/* タブ共通 */
.tab-wrap { display: flex; flex-wrap: wrap; }
.tab-label { color: White; background: LightGray; margin-right: 0; padding: 3px 12px; order: -1; width: 19.2%; font-size: 20px; text-align: center; }
.tab-content { width: 100%; display: none; }
/* アクティブなタブ */
.tab-switch:checked+.tab-label { background: #5AB5CD; }
.tab-switch:checked+.tab-label+.tab-content { display: block; }
/* ラジオボタン非表示 */
.tab-switch { display: none; }
  #top #works .job_block .tab-content { border: 3px solid #5AB5CD; }
  #top #works .job_block .tab-content dl { display: flex; justify-content: space-between; border-bottom: 1px solid #5AB5CD; }
  #top #works .job_block .tab-content dl dt { display: inline-flex; justify-content: center; align-items: center; width: 19%; background: #ECF9FC; padding: 22px 10px; font-size: 20px; text-align: center; border-right: 1px solid #5AB5CD; letter-spacing: 2px; }
  #top #works .job_block .tab-content dl dd { width: 81%; background: #fff; padding: 20px 30px; font-size: 18px; }
  #top #works .job_block .tab-switch+.tab-label { opacity: 0.6; }
  #top #works .job_block .tab-switch:checked+.tab-label { opacity: 1; }
  #top #works .job_block .tab-switch+.tab-label:nth-of-type(1) { background: #5AB5CD; }
  #top #works .job_block .tab-switch+.tab-label:nth-of-type(2) { background: #48D25F; }
  #top #works .job_block.control .tab-content { border-color: #48D25F; }
  #top #works .job_block.control .tab-content dl dt { background-color: #EFFCF1; border-right-color: #48D25F; }
  #entry { padding: 100px 0 90px; }
  #entry h2.headline { margin-bottom: 40px; }
  #entry .wrap { max-width: 550px; }
  #entry b { display: block; text-align: center; font-size: 24px; }
  #entry .message { font-size: 25px; text-align: center; margin: -10px 0 25px; font-weight: 500; letter-spacing: 2px; }
  #entry .add { text-align: center; font-size: 20px; }
  #entry .att { font-size: 15px; margin-left: 4em; }
  #entry .att::before { content: '※'; margin-left: -1em;} 
  #entry .center { display: flex; justify-content: center; }
  #entry a.btn { display: inline-block; background: #FE3231!important; padding: 22px 65px; font-size: 18px; color: #fff; box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.16); letter-spacing: 2px; width: auto; }

  .figure_bg { z-index: 1; position: absolute; }
  .bg_1 { top: 270px; left: -300px; }
  .bg_2 { top: 1380px; right: -210px; }
  .bg_3 { top: 3820px; left: -280px; }
  .bg_4 { top: -220px; right: -360px; }
  .bg_5 { top: 690px; left: -370px; }
  .bg_6 { top: 1560px; right: -320px; }

  #top .bgobject { position: absolute; z-index: 0; }
  #top .bg-1 { top: 140px; left: -230px; }
  #top .bg-2 { top: 120px; right: -230px; }
  #top .bg-3 { top: 390px; left: -300px; }

/* top slider */
  #top .swiper-slide { overflow: hidden; }
  #top .swiper-slide img { max-height: 220px; width: 100%; margin: 0 auto; object-fit: cover; aspect-ratio: 71 / 46; }
  #top .swiper-pagination { position: relative; margin-top: 20px; }
  #top .swiper-button-next { top: 44%; right: -10%; }
  #top .swiper-button-prev { top: 44%; left: -10%; }
  #top .swiper-slide .title { text-align: center; }
  #top #healthcare .inner .box figure { overflow: hidden;}
  #top #healthcare .inner .box figure img { max-height: 170px; width: 100%; margin: 0 auto; object-fit: cover; }


  /*--------------------------------------------------
  page
  --------------------------------------------------*/
  .cover { position: relative; display: flex; flex-wrap: wrap; justify-content: center; background: url(img/headline_bg.svg) no-repeat; background-size: 100%; background-position: center; width: 578px; height: 132px; margin: 50px auto 100px; }
  .cover h1 { display: inline-flex; justify-content: center; align-items: center; width: 100%; font-size: 30px; letter-spacing: 6px; }

#page .breadcrumb { margin: 15px 0 80px; }
#page .breadcrumb a { color: #148CE1; }
#page a.link { color: #5B97E1; text-decoration: underline; }

/* navigation */
#page .in_nav { display: flex; justify-content: center; margin: 0 0 90px; }
#page .in_nav a { border-width: 2px; border-style: solid; border-radius: 30px; padding: 20px 50px; margin: 0 20px; color: #383838; font-weight: bold; line-height: 1; font-family: 'Zen Maru Gothic', serif; }

#page .page-header { margin-bottom: 70px; }
.page-h1 { display: flex; align-items: center; justify-content: center; margin-bottom: 50px; margin-left: -110px; }
.page-h1 i { width: 87px; margin-right: 30px; }
.page-h1 h1 { text-align: center; font-size: 42px; }
#page .lead { font-size: 18px; margin-bottom: 50px; line-height: 1.8; }
#page .headline { background: #006600; padding: 10px 20px; font-size: 25px; margin: 0 0 50px; text-align: center; color: #fff; border-radius: 30px; letter-spacing: 5px; }

#page #about { }
#page #about .lead { text-align: center; font-size: 25px; }
#page #about h3 { }
#page #about h3 span { display: inline-block; background: #fff; padding: 10px; position: relative; z-index: 2; }
#page #about .basic { position: relative; }
#page #about .basic .star { width: 492px; margin: 50px auto 200px; }
#page #about .basic .block { position: absolute; }
#page #about .basic .block .ttl { margin-bottom: 5px; padding-bottom: 5px; font-size: 20px; }
#page #about .basic .block p { font-size: 18px; }
#page #about .basic .basic_1 { top: 30px; right: 30px; }
#page #about .basic .basic_1 .ttl { color: #FFB300; border-bottom: 1px solid #FFB300; }
#page #about .basic .basic_2 { bottom: 0; right: 0; }
#page #about .basic .basic_2 .ttl { color: #E85972; border-bottom: 1px solid #E85972; }
#page #about .basic .basic_3 { bottom: 0; right: 0; transform: translate(-100%, 100%);}
#page #about .basic .basic_3 .ttl { color: #315A88; border-bottom: 1px solid #315A88; }
#page #about .basic .basic_4 { bottom: 0; left: 0; }
#page #about .basic .basic_4 .ttl { color: #20B6E9; border-bottom: 1px solid #20B6E9; }
#page #about .basic .basic_5 { top: -30px; left: 0; }
#page #about .basic .basic_5 .ttl { color: #72C0CA; border-bottom: 1px solid #72C0CA; }
#page h4.center { padding: 35px 0; font-size: 25px; text-align: center; }
#page #about .inner { margin-bottom: 80px; }
#page #about .message_block { display: flex; justify-content: space-between; padding: 0 0px; margin-bottom: 100px; }
#page #about .message_block .box { width: 64.7%; }
#page #about .message_block figure { width: 29%; }
#page #about .message_block figure h4 { text-align: right; font-size: 25px; }
#page #about .right_txt { text-align: right; }
#page #about .right_img { display: flex; justify-content: flex-end; }
#page #about .right_img img { width: auto; }
#page #about .company_box { display: flex; justify-content: space-between; max-width: 800px; margin: 0 auto; border-left: 1px solid #CECECE; }
#page #about .company_box:first-of-type { border-top: 1px solid #CECECE; }
#page #about .company_box dt { width: 28%; padding: 10px 15px; background: #F4F8F6; display: inline-flex; justify-content: center; align-items: center; border-right: 1px solid #CECECE; border-bottom: 1px solid #CECECE; }
#page #about .company_box dd { width: 72%; padding: 10px 15px; background: #fff; border-right: 1px solid #CECECE; border-bottom: 1px solid #CECECE; }
#page #about #map { max-width: 800px; margin: 70px auto 60px; }
#page #about .inner { padding: 0 40px; }
#page #about #works { margin-bottom: 40px; }
#page #about #works h3 { font-size: 25px; }
#page #about #works h3::before { content: '●'; color: #006600; }
#page #about #works p { margin-bottom: 2em; }
#page #about #works .inner .box { margin-bottom: 50px; }
#page #about #works .inner h4 { font-size: 20px; border-bottom: 1px solid #04937C; padding-bottom: 8px; margin-bottom: 15px; }
#page #about #works .inner h4::before { content: '●'; color: #03937C; font-size: 60%; margin-right: 3px; }

#page #about .gmp { margin-bottom: 40px; }
#page #about .gmp dt { border-bottom: 1px solid #FE3231; padding-bottom: 10px; margin-bottom: 15px; font-size: 25px; }
#page #about .gmp dd { font-size: 20px; font-weight: bold; }
#page #about .gmp dd::before { content: '●'; color: #FE3231; font-size: 80%;}
#page #about .gmp dd p { padding: 0 0 0 0.8em; font-size: 18px;}
#page #about #quality h3 { border-bottom: 1px solid #FE3231; font-size: 25px; }
#page #about #quality .lead { font-size: 18px; text-align: left; line-height: 1.8; padding: 0 20px; }





  /*--------------------------------------------------
  お知らせ
  --------------------------------------------------*/


  
/* アーカイブ */
  .archive { margin-top: 80px; }
  .archive .flex {  }
  .archive .wrap { max-width: 1100px; }
  .archive h1 { margin-bottom: 50px; text-align: center; font-size: 3.6rem; font-weight: bold; }
  .archive .inner { }
  .archive .inner ul { display: flex; justify-content: space-between; flex-wrap: wrap; background: #F6F8F8; padding: 45px 30px; border-radius: 20px; }
  .archive .inner ul li { width: 100%; margin: 0 0 30px 0; }
  .archive .inner ul li .cat { padding: 10px 20px; display: inline-block; background: #6A6A6A; border-radius: 5px; text-align: center; color: #fff; font-weight: bold; font-size: 1.4rem; }
  .archive .inner ul li .date { margin: 0px 35px 0 25px; font-size: 1.3rem; }
  .archive .inner ul li .title { font-size: 1.5rem; }
  .archive .inner ul li .in {  }
  .archive .inner ul li .in a { display: inline-block; border: 1px solid #707070; border-radius: 30px; padding: 10px 30px; font-size: 1.5rem; text-align: center; }
  .archive article { width: 74.3%; }
  .archive aside { width: 24%; background: #F3F3F3; padding: 40px 20px; }
  .archive aside h2 { padding: 10px; background: #0A8447; color: #fff; font-weight: bold; text-align: center; font-size: 1.7rem; }
  .archive aside h3 { border-bottom: 1px solid #707070; padding-bottom: 15px; margin: 20px 0 20px; text-align: center; font-size: 1.8rem; font-weight: bold; color: #586370; }
  .archive aside .block { margin-bottom: 40px; }
  .archive aside .block label { display: flex; align-items: center; margin-bottom: 10px; font-size: 1.5rem; color: #586370; }
  .archive aside .block label input { margin-right: .5em; }
  .archive aside .block label input[type="checkbox"] { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; } /* リセット */
/* チェックボックスデザイン */
.archive aside .block label input[type="checkbox"] { cursor: pointer; padding-left: 30px; vertical-align: middle; position: relative; }
  .archive aside .block label input[type="checkbox"]::before,
  .archive aside .block label input[type="checkbox"]::after { content: ""; display: block; position: absolute; }
  .archive aside .block label input[type="checkbox"]::before { background-color: #fff; border-radius: 0%; border: 1px solid #707070;
width: 18px;/*チェックボックスの横幅*/
height: 18px;/*チェックボックスの縦幅*/
border-radius: 4px; transform: translateY(-50%); top: 50%; left: 5px; }
  .archive aside .block label input[type="checkbox"]::after {
border-bottom: 3px solid #707070;/*チェックの太さ*/
border-left: 3px solid #707070;/*チェックの太さ*/
opacity: 0;/*チェック前は非表示*/
height: 6px;/*チェックの高さ*/
width: 11px;/*チェックの横幅*/
transform: rotate(-45deg);
top: -6px;/*チェック時の位置調整*/
left: 9px;/*チェック時の位置調整*/
  }
  .archive aside .block label input[type="checkbox"]:checked::after {
    opacity: 1;/*チェック後表示*/
  }
  .archive aside input[type=submit] { margin: 0 auto 70px; padding: 10px 45px; background: #0A8447; font-size: 2.0rem; }
/* searchandfilter */
.searchandfilter h4 { border-bottom: 1px solid #707070; padding-bottom: 15px; margin: 20px 0 20px; text-align: center; font-size: 1.8rem; font-weight: bold; color: #586370; }
.searchandfilter ul { display: block; }
.searchandfilter li { display: block; padding: 0; }
.searchandfilter > div > ul > li { margin-bottom: 40px; }
.searchandfilter > div > ul > li:nth-of-type(1) { display: none; }
  .archive aside .searchandfilter { margin-bottom: 40px; }
  .archive aside .searchandfilter label { display: flex; align-items: center; margin-bottom: 10px; font-size: 1.5rem; color: #586370; }
  .archive aside .searchandfilter label input { margin-right: .5em; }
  .archive aside .searchandfilter label input[type="checkbox"] { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; } /* リセット */
  /* チェックボックスデザイン */
.archive aside .searchandfilter label input[type="checkbox"] { cursor: pointer; padding-left: 30px; vertical-align: middle; position: relative; }
  .archive aside .searchandfilter label input[type="checkbox"]::before,
  .archive aside .searchandfilter label input[type="checkbox"]::after { content: ""; display: block; position: absolute; }
  .archive aside .searchandfilter label input[type="checkbox"]::before { background-color: #fff; border-radius: 0%; border: 1px solid #707070;
width: 18px;/*チェックボックスの横幅*/
height: 18px;/*チェックボックスの縦幅*/
border-radius: 4px; transform: translateY(-50%); top: 50%; left: 5px; }
  .archive aside .searchandfilter label input[type="checkbox"]::after {
border-bottom: 3px solid #707070;/*チェックの太さ*/
border-left: 3px solid #707070;/*チェックの太さ*/
opacity: 0;/*チェック前は非表示*/
height: 6px;/*チェックの高さ*/
width: 11px;/*チェックの横幅*/
transform: rotate(-45deg);
top: -6px;/*チェック時の位置調整*/
left: 9px;/*チェック時の位置調整*/
  }
  .archive aside .searchandfilter label input[type="checkbox"]:checked::after {
    opacity: 1;/*チェック後表示*/
  }

  .archive.category article { width: 100%; }
  .category .wrap { max-width: 879px; width: 100%; }
  .category .inner .box { justify-content: flex-start; align-items: center; border-bottom: 1px solid #707070; padding: 10px 0 10px; }
  .category .inner .box:nth-of-type(1) { padding-top: 0; }
  .category .inner .box .date { margin-right: 1em; font-size: 1.6rem; }
  .category .inner .box .cate { margin-right: 1em; display: block; background: #007EBF; padding: 6px 25px; color: #fff; font-size: 1.7rem; font-weight: bold; }
  .category .inner .box .cate a { color: #fff; font-size: 1.7rem; font-weight: bold; }
  .category .inner .box .title { font-size: 1.6rem; }


  .archive .inner ul li .details { transition: all ease-in-out .3s; box-sizing: border-box; position: relative; }
  .archive .inner ul li .details[open] {  }
  .archive .inner ul li .details-summary {
    display: flex;
    align-items: center;
    padding: 10px 10px;
    border-bottom: 1px dotted #B2B2B2; 
    font-weight: bold;
    transition: all ease-in-out .3s;
    &:hover {
      cursor: pointer;
    }
  }
  .archive .inner ul li .details-summary::-webkit-details-marker { display: none; }
  .archive .inner ul li .details-summary .img { width: 62px; margin-right: 20px; }
  .archive .inner ul li .details-summary b {  }
  .archive .inner ul li .details-summary i { position: absolute; right: 30px; }

  .archive .inner ul li .details-content {
    margin: 0 0px 0px;
    padding: 20px 50px;
    overflow: hidden;
    overflow-y: auto;
    background-color: #fff;
    border-radius: 0 0 10px 10px;
  }
  .archive .inner ul li .details-content img { width: auto; max-width: 100%; }
  .archive .inner ul li .details[open] .details-content { animation: fadeIn .3s ease; }
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-10px); 
  }
  100% {
    opacity: 1;
    transform: none;
  }
}


  /* パスワードページ */
.page_pass_bg { padding: 100px 0 0; margin-bottom: 100px; position: relative; z-index: 1; }
.page_pass_wrap { margin: 0 auto; max-width: 500px; padding: 50px 80px 80px; text-align: center; color: #707070; box-shadow: 0 4px 20px rgba(0,0,0,0.44); background: #fff; border-radius: 10px; }
.page_pass_ttl { font-weight: bold; font-size: 30px; }
.page_pass_site_ttl { margin: 10px auto 50px; font-size: 15px; }
.page_pass_text { display: flex; justify-content: center; }
.page_pass_input { border: 1px solid #707070; border-radius: 10px; display: block; font-size: 16px; margin-top: 20px; padding: 10px; width: 100%; }
input[type=submit].page_pass_submit { background-color: #004EA1; cursor: pointer; color: #fff; display: block; font-size: 1.5rem; margin: 20px auto; padding: 10px 0; width: 163px; height: auto; line-height: 1.8; border-radius: 10px; border:none; -webkit-appearance: none; box-shadow: none; }
.page_pass_submit:hover { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)"; }
.page_pass_bg .forget { font-size: 13px; text-align: center; }



/* シングル */
.single { margin: 80px auto 0; }
.single .inner { padding: 0 20px; margin-bottom: 100px; }
.single .btn { display: flex; justify-content: center; margin: 0 0 100px;}
.single .btn a { width: 30%; background: #03937C; padding: 22px 65px; font-size: 18px; color: #fff; box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.16); letter-spacing: 2px; text-align: center; }
 


  #single .eyecatch img { width: 100%; margin-bottom: 30px; }
  #single .inner .text h2 { background: initial; padding: initial; color: #222; line-height: 1.875em; font-size: 1.5em; margin: 36px 0 24px; border-bottom: 2px solid; }
  #single .inner .text h3 { margin: 36px 0 24px; padding: 12px; background: #f3f3f3; border-radius: 10px; width: fit-content; font-family: "A-OTF Shin Go Pro"; }
  #single .inner .text a { color: #81c7d4; }
  #single .inner .text ul { margin: 24px 0; padding-left: 40px; list-style: initial; }
  #single .inner .text ol { margin: 24px 0; padding-left: 40px; list-style: auto; }




/*ページネーション*/
.pagination ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 50px 0 50px; }
.pagination li .page-numbers { padding: 10px 15px; margin: 0 5px 5px 0; background-color: #fff; border: 1px solid #006600; display: inline-flex; align-items: center; }
.pagination li .page-numbers.current,
.pagination li .page-numbers:hover { background: #006600; color: #fff;; }



.pagenation{ border-radius: 7px; overflow: hidden; }
.pagenation ul{ display: flex; justify-content: center; list-style-type: none; }
.pagenation .active{ background-color: #004ea2; font-size: 1.2rem; padding: 10px 15px; color: #fff; }
.pagenation a{ font-size: 1.2rem; display: block; padding: 10px 15px; text-decoration: none; color: #004ea2; background-color: #CCC; border-right: 1px solid white; }

  /* wp-pagenavi */
  .wp-pagenavi { padding: 3% 0 0%; font-size: 16px; font-size: 1.6rem; text-align:center; font-size: 26px; font-size: 2.6rem; }
  .wp-pagenavi a, .wp-pagenavi span { padding: 12px 18px; margin: 0 1%; background-color: #fff; color: #25764d; border: 1px solid #25764d; }
  .wp-pagenavi a:hover, .wp-pagenavi span.current { background-color: #25764d; color: #fff; border: 1px solid #25764d; }
  .wp-pagenavi span.pages { display: none; }
  .wp-pagenavi span.current { font-weight: normal; }
  .wp-pagenavi a.nextpostslink, .wp-pagenavi a.previouspostslink { padding: 10px 18px; font-family: "Trebuchet MS",sans-serif; }


  /* ビジュアルリッチテキストエディタ */
  #page #single .box .text h1, #page #single .box .text h2, #page #single .box .text h3,
  #page #single .box .text h4, #page #single .box .text h5, #page #single .box .text h6 {
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "ＭＳ ゴシック", sans-serif;
    line-height: 1.6; font-weight: bold;
  }
  #page #single .box .text h1 span, #page #single .box .text h2 span, #page #single .box .text h3 span,
  #page #single .box .text h4 span, #page #single .box .text h5 span, #page #single .box .text h6 span {
    font-weight: bold;
  }
  #page #single .box .text h1 { font-size: 30px; font-size: 3.0rem; }
  #page #single .box .text h2 { font-size: 26px; font-size: 2.6rem; }
  #page #single .box .text h3 { font-size: 22px; font-size: 2.2rem; }
  #page #single .box .text h4 { font-size: 18px; font-size: 1.8rem; }
  #page #single .box .text h5 { font-size: 14px; font-size: 1.4rem; }
  #page #single .box .text h6 { font-size: 12px; font-size: 1.2rem; }
  #page #single .box .text strong { font-weight: bold; }
  #page #single .box .text em { font-style: italic; }
  #page #single .box .text ol li { list-style-type: decimal; }
  #page #single .box .text ul li { list-style-type: disc; }
  #page #single .box .text a { text-decoration: underline; color: #009BD4; }

  
  /* healthcare */
  #archive.healthcare { }
  #archive.healthcare article { width: 100%; }
  #archive.healthcare h2 { margin-bottom: 35px; font-size: 30px; font-weight: bold; text-align: center; }
  #archive.healthcare .swiper_bg { background: url(img/healthcare_pickup_bg.png); padding: 30px 0; margin-bottom: 40px; position: relative; }
  #archive.healthcare .swiper { background: url(img/healthcare_pickup_wrap.svg) no-repeat; max-width: 1218px; background-size: 100%; height: 540px; }
  #archive.healthcare .swiper h2 { padding: 35px 0 0 0;}
  #archive.healthcare .swiper .swiper-wrapper { max-width: 1100px; margin: 0 auto; height: auto; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide { width: 31.3%; height: auto!important; border: 1px solid #DBDBDB; padding: 30px; margin: 0 3% 40px 0;}
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide:nth-of-type(3n) { margin-right: 0; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide .term { display: inline-block; padding: 5px 30px; font-size: 15px; color: #fff; margin-bottom: 15px; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide .cate1 { background: #1CBF4D; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide .cate2 { background: #1275D6; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide .image { margin-bottom: 10px; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide .date { font-size: 15px; color: #707070; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide .title { font-size: 18px; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide.cate1 { border-color: #1CBF4D; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide.cate2 { border-color: #1275D6; }
  .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after { content: ''!important; }
  .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after { content: ''!important; }
  .swiper-button-next:after { background: url(img/button-next.svg) no-repeat; width: 60px; height: 60px; background-size: 100%; }
  .swiper-button-prev:after { background: url(img/button-next.svg) no-repeat; width: 60px; height: 60px; background-size: 100%; transform: scale(-1, 1); }
  .swiper-button-next, .swiper-button-prev { width: auto!important; }
  .swiper-button-next { right: ; }
  .swiper-button-prev { left: ; }

  #archive.healthcare .p-news__items { display: flex; flex-wrap: wrap; }
  #archive.healthcare .p-news__items li { width: 31.3%; border: 1px solid #DBDBDB; padding: 30px; margin: 0 3% 40px 0;}
  #archive.healthcare .p-news__items li:nth-of-type(3n) { margin-right: 0; }
  #archive.healthcare .p-news__items li .term { display: inline-block; padding: 5px 30px; font-size: 15px; color: #fff; margin-bottom: 15px; }
  #archive.healthcare .p-news__items li span { background: #1CBF4D; }
  #archive.healthcare .p-news__items li .cate2 { background: #1275D6; }
  #archive.healthcare .p-news__items li .image { margin-bottom: 10px; }
  #archive.healthcare .p-news__items li .image img { object-fit: cover; aspect-ratio: 71 / 46; }
  #archive.healthcare .p-news__items li .date { font-size: 15px; color: #707070; }
  #archive.healthcare .p-news__items li .title { font-size: 18px; }
  #archive.healthcare button { display: inline-block; background: #006600; padding: 22px 65px; font-size: 18px; color: #fff; box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.16); letter-spacing: 2px; text-align: center; border: none; }
  #archive.healthcare .center { text-align: center; }
  #archive.healthcare .inner { margin-bottom: 150px; }
  .page-load-status { text-align: center; }

  /* single.healthcare */
  #single.healthcare {  }
  #single.healthcare .title_area { background: #E1FFDF; padding: 45px 0; margin-bottom: 120px; }
  #single.healthcare .title_area .date { padding: 0 50px; }
  #single.healthcare .title_area h2 { position: relative; border-bottom: 1px solid #707070; padding: 0 50px; font-weight: bold; font-size: 30px; }
  #single.healthcare .title_area .term { position: absolute; right: 0; display: inline-block; padding: 5px 30px; font-size: 15px; color: #fff; margin-bottom: 15px; background: #1CBF4D; }
  #single.healthcare .inner { margin-bottom: 140px; }
  #single.healthcare .inner .box1 { margin-bottom: 30px; }
  #single.healthcare .inner .box1 figure { order: 2; width: 50%; }
  #single.healthcare .inner .box1 .text { order: 1; width: 50%; padding: 30px 70px 0;}
  #single.healthcare .inner .box1 .text .title { margin-bottom: 15px; font-size: 30px; font-weight: bold; }
  #single.healthcare .inner .box2 figure { width: 50%; }
  #single.healthcare .inner .box2 .text { width: 50%; padding: 30px 70px 0; }
  #single.healthcare .back { margin-bottom: 140px; }
  #single.healthcare .back .center { text-align: center; }
  
/* archive.items */
  #archive.items { }
  #archive.items .navi { display: flex; margin-bottom: 30px; }
  #archive.items .navi a { display: flex; align-items: center; padding: 10px 25px; border: 1px solid #707070; border-radius: 28px; font-size: 20px; margin-right: 30px; }
  #archive.items .navi a.blue::after { content: ''; width: 24px; height: 24px; background: url(img/icon_arrow_blue.svg) no-repeat; background-size: 100%; transform: rotate(90deg); margin-left: 20px; }
  #archive.items .navi a.yellow::after { content: ''; width: 24px; height: 24px; background: url(img/icon_arrow_yellow.svg) no-repeat; background-size: 100%; transform: rotate(90deg); margin-left: 20px; }
  #archive.items .navi label,
  #archive.items .navi button { display: none; }
  #archive.items .navi .whole_search-wrapper form { position: relative; width: calc(100% + 40px); }
  #archive.items .navi .whole_search-wrapper form input { border-radius: 28px; font-size: 15px; height: 52px; }
  #archive.items .navi .whole_search-wrapper form input::placeholder { color: #C7C7C7; }
  #archive.items h2 { display: inline-block; padding: 15px 50px; color: #fff; font-size: 40px; font-weight: bold; }
  #archive.items .navi .whole_search-wrapper form::after { content: ''; display: block; background: url(img/icon_search.svg) no-repeat; width: 27px; height: 27px; background-size: 100%; position: absolute; top: 10px; right: 20px; }
  #archive.items #pharma.block h2 { background: #1275D6; }
  #archive.items #foods.block h2 { background: #FFAD41; }
  #archive.items .block .inner { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 50px 40px; margin-bottom: 60px; }
  #archive.items #pharma.block .inner { border: 3px solid #1275D6; }
  #archive.items #foods.block .inner { border: 3px solid #FFAD41; }
  #archive.items .block .inner a { width: 48%; border-bottom: 2px dotted #707070; margin: 0 0 30px; padding: 0 0 10px; display: inline-flex; justify-content: space-between; align-items: center; }
  #archive.items .block .inner a figure { max-width: 57px; max-height: 45px; margin: 0 auto; }
  #archive.items .block .inner a figure img { max-height: 100%; }
  #archive.items .block .inner a span { width: calc(100% - 95px); }
  #archive.items .block .inner a::after { content: ''; width: 24px; height: 24px; }
  #archive.items #pharma.block .inner a::after { background: url(img/icon_arrow_blue.svg) no-repeat; background-size: 100%; }
  #archive.items #foods.block .inner a::after { background: url(img/icon_arrow_yellow.svg) no-repeat; background-size: 100%; }

  .lightbox { top: 30%!important; position: fixed!important; }

/* taxonomy_phama */
  .taxonomy_phama { }
  .taxonomy_phama .taxonomy_phama_block { display: flex; justify-content: space-between; border-bottom: 1px dotted #707070; margin-bottom: 60px; }
  .taxonomy_phama .taxonomy_phama_block .box1 { }
  .taxonomy_phama .taxonomy_phama_block .box1 h3 { }
  .taxonomy_phama .taxonomy_phama_block .box1 h3 a { display: flex; align-items: center; font-size: 25px; color: #000000; }
  .taxonomy_phama .taxonomy_phama_block .box1 h3 a::after { content: ''; display: inline-block; width: 24px; height: 24px; background: url(img/icon_arrow_blue.svg) no-repeat; background-size: 100%; margin-left: 10px; }
  .taxonomy_phama #food .taxonomy_phama_block .box1 h3 a::after { background: url(img/icon_arrow_yellow.svg) no-repeat; }
  .taxonomy_phama .taxonomy_phama_block .box1 p { font-size: 18px; color: #636363; }
  .taxonomy_phama .taxonomy_phama_block .box2 { margin: 0 0 0 auto; }
  .taxonomy_phama .taxonomy_phama_block .box2 .tag { background: #E9E9E9; padding: 5px 15px; font-size: 15px; margin-bottom: 10px;}
  .taxonomy_phama .taxonomy_phama_block .box3 { margin-left: 15px; }

  .phama_single { }
  .phama_single .swiper { margin-bottom: 20px;}
  .phama_single .single_ttl2 { font-size: 40px; margin-bottom: 30px; font-weight: bold; }
  .phama_single .top_box { margin-bottom: 30px; }
  .phama_single .top_box .top_left { width: 561px; }
  .phama_single .top_box .top_left .tag { display: flex; flex-wrap: wrap; }
  .phama_single .top_box .top_left .tag span { margin: 0 20px 20px 0; padding: 5px 11px; border: 1px solid #707070; font-size: 15px; }
  .phama_single .top_box .top_right { width: 400px; }
  .phama_single .container { margin-bottom: 30px; }
  .phama_single .capacity_table { width: 100%; }
  .phama_single .capacity_table th { background: #EEEEEE; padding: 10px 0; text-align: center ; font-size: 15px; border: 1px solid #707070; width: 293px; }
  .phama_single .capacity_table td { padding: 10px 0;font-size: 15px; text-align: center; border: 1px solid #707070; }
  .phama_single .temp_btn { justify-content: flex-start; margin-bottom: 100px; }
  .phama_single .temp_btn .bnr { border: 1px solid #606060; padding: 10px 15px; margin: 0 20px 0 0; min-width: 235px; text-align: center; }
  .phama_single .dosage { margin-bottom: 100px; }
  .phama_single .dosage .flex { justify-content: flex-start; margin-bottom: 20px; }
  .phama_single .dosage .flex .bnr { border: 1px solid #606060; padding: 10px 15px; margin: 0 20px 0 0; min-width: 235px; text-align: center; }
  .phama_single .careful { margin-bottom: 100px; }
  .phama_single .ingredients { }
  .phama_single .ingredients table { margin-bottom: 25px; }
  .phama_single .ingredients table th { background: #EEEEEE; padding: 10px 0; text-align: center ; font-size: 20px; border: 1px solid #707070; width: 50%; font-weight: 500; }
  .phama_single .ingredients table td { font-size: 20px; text-align: center; border: 1px solid #707070; vertical-align: middle; }
  .phama_single .underline { margin-bottom: 30px; border-bottom: 2px solid #1275D6; font-size: 25px; font-weight: 500; color: #000000; }
  .phama_single .atogaki { padding: 80px 0 70px; text-align: center; }
  .phama_single .center { margin-bottom: 200px; text-align: center; }

  .slider-thumbnail { width: 80%; }
  .slider-thumbnail img { object-fit: cover; max-height: 72px; }

  .foods_single { }
  .foods_single .swiper { margin-bottom: 20px;}
  .foods_single .single_ttl2 { font-size: 40px; margin-bottom: 30px; font-weight: bold; }
  .foods_single .top_box { margin-bottom: 30px; }
  .foods_single .top_box .top_left { width: 561px; }
  .foods_single .top_box .top_left .tag { display: flex; flex-wrap: wrap; }
  .foods_single .top_box .top_left .tag span { margin: 0 20px 20px 0; padding: 5px 11px; border: 1px solid #707070; font-size: 15px; }
  .foods_single .top_box .top_right { width: 400px; }
  .foods_single .container { margin-bottom: 30px; }
  .foods_single .capacity_table {  }
  .foods_single .capacity_table th { background: #EEEEEE; padding: 10px 0; text-align: center ; font-size: 15px; border: 1px solid #707070; width: 293px; }
  .foods_single .capacity_table td { padding: 10px 0;font-size: 15px; text-align: center; border: 1px solid #707070; vertical-align: middle; }
  .foods_single .temp_btn { justify-content: flex-start; margin-bottom: 100px; }
  .foods_single .temp_btn .bnr { border: 1px solid #606060; padding: 10px 15px; margin: 0 20px 0 0; min-width: 235px; text-align: center; }
  .foods_single .dosage { margin-bottom: 50px; }
  .foods_single .dosage p { font-size: 20px; margin-bottom: 50px; }
  .foods_single .careful { margin-bottom: 100px; }
  .foods_single .ingredients { }
  .foods_single .ingredients table { margin-bottom: 25px; }
  .foods_single .ingredients table th { background: #EEEEEE; padding: 10px 0; text-align: center ; font-size: 20px; border: 1px solid #707070; width: 50%; font-weight: 500; }
  .foods_single .ingredients table td { font-size: 20px; text-align: center; border: 1px solid #707070; }
  .foods_single .underline { margin-bottom: 30px; border-bottom: 2px solid #FFAD41; font-size: 25px; font-weight: 500; color: #000000; }
  .foods_single .underline_ttl { border-color: #FFAD41;}
  .foods_single .atogaki { padding: 80px 0 70px; text-align: center; }
  .foods_single .center { margin-bottom: 200px; text-align: center; }
  .foods_single .top_left dl { display: flex; align-items: center; margin-bottom: 10px; }
  .foods_single .top_left dl dt { border: 1px solid #FFAD41; padding: 10px 10px; width: 150px; text-align: center; }
  .foods_single .top_left dl dd { margin-left: 17px; }
  .foods_single .top_box .top_left p { margin-bottom: 25px;}
  .slick-track .swiper-slide { /*max-height: 260px; max-width: 400px;*/  overflow: hidden; }
  .slick-track .slide { max-width: 150%; }
  .slick-track .slide img { max-height: 260px; width: 100%; margin: 0 auto; object-fit: cover; aspect-ratio: 71 / 46; }
  .slick-track .slide-thumb { padding: 0 10px; }
  .slick-track .slide-thumb img { aspect-ratio: 71 / 46; object-fit: cover; }
  .slick-box .slick-dots li button:before { font-size: 20px; line-height: 15px; }

  .underline_ttl { border-bottom: 3px solid #1275D6; display: flex; align-items: center; margin-bottom: 70px; }
  .underline_ttl .tag_pharma { background: #1275D6; color: #fff; padding: 15px 22px; font-weight: bold; font-size: 20px; }
  .underline_ttl .term_title { margin-left: 20px; font-size: 35px; }
  .underline_ttl figure { margin-left: 20px; }

  #food .underline_ttl { border-bottom: 3px solid #FFAD41; display: flex; align-items: center; margin-bottom: 70px; }
  .underline_ttl .tag_food { background: #FFAD41; color: #fff; padding: 15px 22px; font-weight: bold; font-size: 20px; }

  .search { margin-bottom: 100px; }
  .search-title { border-bottom: 1px dashed #707070; padding-bottom: 20px; }
  .search-title span { font-size: 35px; display: flex; justify-content: center; align-items: center; }
  .search-title span::after { content: ''; display: block; background: url(img/icon_search.svg) no-repeat; width: 27px; height: 27px; background-size: 100%; margin-left: 10px; }
  .search .block { border-bottom: 1px dashed #707070; padding: 30px 20px; }
  .search .block h3 a { display: flex; align-items: center; font-size: 25px; }
  .search .block h3 a::after { content: ''; width: 24px; height: 24px; background: url(img/icon_arrow_red.svg) no-repeat; background-size: 100%; margin-left: 10px; }
  .search-noentry { margin: 30px 0 0; text-align: center; }




  /*--------------------------------------------------
  お問い合わせ
  --------------------------------------------------*/
  #page #contact .cover { margin: 50px auto 0px; }

#page #contact #faq { }
#page #contact #faq .block { border: 1px solid #707070; border-bottom: 0; margin-bottom: 65px; }
#page #contact #faq .block h3 { background: #03937C; color: #fff; padding: 15px 25px; font-family: "Noto Sans JP"; font-size: 20px; }

/* アコーディオン　見出し部分 */
details > summary {
  cursor: pointer;
  padding: 25px 25px 25px 45px;
  background-color: #F4F8F6;
  color: #03937C;
  font-size: 18px;
  border-bottom: 1px solid #707070;
}
details > summary::marker { content: none; }
details > summary::before { content: 'Q'; margin-left: -1.5em; margin-right: 1em; }

/* アコーディオン　見出し部分　オープン時 */
details[open] > summary { }

/* アコーディオン　内容部分 */
details > div {
  padding: 25px 25px 25px 45px;
  background-color: white;
}
details > div::before { content: 'A'; color: #FE3231; margin-left: -1.5em; margin-right: 1em; }
details > div p { display: inline; }

/* アコーディオン　内容部分　オープン時 */
details[open] > div { border-bottom: 1px solid #707070; }
details[open] > div span { color: #FE3231; }

/* アコーディオン　見出し部分　プラス・マイナスのマーク */
details {
  position: relative;
}
details > summary::after {
  position: absolute;
  content: '＋';
  top: 23px;
  right: 10px;
}
details[open] > summary::after {
  content: '−';
  top: 23px;
  right: 14px;
}

/* アコーディオン　Safariの▲マークを消す */
details > summary::-webkit-details-marker {
  display: none;
}

/* アコーディオン間のスペース */
details + details { }


#page #contact form .inner { background: #F4F8F6; padding: 40px 40px; }
#page #contact form .inner dl { display: flex; max-width: 860px; margin: 0 auto 10px; align-items: center; }
#page #contact form .inner dl:last-of-type { margin-bottom: 30px; }
#page #contact form .inner dl dt { width: 160px; position: relative; display: inline-flex; justify-content: center; }
#page #contact form .inner dl dt span { font-size: 15px; text-align: center; }
#page #contact form .inner dl dt .hissu { position: absolute; left: -5em; font-size: 10px; padding: 2px 9px; background: #FE3231; color: #fff; }
#page #contact form .inner dl dd { width: 600px; }
#page #contact form .inner dl dd.flex { justify-content: flex-start; }
#page #contact form .inner dl dd.named input { max-width: 170px; }
#page #contact form .inner dl dd.named em { width: 3em; text-align: center; }
#page #contact form .inner dl dd textarea { height: 240px; width: 100%; }
#page #contact form .accpt { text-align: center; font-size: 15px; margin-top: 30px; }
#page #contact .privacy { font-size: 15px; margin-bottom: 150px;}

  
  /*ie firefoxでのselect矢印*/
  #contact_1 textarea { padding: 14px 14px; height: 150px; line-height: 1.2; }
  select { -webkit-appearance: none; -moz-appearance: none; appearance: none; text-indent: 0.01px; text-overflow: ""; }
  select::-ms-expand { display: none; }

  /* 送信ボタン（共通） */
  input[type=submit] {
    padding: 15px 90px; margin: 3% auto 0; 
    background-color: #FE3231; color: #fff; font-size: 1.5rem; font-weight: bold; text-align: center; display: block; border: none; border-radius: 5px;
  }
  input[type=submit].back { background-color: #858585; }
  input[type=submit]:hover { cursor: pointer; opacity: 0.6; box-shadow: none; }
  input[type=submit]:active { box-shadow: none; }
  /* formの枠 */
  div.wpcf7-response-output { padding: 0; margin: 0; margin-top: 1.5%; font-size: 1.4rem; }
  /* メール送信完了ボックス */
  div.wpcf7-mail-sent-ok {
    padding: 2%; border: 2px solid #17a1c1; background-color: #F5F5F5; text-align: center;
    color: #666; font-size: 13px; font-size: 1.3rem; border-radius: 6px; color: #17a1c1;
  }
  /* 警告文のボックス */
  div.wpcf7-validation-errors {
    padding: 2%; border: 2px solid #666; background-color: #F5F5F5; text-align: center;
    color: #666; font-size: 13px; font-size: 1.3rem; border-radius: 6px;
  }
  /* エラーメッセージのカラー */
  span.wpcf7-not-valid-tip { color: #b50000; font-size: 13px; font-size: 1.3rem; }
  /* エラー箇所の背景色 */
  .wpcf7 .wpcf7-not-valid { background-color: #DDD; color: #666; }



  /*--------------------------------------------------
  404 Not Found
  --------------------------------------------------*/
  #notfound { margin-top: 50px; }
  #notfound h1 { text-align: center; color: #a08b77; font-size: 80px; font-size: 8.0rem; }
  #notfound .txt { margin: 0 auto; width: 100%; }
  #notfound ul { padding: 2%; margin: 1.5% auto; width: 100%; background-color: #f5f5f5; }
  #notfound ul li { list-style-type: disc; margin-left: 2%; }
  .back404 { padding: 50px 0; margin: 0 auto 0px; width: 100%; }
  .back404 .btn { margin: 0 auto; width: 50%; height: 60px; line-height: 60px; text-align: center; font-size: 22px; font-size: 2.2rem; border-radius: 10px; }
  .back404 .btn a { width: 100%; height: 100%; display: block; background-color: #fff; color: #25764d; border-radius: 10px; border: 1px solid #25764d; }
  .back404 .btn a:hover { background-color: #25764d; color: #fff; }



  /*--------------------------------------------------
  PDF
  --------------------------------------------------*/
  #sidenav-container { display: none; }



/* モーダル */
/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}

/*確認を促すモーダル：タイトルの色を変更したい場合*/
#modaal-title{
	font-size:1.2rem;
	text-align: center;
	margin: 0 0 20px 0;
}

/*動画表示のモーダル：余白を変更したい場合*/
.modaal-video .modaal-inner-wrapper{
	padding:0;
}






/*------------------------------------------------------------------------
                                < 1804
------------------------------------------------------------------------*/

@media screen and (max-width: 1804px) {

  

  
  
}
  




/*------------------------------------------------------------------------
                                < 1400
------------------------------------------------------------------------*/

@media screen and (max-width: 1400px) {

  .wrap { padding: 0 20px; }
  #page > div > .wrap { padding: 0; }


}
  
  
  
  

  
  
  /*------------------------------------------------------------------------
                                < 1200
------------------------------------------------------------------------*/

@media screen and (max-width: 1200px) {

  #page #kaitai ul li { width: 48%; }
  #page #works ul li { width: 32%; }
  
}
  
  
  
  
  /*------------------------------------------------------------------------
                                < 1100
------------------------------------------------------------------------*/

@media screen and (max-width: 1100px) {

  header .header_wrap { flex-wrap: wrap; }
  .drawer--left .drawer-nav { width: 100%; position: relative; }
  

}




  /*------------------------------------------------------------------------
                                < 1060
------------------------------------------------------------------------*/

@media screen and (max-width: 1060px) {


  

}




/*------------------------------------------------------------------------
                                < 950
------------------------------------------------------------------------*/

@media screen and (max-width: 950px) {


  

}




/*------------------------------------------------------------------------
                                < 800
------------------------------------------------------------------------*/

@media screen and (max-width: 800px) {




}




/*------------------------------------------------------------------------
                                < 780
------------------------------------------------------------------------*/

@media screen and (max-width: 780px) {

  /*--------------------------------------------------
  共通
  --------------------------------------------------*/
  /* ドロワーの装飾 */
  header { z-index: 101; background: none; }
  header .flex { flex-wrap: wrap; padding: 0 20px; }
  header .flex .header_logo { width: 100%; padding: 0 15% 30px; }
  header .flex .header_online { margin: 0 auto; width: 46%; }
  header .flex .header_recruit { margin: 0; width: 46%; }

  nav ul { display: block; }
  nav ul li { }
  header nav ul { display: block; }
  nav ul li a { width: 100%; padding: 15px 1em; color: #1A1311!important; border-bottom: 1px solid #ddd; font-size: 1.6rem; }
  nav ul li.contact a { border-bottom: none; display: flex; align-items: center; justify-content: center; }
  header nav ul .contact i { margin: 0 10px; }
  .drawer--left .drawer-nav { padding: 0px; overflow: hidden; position: fixed!important; background: #fff; width: 16.25rem; left: -16.25rem; }
  .drawer-open .drawer-nav { width: 80%; }
 /* imgでボタンを使う場合 */
 .drawer--left .drawer-hamburger { display: block!important; top: 3rem; right: 2rem; left: auto!important; background: #808080!important; padding: 1px 1px 1px 1px; border-radius: 8px; width: 50px; position: fixed; }
 .drawer-hamburger-icon:before, .drawer-hamburger-icon:after { display: none; }
.drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after { height: auto!important; background: none!important; }
.drawer-hamburger-icon { margin: 0!important;}

  /* ページ上部の開閉メニューを非表示 */
  .drawer-menu { flex-wrap: wrap; display: block; }
  header nav ul li { width: 100%; }
  .drawer-menu > li { padding: 0; border-right: none; width: 100%; }
  .drawer-menu > li:first-of-type { border-left: none; }
  header nav ul li:last-child { border-right: none; }
  header nav ul li a { display: block; }



 /*ACCORDION*/
  nav.drawer-nav ul.drawer-menu li ul li { border-bottom: 1px solid #EFEFEF; padding-bottom: 0; }
  nav.drawer-nav ul.drawer-menu li ul li:last-of-type { border-bottom: none; }
  #acMenu .toggle { display:block; width:100%; height:auto; cursor:pointer; }
  #acMenu ul { width:100%; height:auto; display:none; border-top: 1px solid #EFEFEF; }
  #acMenu .maru::after {
    border-top: none;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  nav.drawer-nav ul.drawer-menu li a.toggle { position: relative; }
  nav.drawer-nav ul.drawer-menu li a.toggle::before,
  nav.drawer-nav ul.drawer-menu li a.toggle::after { position: absolute; top: 0; bottom: 0; right: 0; margin: auto; content: ""; vertical-align: middle; }
  nav.drawer-nav ul.drawer-menu li a.toggle::before { right: 15px; width: 4px; height: 4px; border-top: 1px solid #231f20; border-right: 1px solid #231f20; -webkit-transform: rotate(135deg); transform: rotate(135deg); }
  nav.drawer-nav ul.drawer-menu li a span {  }
  nav.drawer-nav ul.drawer-menu li a:hover { color: #fff!important; background: #004EA2; }

  .alt { text-align: center; color: #192e66; font-weight: bold; }
  .alt::after { content: attr(data-label); font-size: 2rem; border-bottom: 2px solid #192e66; padding-bottom: 10px; }
  .alt img { display: none; }

  input[type=submit] { width: 80%; padding: 20px 40px; }
  #notfound h1 { font-size: 40px; font-size: 4rem; line-height: 1.2; margin-bottom: 5%; }
  #notfound ul li { list-style-type :none }
  .back404 { padding: 50px 3%; }
  .back404 .btn { width: 100%; height: 50px; line-height: 50px; }
  .open a.toggle::before { -webkit-transform: rotate(90deg)!important; transform: rotate(-45deg)!important; }

  header .header_wrap { justify-content: space-between; }

  .w50 { width: 100%!important; }

 
  .pagetop { display: none!important; }
  footer {  }
  footer .footer_wrap { flex-wrap: wrap; padding: 30px 20px; }
  footer .footer_wrap .company {  }
  footer .footer_wrap .add_block .sitemap { display: none; }
  
  header .header_wrap { justify-content: space-around; }
  header .header_logo { width: 70vw; margin: 10px 16vw 10px 0; }
  header .header_logo a { width: 100%; }
  header .linebnr { width: 30%; }


  /*--------------------------------------------------
  top
  --------------------------------------------------*/
  #top #about { padding: 30px 0;}
  #top h2.headline { margin-bottom: 20px; }
  #top h2.headline span { font-size: 25px; padding: 0; }
  #top #entrance .wellcome { height: auto; padding-bottom: 70px; background-size: 200%; }
  #top #entrance .wellcome .wrap { background: #fff; }
  #top h2.focusedline span { font-size: 32px; }
  #top h2.focusedline { padding-top: 26px; }
  #top #entrance .products h3 { font-size: 20px; }
  #top #information dl { flex-wrap: wrap; font-size: 18px; }
  #top #information dl dt { }
  #top #information dl dd { width: 100%; }
  #top #healthcare { margin-bottom: 70px; }
  #top #healthcare .inner { flex-wrap: wrap; }
  #top #healthcare .inner .box { width: 100%; margin: 0 0 20px; }
  #top #about { margin-bottom: 50px; }
  #top #about .headline2 { font-size: 4.8vw; }
  #top #about .nayami { width: 100%; }
  #top #about .nayamilist li { font-size: 16px; }
  #top #about .omakase { font-size: 9.6vw;}
  #top #about .omakase_area { flex-wrap: wrap; }
  #top #about .omakase_area .block { width: 100%; padding: 20px 15px; margin-bottom: 20px; }
  #top #about .omakase_area .block p { padding-inline: 0 0; }
  #top #about .center { flex-wrap: wrap; }
  #top #about .center .btn { width: 100%; margin-bottom: 20px; }
  #top #about .inner .box { width: 100%; order: 2; }
  #top #about .inner figure { width: 100%; order: 1; margin: 0 0 30px; }
  #top #about .inner .box p { margin-bottom: 30px; }
  #top #about .inner .box a { width: 100%; }
  #top #business .block .wrap { flex-wrap: wrap; }
  #top #business .block .box { width: 100%; order: 2;}
  #top #business .block figure { width: 100%; margin: 0 auto 20px; order: 1;}
  #top #business .production .wrap { flex-wrap: wrap; }
  #top #business .production .box { width: 100%; padding: 0; order: 2;}
  #top #business .production figure { position: static; width: 100%; order: 1; margin: 0 auto 20px; }

  a.btn { padding: 22px 25px;}

  #entry { padding: 50px 0 50px; }

  /*--------------------------------------------------
  page
  --------------------------------------------------*/

  #page #about .cover { width: 90%; }
  .cover { width: 90%; margin: 0px auto 20px; }
  .cover h1 { font-size: 25px;}
  
  #page .headline { font-size: 25px; }
  #page .lead { font-size: 18px; }
  #page #about .lead { text-align: left; font-size: 18px; line-height: 1.6; margin-bottom: 30px; }
  #page #about .lead br { display: none; }
  #page #about .cover { background-position: center; }
  #page #about .basic { margin-bottom: 40px; }
  #page #about .basic .star { width: 100%; margin: 0px; }
  #page #about .basic .block { position: static; }
  #page #about .basic .basic_3 { transform: translate(0%, 0%);}
  #page #about .message_block { padding: 0 20px; flex-wrap: wrap; }
  #page #about .message_block figure { width: 100%; order: 1; margin-bottom: 20px; }
  #page #about .message_block .box { width: 100%; order: 2; }
  #page #about .message_block figure h4 { font-size: 7vw; }
  #page #about .company_box { flex-wrap: wrap; }
  #page #about .company_box dt { width: 100%;}
  #page #about .company_box dd { width: 100%;}
  #page #about #works h3 { font-weight: bold; font-size: 20px; }
  #page #about .gmp dt { font-weight: bold; margin-bottom: 25px; }
  #page #about .gmp dd { margin-bottom: 30px; }

  #page #business .cover { background-position: center; }
  #page #business .block { flex-wrap: wrap; }
  #page #business .flex .box { width: 100%; order: 2; }
  #page #business .flex figure { width: 100%; order: 1; }

  #page #production .cover { background-position: center; }
  #page #production .quality { flex-wrap: wrap; }
  #page #production .quality .box { width: 100%; margin: 0 auto 50px; }
  #page #production .flow .block { flex-wrap: wrap; }
  #page #production .flow .block figure { width: 100%; }
  #page #production .tablet { flex-wrap: wrap; }
  #page #production .tablet .box { width: 100%; margin: 0 auto 50px; }

  #page #oem .cover { background-position: center; }
  #page #oem .top_block { padding: 0; flex-wrap: wrap; }
  #page #oem .top_block .box { width: 100%; }
  #page #oem .top_block figure { width: 100%; }
  #page #oem .middle_block ul { padding-left: 0; }
  #page #oem .bottom_block { flex-wrap: wrap; }
  #page .block { width: 100%; }
  #page #oem .container { overflow-x: scroll; }
  #page #oem .container table { width: 1100px; }

  #page #contact .cover { background-position: center; margin: 0px auto 20px; }
  #page #contact #entry { padding: 0 0 40px; }
  #page #contact form > div + p { padding: 0 20px; }
  #page #contact form .inner { padding: 40px 15px; }
  #page #contact form .inner dl { margin-bottom: 40px;}
  #page #contact form .inner dl dt { }
  #page #contact form .inner dl dt span { font-weight: bold; }
  #page #contact form .inner dl dt .hissu { left: 0; top: -20px; }
  #page #contact form .inner dl dd { }
  #page #contact .privacy { padding: 0 20px; margin-bottom: 80px;}

  #page #form .form_area dl { flex-wrap: wrap; }
  #page #form .form_area dl dt { padding: 0 0 0 3em; margin-bottom: 10px; }
  #page #form .form_area dl dt .box { left: 0; }
  #page #form #privacy { margin: 30px 0 50px; }
  #page #form input[type=submit] { width: 70%; padding: 20px; font-size: 1.8rem; }
  #contact_1 textarea { width: 100%; }
  #page .green .form_area .block { margin: 0; }
  #page .block { padding: 20px 15px!important; }
  #page .block.cont { margin-bottom: 50px!important; }

  #page > div > .wrap { overflow: hidden; }
  #page .page-header img { width: 200%; margin-left: -50%; }

  #page .lead { padding: 0 20px; font-size: 20px; line-height: 2.2; }
/*
  #page #flow ul li { width: 100%; }
  #page #flow ul li.ourside { position: relative; left: 0; }
  #page #flow ul li.ourside.first { top: 0; }
  #page #flow ul li.ourside.second { top: 0; }
  #page #flow ul li.ourside.third { top: 0; }
  #page #flow ul li.ourside::before { content: ''; border-left: 1px dashed #00479D; }
  #page #flow ul li.ourside .dotline { display: none; }
*/
  #page #flow .page-h1 { margin-bottom: 30px; }
  #page #flow ul li { margin-bottom: 15vw; }
  #page #flow ul li h2 { font-size: 4vw; }
  #page #flow ul li .num span { font-size: 32px; }
  #page #flow ul li .num { width: 50px; height: 50px; }
  #page #flow ul li .txt { font-size: 2vw; }
  #page #flow ul li.ourside .dotline { left: -41vw; }
  #page #flow ul li.ourside.first { top: 18vw; }
  #page #flow ul li.ourside.second { top: 64vw; }
  #page #flow ul li.ourside.third { top: 94vw; }

  #page #asbestos p { font-size: 20px; }

  #page #company #map iframe { height: 350px; }
  #page #company #map { margin-bottom: 80px; }
  

  .archive .flex { flex-wrap: wrap; }
  .archive article { width: 100%; margin-bottom: 30px; }
  .archive aside { width: 100%; }
  .archive .inner ul { padding:  25px 10px; }
  .archive .inner ul li .details-summary { flex-wrap: wrap; }
  .archive .inner ul li .cat { margin: 0 10px 0 0;}
  .archive .inner ul li .date { margin: 0; }
  .archive .inner ul li .title { padding: 10px 0 0; }
  
  #single.healthcare .title_area { margin-bottom: 50px; }
  #single.healthcare .title_area .date { padding: 0; }
  #single.healthcare .title_area h2 { padding: 0; font-size: 24px; }
  #single.healthcare .title_area .term { top: -2em; }
  #single.healthcare .inner .box1 { flex-wrap: wrap; }
  #single.healthcare .inner .box1 figure { width: 100%; order:1 ;}
  #single.healthcare .inner .box1 .text { width: 100%; order: 2; padding: 0; }
  #single.healthcare .inner .box2 { flex-wrap: wrap; }
  #single.healthcare .inner .box2 figure { width: 100%; }
  #single.healthcare .inner .box2 .text { width: 100%; padding: 0; }

  #archive.healthcare .swiper h2 { font-size: 26px; margin-bottom: 20px; padding: 20px 0 0 0; }
  #archive.healthcare .p-news__items li { width: 100%; }
  #archive.healthcare .swiper_bg { padding: 30px 6vw; }
  #archive.healthcare .swiper { background: url(img/healthcare_pickup_wrap_sp.png) no-repeat; background-size: 100%; height: 111vw; padding: 0 20px; }
  #archive.healthcare .swiper .swiper-wrapper { height: 88vw; }
  .swiper-button-next, .swiper-button-prev { zoom: 0.8; }
  .swiper-pagination { bottom: var(--swiper-pagination-bottom,22px)!important; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide { padding: 5%; }
  #archive.healthcare .swiper .swiper-wrapper .swiper-slide .title { font-size: 16px; height: 3em; overflow: hidden; }
  
  #archive.items .navi { flex-wrap: wrap; justify-content: space-between;}
  #archive.items .navi a { font-size: 16px; margin: 0 0 20px 0; width: 49%; padding: 5px 15px; }
  .whole_search-wrapper { width: 90%;}
  #archive.items h2 { font-size: 27px; display: block; }
  #archive.items .block .inner a { width: 100%; }
  .underline_ttl { margin-bottom: 30px; }
  .underline_ttl .term_title { font-size: 18px; }
  .underline_ttl .tag_pharma { font-size: 16px; }
  .phama_single .single_ttl2 { font-size: 26px; }
  .taxonomy_phama .taxonomy_phama_block { flex-wrap: wrap; margin-bottom: 30px; }
  .taxonomy_phama .taxonomy_phama_block .box1 { width: 100%; }
  .taxonomy_phama .taxonomy_phama_block .box2 { margin: 0; }
  .taxonomy_phama .taxonomy_phama_block .box1 h3 a { font-size: 21px; }
  .taxonomy_phama .taxonomy_phama_block .box1 p { font-size: 14px; }
  
  .phama_single .capacity_table { width: 200%; }
  .phama_single .capacity_table th { font-size: 13px; }
  
  .phama_single .swiper { }
  .phama_single .top_box { flex-wrap: wrap;}
  .phama_single .top_box .top_left { width: 100%; order: 2; }
  .phama_single .top_box .top_right { width: 100%; order: 1; margin: 0 0 20px; }
  .phama_single .temp_btn { flex-wrap: wrap; }
  .phama_single .temp_btn .bnr { margin: 0 20px 20px 0; text-align: left; }
  .phama_single .temp_btn { margin-bottom: 50px; }
  .phama_single .temp_btn .pdf { display: none; }
  .phama_single .dosage { margin-bottom: 50px; }
  .phama_single .dosage .pdf { display: none; }
  .phama_single .careful { margin-bottom: 50px; }
  .phama_single .ingredients table td { font-size: 16px; padding: 10px 5px;}
  .phama_single .atogaki { font-weight: bold; padding: 40px 0 30px;}
  .slick-track img { }
  .foods_single .top_box { flex-wrap: wrap; }
  .foods_single .top_box .top_left { width: 100%; order: 2; }
  .foods_single .top_box .top_right { width: 100%; order: 1; margin-bottom: 20px; }
  .foods_single .temp_btn { flex-wrap: wrap; }
  .foods_single .temp_btn .bnr { margin: 0 20px 20px 0; }
  .foods_single .ingredients table td { font-size: 16px; padding: 20px 5px; }
  .foods_single .temp_btn .pdf { display: none; }
  .foods_single .container { overflow-x: scroll;}
  .foods_single .capacity_table { width: 200%; }



  
  
}






/*------------------------------------------------------------------------
                                < 640
------------------------------------------------------------------------*/

@media screen and (max-width: 640px) {

  footer .footer_contact { padding: 30px 0 0; }
  footer .footer_contact h2 { margin-bottom: 25px; font-size: 35px; }
  footer .footer_contact .wrap { padding: 35px 20px 50px;}
  footer .footer_contact .wrap .left { width: 100%; margin: 0 0 30px; }
  footer .footer_contact .wrap .right { width: 90%; }

  #top h2.focusedline span { font-size: 28px; width: 100%; text-align: left; }
  #top h2.focusedline span em { display: block; text-align: right; }

  #top #demolition .inner .box a.btn { padding: 13px 15px 15px 25px; font-size: 4.2vw; }
  #top #works .way a { font-size: 5vw; }
  #page #kaitai ul li .img { width: 100%; height: auto; }
  #page #works ul li { width: 48%; }

  #page #company #about { margin-bottom: 50px; }
  #page #company #about dl { flex-wrap: wrap; }
  #page #company #about dl dt { width: 100%; padding: 10px 10px; }
  #page #company #about dl dd { width: 100%; padding: 10px 10px; font-size: 20px; }

  .search .block h3 a { font-size: 18px; }

  #entry a.btn { padding: 22px 25px; font-size: 16px; }


  
}






/*------------------------------------------------------------------------
                                < 600
------------------------------------------------------------------------*/

@media screen and (max-width: 600px) {

  #top #works .way a::after { margin: 0 10px 0 5px; }

/*  #page #kaitai ul li { width: 100%; }
  #page #kaitai ul li { width: 100%; }
  #page #kaitai ul li .img { width: 60%; }*/
  #page #kaitai ul li.contact .img { margin-bottom: 20vw; }
  header .header_logo span { font-size: 3.5vw; }

  
}






/*------------------------------------------------------------------------
                                < 480
------------------------------------------------------------------------*/

@media screen and (max-width: 480px) {

  .page-h1 { flex-wrap: wrap; margin-left: 0!important; }
  .page-h1 i { margin: 0; }
  .page-h1 h1 { width: 100%; }
/*
  #page #flow ul li { margin-bottom: 50px;}
  #page #flow ul li::before { height: calc(100% + 50px); }
  #page #flow ul li h2 { font-size: 25px; }
  #page #flow ul li .txt { font-size: 18px; }
*/
  #page #flow::before { width: 282px; height: 160px; transform: rotate(90deg); left: -90px; top: 40px; z-index: 0; }
  #page #flow::after { /*width: 282px; height: 160px; transform: rotate(270deg); right: -90px; bottom: 40px; z-index: 0;*/ content: none; }
  footer .footer_contact .wrap .left .yel { font-size: 7.3vw; }
  footer .footer_wrap .add_block .tel_area { flex-wrap: wrap; justify-content: center; }
  footer .footer_wrap .add_block .tel_area span {  }

  #page #oem .oem_ttl { font-size: 7.4vw;}
  
  
}




/*------------------------------------------------------------------------
                                < 370
------------------------------------------------------------------------*/

@media screen and (max-width: 370px) {


  
  
    
  }