@charset "UTF-8";
/* CSS Document */

/*
Theme Name: GlobalWorksA
Author: ohya
Description: GlobalWorksA｜オリジナルテーマ
Version: 1.0
*/

/* HTML5 ? Boilerplate
 * ==== normalize ==========================================================
 */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 13px; line-height: 1.231; }
body, button, input, select, textarea { font-family: sans-serif; color: #222; }

a { color: #222; text-decoration: none; }
a:visited { color: #222; text-decoration: none;  }
a:hover { color: #30476c; text-decoration: none;  }
a:focus { outline: thin dotted; text-decoration: none;  }
a:hover, a:active { outline: 0; text-decoration: none;  }

a:link,
a:hover {
  -webkit-transition: 0.1s ease-in-out;
  -moz-transition: 0.1s ease-in-out;
  -o-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: separate; border-spacing: 0; }
td { vertical-align: top; }

img { -ms-interpolation-mode: bicubic; }

/* ==== 追記 ==========================================================*/
html {
  font-size: 9px; /* sp基準値 */
  -webkit-text-size-adjust: 100%;
}
 
@media (min-width: 480px) {
html {
    font-size: 10px; /* pc基準値 */
  }
}

body{ 
  font-size: 1.6rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "Yu Gothic", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-feature-settings: "pkna";
  line-height: 2;
  background: #fff;
  letter-spacing: 0.05rem;
}

/* ===================
    PC・スマホ共通、サイト別リセット
  =================== */

h2,h3,h4 {margin: 0; padding: 0; vertical-align:baseline;}
p {margin: 0; padding: 0;}
ul, li { margin: 0; padding: 0; list-style: none;}
dl, dt, dd { margin: 0; padding: 0;}
th { font-weight: normal; }
a:hover { opacity: 0.7; }

/* スマホ&PC各セクション */

img {
  user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  -webkit-user-select:none;
  -khtml-user-select:none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -webkit-touch-callout: none;
}

/* ==== non-semantic helper classes ======================================== */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }

/* for modern brouser */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}

/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}

/*font-style*/
.en { font-family: 'Teko', sans-serif; }
.noto { font-family: 'Noto Sans JP', sans-serif; }
.sawarabi {font-family: "Sawarabi Gothic"; }
.mplus { font-family: "M PLUS 1p"; font-weight: 100; }
.ropa { font-family: 'Ropa Sans', sans-serif; font-weight: 400; font-style: normal; }
.kufam { font-family: 'Kufam', sans-serif; }

/*font-awesome*/
.fa-solid { margin-right: 8px; color: #3e454d; }

/*svg*/
.feather-chevron-right {
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 8px;
  padding-right: 5px;
}
.feather-chevron-left {
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 8px;
  padding-right: 5px;
}

/*text-style*/
.t-big { font-weight: bold; font-size: 110%; }
.t-red { color: #ff0000;}
h2.common { clear: both; border-left: 5px solid #222; border-right: 5px solid #222; font-size: 140%; margin-bottom: 30px; background: #f6f6f6; padding: 5px 10px; }
h2.borderReed  { border-bottom: solid 3px #7d9e57; position: relative; text-align: center; line-height: 1.5; margin-bottom: 25px; clear: both;}
h2.borderReed:after { content: ""; display: block; line-height: 0; overflow: hidden; position: absolute; left: 0; bottom: -3px; width: 50%; border-bottom: 3px solid #d3dcc8; }


@media only screen and (min-width: 1025px) {
  
  .spView {
    display: none;
  }
  
  .pcView {
    display: block;
  }
  
  .sp_br {
    display: none;
  }

  header {
    width: 100%;
    min-width: 1440px;
    height: 100px;
    background-image: url("./img/common/header_bg.png");
    background-size: cover;
    position: fixed;
    top: 0;
    z-index: 9999;
    box-sizing: border-box;
    list-style: none;
  }

  .headerInner {
    max-width: 1440px;
    height: 100px;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
  }

  #logo {
    width: 18%;
    float: left;
    margin-top: 20px;
    margin-right: 0;
  }

  #logo img {
    width: 80%;
    margin: 0 7%;
  }

  .gMenu {
    width: 82%;
    height: 100px;
    float: right;
    margin: 0 auto 0 0;
    box-sizing:border-box;
  }

  .gMenu ul {
    width: 98%;
    height: 100%;
    padding-left: 0;
  }

  .gMenu ul li {
    float: left;
    width: 10%;
    height: 86px;
    padding: 30px 2% 0;
    margin-top: 14px;
    box-sizing: border-box;
    list-style: none;
  }

  .gMenu ul li img {
    width: 100%;
    margin-top: 10px;
  }

  .gMenu ul li:nth-child(5) {
    position: relative;
    background: url("./img/common/headerList_bg.png") center bottom no-repeat;
    background-size: 105%;
  }

  .secondMenu {
    width: 100%;
    background-color: #fff;
  }

  .secondInner {
    width: 100%;
    max-width: 1025px;
    height: 70px;
    margin: 0 auto;
  }

  .secondInner ul {
    width: 100%;
    margin: 0 auto;
    padding-left: 0;
  }

  .secondInner ul li {
    float: left;
    width: 120px;
    height: 94px;
    font-size: 8px;
    line-height: 1.2;
    text-align: center;
    list-style: none;
    margin-top: 5px;
  }

  .secondInner ul li a{
    color: #111;
    text-decoration: none;
  }

  .secondInner ul li span{
    display:block;
    font-size: 1.0rem;
  }

  .secondInner ul li span:before {
    width: 20px;
    height: 20px;
    margin: 10px auto;
  }

  .secondInner ul li:nth-child(1) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon08.png") no-repeat center;
    background-size: cover;
  }

  .secondInner ul li:nth-child(2) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon06.png") no-repeat center;
    background-size: cover;
  }

  .secondInner ul li:nth-child(3) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon09.png") no-repeat center;
    background-size: cover;
  }

  .secondInner ul li:nth-child(4) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon07.png") no-repeat center;
    background-size: cover;
  }
  
  /*.secondInner ul li:nth-child(5) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon07.png") no-repeat center;
    background-size: cover;
  }*/
  
  .secondInner ul li:last-child {
    width: 200px;
    height: 100%;
    margin: 20px 30px;
    text-align: center;
    float: right;
  }

  .hTel a{
    font-size: 300%;
    line-height: 1.5;
  }

  .sideTel {
    display: none;
  }
  
  
/* ====== 下層ページタイトル ===== */

  #commonTitle {
    width: 100%;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding-top: 200px;
  }

  .greenTitle {
    background:linear-gradient(#007991, #78ffd6); 
  }

  .blueTitle {
    background: url("./img/title/title_bg.jpg") center center no-repeat;
    background-size: cover;
  }

  #commonTitle img {
    width: 100%;
    max-width: 1200px;
    height: auto;
  }

  #commonTitle #titleContents {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
  }

  #commonTitle #bc {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 70%;
    background: #fff;
    padding: 10px 20px;
    width: 40%;
    text-align: left;
  }
  
/* ====== TOP mainvisual ===== */
  
  .main_pcView {
    margin-top: 85px;
    position: relative;
  }
  
  .main_pcView .main_btn01 {
    position: absolute;
    bottom: 50px;
    left: 200px;
    width: 170px;
  }
  
  .main_pcView .main_btn02 {
    position: absolute;
    bottom: 50px;
    right: 200px;
    width: 170px;
  }
  
  .main_spView {
    display: none;
  }
  
  
/* ====== TOP topics list area ===== */

  h2.topicsReed {
    width: 100%;
    max-width: 1200px;
    overflow: hidden;
    margin: 0 auto 30px;
  }

  h2.topicsReed span {
    display: block;
    width: 250px;
    margin: 0 auto;
    overflow: hidden;
    background: #ccc;
    color: #fff;
    padding: 10px;
    font-size: 120%;
    text-align: center;
    border-radius: 0  0 15px 15px;
    line-height: 1;
  }

  .topicslistArea {
    width: 100%;
    max-width: 1200px;
    overflow: hidden;
    margin: 0 auto 40px;
  }
  
  .topicslistArea dl {
    width: 42%;
    height: 110px;
    margin: 1.5% 3%;
    float: left;
    overflow: hidden;
    background: url("./img/common/topics_arr.png") right bottom no-repeat;
    background-size: 20px;
    background-position: right;
  }

  .topicslistArea dl dt {
    width: 20%;
    float: left;
    overflow: hidden;
  }

  .topicslistArea dl dt img {
    width: 100%;
    height: auto;
    padding-top: 20px;
  }

  .topicslistArea dl dd {
    padding-right: 20px;
    box-sizing: border-box;
    padding-top: 10px;
    width: 75%;
    float: right;
  }

  .topicslistArea dl dd p {
    line-height: 1.3;
    margin-right: 10px;
  }

  .topicslistArea dl dd p.date {
    font-size: 80%;
    color: #222;
    margin: 6px 0;
    display: inline-block;
  }

  .topicslistArea .tabBtn {
    clear: both;
    text-align: center;
    padding-top: 30px;
    margin-bottom: 50px;
  }

  .topicslistArea .tabBtn a {
    font-size: 100%;
    color: #333;
    background: #fabd00;
  }
  
  .newIcon {
    padding: 3px;
    text-align: center;
    color: #fff;
    background: #ff0000;
    margin-right: 6px;
    border-radius: 6px;
  }

  .tabBtn a {
    padding: 10px 20px;
    text-align: center;
    margin-right: 10px;
    border-radius: 30px;
    color: #3e454d;
    font-size: 80%;
    background: #fabd00;
  }
  
/* ====== AboutUs　固定ページ ===== */
  .aboutus_area {
    max-width: 1025px;
    margin: 0 auto;
    padding: 60px 40px 0;
  }

  .aboutus_area h2 {
    font-size: 3.8rem;
    line-height: 1.231;
  }
  
  .aboutus_area h3 {
    margin-bottom: 20px;
  }

  .aboutus_area img {
    width: 285px;
  }
  
  .aboutus_area p {
    text-align: justify;
  }
  
  .aboutus {
    display: flex;
    justify-content: space-between;
    padding-bottom: 70px;
    border-bottom: solid 1px #ffb343;
    margin-bottom: 50px;
  }
  
  .aboutus .about_txt {
    width: 60%;
  }
  
  .aboutus .about_txt .about_txt_title {
    font-size: 2.0rem;
    font-weight: 600;
    margin-bottom: 30px;
  }
  
  .about_txt ul li {
    background-color: #f2f2f2;
    border-top: solid 1px #666666;
    position: relative;
    padding: 10px 10px 10px 50px;
  }
  
  .about_txt span {
    font-size: 1.4rem;
  }
  
  .about_txt ul li:last-child {
    border-bottom: solid 1px #666666;
  }
  
  .about_txt ul li::before {
    content: "";
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 18px solid #f95f2f;
    display: inline-block;
    position: absolute;
    top: 14px;
    left: 12px;
    margin: 10px 5px;
  }
  
  .aboutus_shop {
    max-width: 840px;
    margin: 0 auto;
    margin-bottom: 70px;
    display: flex;
  }
  .aboutus_shop h3 {
    margin-bottom: 10px;
  }
  
  .aboutus_shop img {
    width: 425px;
    margin-right: 50px;
  }
  
/* ====== Service　固定ページ ===== */
  .service_area {
    max-width: 1025px;
    margin: 0 auto;
    padding: 60px 40px 0;
  }

  .service_area h2 {
    font-size: 3.8rem;
    line-height: 1.231;
  }
  
  .service_area h3 {
    margin-bottom: 50px;
  }
  
  .service_users .service_users_content {
    display: flex;
    justify-content: space-between;
    padding-bottom: 70px;
    margin-top: 40px;
  }
  
  .service_users .service_users_content img {
    width: 285px;
    object-fit: contain;
  }
  
  .service_area table {
    width: 60%;
    border-collapse: collapse;
  }
  
  .service_area th, .service_area td {
    border-top: solid 1px #666;
    padding: 10px;
  }
  
  .service_area th, .service_area td:last-child {
    border-bottom: solid 1px #666;
  }
  
  .service_area th {
    background-color: #ffdec8;
    text-align: center;
  }
  
  .service_area td {
    vertical-align: middle;
    background-color: #f1f1f1;
    padding-left: 30px;
  }
  
  .cap_description {
    caption-side: bottom;
    text-align: right;
    margin-top: 5px;
    font-size: 1.2rem;
  }
  
  .service_flow {
    margin-bottom: 70px;
  }
  
  .service_flow_ul {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    align-items: center;
  }
  
  .service_flow_ul li img {
    width: 150px;
  } 
  
  .service_flow_ul li:nth-child(even) img {
    width: 21px;
    padding: 15px 1px 0;
  } 
  
  .flow_desc01, .flow_desc02, .flow_desc03 {
    position: relative;
    display: inline-block;
    padding: 30px 20px 24px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 14px;
    background: #f1f1f1;
    border-radius: 24px;
    width: 193px;
    line-height: 2.3rem;
    vertical-align: top;
  }
  
  .flow_desc01 {
    margin: 1.5em 0 0 60px;
  }
  
  .flow_desc02 {
    margin: 1.5em 0 0 8px;
  }
  
  .flow_desc03 {
    margin: 1.5em 0 0 10px;
  }

  .flow_desc01:before, .flow_desc02:before, .flow_desc03:before {
    content: "";
    position: absolute;
    margin-left: -15px;
    border: 15px solid transparent;
    border-bottom: 15px solid #f1f1f1;
  }
  
  .flow_desc01:before {
    top: -22%;
    right: 15%;
  }
  
  .flow_desc02:before {
    top: -14%;
    right: 41%;
  }
  
  .flow_desc03:before {
    top: -15%;
    left: 25%;
  }

  .flow_desc01 p, .flow_desc02 p, .flow_desc03 p {
    margin: 0;
    padding: 0;
  }
  
/* ====== outsourcing　固定ページ ===== */
  .os_area {
    max-width: 1025px;
    margin: 0 auto 50px;
    padding: 60px 40px 0;
    border-bottom: solid 1px #ffb343;
  }
  
  .os_area h2 {
    font-size: 2.8rem;
    line-height: 1.231;
    margin-bottom: 80px;
  }
  
  .os_about_area h3, .os_merit_area h3, .os_flow_area h3 {
    font-size: 2.2rem;
    margin-bottom: 40px;
  }
  
  .os_area img, .os_about_area img, .os_qa_area img {
    width: 350px;
  }
  
  .os_merit_area img {
    width: 300px;
  }
  
  .outsourcing {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
  }
  
  .outsourcing .os_txt {
    width: 55%;
    text-align: justify;
  }
  
  .outsourcing .os_txt .os_txt_title {
    font-size: 2.0rem;
    font-weight: 600;
    margin-bottom: 30px;
  }
  
  .os_txt ul {
    margin: 30px 0;
  }
  
  .os_txt ul li {
    background-color: #f2f2f2;
    border-top: solid 1px #666666;
    position: relative;
    padding: 10px 10px 10px 50px;
  }
  
  .os_txt span {
    font-size: 1.4rem;
  }
  
  .os_txt ul li:last-child {
    border-bottom: solid 1px #666666;
  }
  
  .os_txt ul li::before {
    content: "";
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 18px solid #f95f2f;
    display: inline-block;
    position: absolute;
    top: 14px;
    left: 12px;
    margin: 10px 5px;
  }
  
  .os_about_area, .os_merit_area, .os_flow_area {
    max-width: 1025px;
    margin: 0 auto 50px;
    border-bottom: solid 1px #ffb343;
    padding: 0 40px;
  }
  
  .pc_oc_flow {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
  }
  
  .pc_oc_flow li img {
    width: 100%;
  }
  
  .sp_oc_flow {
    display: none;
  }
  
  .os_flow_area p span {
    background: linear-gradient(transparent 50%, #ffff7f 50%);
  }
  
  .os_qa_area {
    max-width: 1025px;
    margin: 0 auto 50px;
    padding: 0 40px;
  }
  
  .os_qa_area h2 {
    font-size: 3.8rem;
    line-height: 1.231;
  }
  
  .os_qa_area h3 {
    margin-bottom: 40px;
  }
  
  .os_qa_txt {
    width: 60%;
  }
  
  .os_qa_txt ul li {
    display: flex;
    vertical-align: top;
  }
  
  .os_qa_txt ul li p {
    padding-top: 12px;
    padding-left: 18px;
  }
  
  .os_qa_txt ul li:nth-child(odd) {
    font-weight: 600;
  }
  
  .os_qa_txt ul li:nth-child(odd):before {
    content: "Q";
    align-items: center;
    color: #fc5f2f;
    font-family: 'Kufam', sans-serif;
    font-size: 3.2rem;
  }
  
  .os_qa_txt ul li:nth-child(even):before {
    content: "A";
    align-items: center;
    color: #808080;
    font-family: 'Kufam', sans-serif;
    font-size: 3.2rem;
  }
  
  .os_qa_txt ul li:nth-child(2) {
    border-bottom: solid 1px #f95f2f;
    padding-bottom: 30px;
    margin-bottom: 20px;
  }
  
  .gwa_btn {
    margin: 50px 0;
  }
  
  .gwa_btn a {
    background-image: -webkit-linear-gradient(left, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    background-image: -o-linear-gradient(left, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    background-image: linear-gradient(to right, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 310px;
    margin: 0 0 0 auto;
    padding: 7px 15px 7px 30px;
    color: #fff;
    font-size: 1.7rem;
    font-weight: bold;
    border: solid 1px #fff;
    z-index: 0;
    transition: 0.3s ease-in-out;
  }
  
  .gwa_btn a:before {
    content: "";
    line-height: 1;
    position: absolute;
    right: 10px;
    background: #fff;
    padding: 18px;
    border-radius: 60px;
    z-index: 2;
  }
  
  .gwa_btn a:after {
    content: "";
    width: 9px;
    height: 9px;
    border-top: 3px solid #f05f2f;
    border-right: 3px solid #f05f2f;
    transform: rotate(45deg);
    position: absolute;
    right: 23px;
    top: 17px;
    z-index: 99;
    border-radius: 2px;
  }
  
/* ====== contents　※404ページ、運営会社ページ、プライバシーポリシー、お知らせ一覧ページ、お知らせ記事ページ　===== */
  #contents {
    width: 100%;
    max-width: 1200px;
    overflow: hidden;
    margin: 40px auto;
  }
  
  #contents .contentsBox {
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
  }
  
  
/* ====== お知らせ一覧ページ　archive.php　===== */
  #archiveMain {
    width: 100%;
    float: none;
    overflow: hidden;
  }

  #archiveMain dl.archiveBox {
    width: 100%;
    overflow: hidden;
    padding: 20px 0;
    border-bottom: 1px dotted #ccc;
  }

  #archiveMain dl.archiveBox dt {
    width: 20%;
    float: left;
    overflow: hidden;
  }

  #archiveMain dl.archiveBox dt img {
    width: 100%;
    height: auto;
  }

  #archiveMain dl.archiveBox dd {
    width: 78%;
    float: right;
    overflow: hidden;
  }

  ul.tabList {
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
  }

  ul.tabList li {
    line-height: 3;
    float: left;
    margin-right: 10px;
  }

  .tabBtn a {
    padding: 10px 20px;
    text-align: center;
    margin-right: 10px;
    border-radius: 30px;
    color: #fff;
    font-size: 80%;
    background: #9fbb55;
  }
  
  
/* ====== お知らせ記事ページ　single.php　===== */
  .slider-wrap {
    position: relative;
    margin: 0 auto 40px;
    width:100%;
    text-align: center;
  }
  
  .slider-img .slick-slide {
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
  }
  
  .slider-img .slick-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .thumbs_dots {
    margin: 10px 0 0;
  }
  
  .thumbs_list li {
    display: inline-block;
    width: 144px;
    height: 100px;
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.3s;
  }
  
  /*.thumbs_list li.slick-active {
    opacity: 1;
  }*/
  
  .thumbs_list li:hover {
    opacity: 0.5;
  }
  
  .slick-dotted.slick-slider {
    margin-bottom: 10px!important;
  }
  
  
  #shopLeft {
    width: 48%;
    float: left;
    overflow: hidden;
  }

  #shopRight {
    width: 48%;
    float:right;
    overflow: hidden;
  }

  #viewer {
    margin: 0 auto 40px;
    width:100%;
    text-align: center;
  }
  #viewer div {
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
    margin-bottom: 10px;
  }
  #viewer div img {
    top: 0;
    left: 0;
    position: absolute;
  }

  #viewer ul {
    width: 100%;
    display: inline-block;
    overflow: hidden;
  }

  #viewer ul li {
    width: 25%;
    float: left;
    display: inline;
  }

  #viewer .active {
    filter:alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
  }

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

  #shopRight h2 {
    margin-bottom: 40px;
  }

  article#entryBody {
    width: 100%;
    padding-bottom: 30px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 30px;
    line-height: 2.5;
  }

  article#entryBody p {
    margin-bottom: 20px;
  }

  #shopRight .prevNext {
    width: 100%;
    overflow: hidden;
  }

  #shopRight .prevNext .prev a {
    width: 48%;
    float: right;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    display: block;
    background: #f3f3f3;
  }

  #shopRight .prevNext .next a {
    width: 48%;
    float: left;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    display: block;
    background: #f3f3f3;
  }
  
/* ====== プライバシーポリシー、サンクスページ　固定ページ　===== */
  .commonContents {
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
  }

  .commonContents article {
    margin-bottom: 50px;
    padding: 0 15px;
  }
  
  .policy h3 {
    clear: both;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #ccc;
  }

/* ====== 運営会社情報　固定ページ　===== */
  .reed  {
    width: 60%;
    max-width: 700px;
    padding: 30px 0 0;
    margin: 0 auto;
    overflow: hidden;
    text-align: center;
  }

  .reed p {
    width: 100%;
    overflow: hidden;
  }

  .reed p.ropa {
    font-weight: bold;
    font-size: 250%;
    border-bottom: 1px solid #5dacac;
    line-height: 1.2;
    color: #5dacac;
    margin-bottom: 10px;
    box-sizing: border-box;
    overflow: hidden;
  }

  .reed p.noto {
    font-size: 182%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 100;
    line-height: 1.2;
    letter-spacing: 0;
  }
  
  #conceptBoxArea {
    width: 100%;
    overflow: hidden;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    height: auto;
    margin-top: 40px;
    padding-bottom: 0 !important;
  }

  #conceptBoxArea #conceptBox {
    width: 100%;
    max-width: 1200px;
    overflow: hidden;
    margin: 0 auto;
  }

  #conceptBoxArea #conceptBox .conceptPhoto {
    float: left;
    width: 48%;
    overflow: hidden;
  }

  #conceptBoxArea #conceptBox .conceptPhoto img {
    width: 100%;
    height: auto;
  }

  #conceptBoxArea #conceptBox .conceptText {
    float: right;
    width: 48%;
    overflow: hidden;
    padding: 30px 0;
  }

  #conceptBoxArea #conceptBox .conceptText img {
    width: 60%;
    display: block;
    margin: 0 auto;
  }
  
  table {
    width: 100%;
  }

  table td, table th {
    padding: 7px;
    text-align: left;
    font-weight: normal;
  }
  
  h4.ourGroup {
    background: #d3d3d3;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    padding: 7px;
    border-radius: 0 0 20px 20px;
    font-size: 180%;
    width: 350px;
  }
  
  ul.group01 {
    width: 60%;
	  margin: 0 auto 50px;
	  overflow: hidden;
  }

  ul.group01 li {
    width: 45%;
    margin: 0 27.5%;
    text-align: center;
    line-height: 1.4;
  }

  .history ul {
    width: 31%;
    float: left;
    margin-right: 3%;
    overflow: hidden;
    font-size: 80%;
  }

  .history ul:last-child {
    margin-right: 0;
  }

  .history li {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px dotted #ccc;
    line-height: 3;
  }

  .history li span {
    position: absolute;
    right: 0;
    top: 0;
    width: 26%;
    text-align: right;
  }
  
  ul.groupLogoList {
    width: 100%;
    overflow: hidden;
    margin-bottom: 80px;
    text-align: center;
    font-size: 1.4rem;
  }
  
  ul.groupLogoList li {
    display: inline-block;
    width: 16%;
    box-sizing: border-box;
    padding: 15px;
    text-align: center;
  }
  
  .phi ul {
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
  }

  .phi ul li {
    overflow: hidden;
    text-align: center;
    font-weight: bold;
	  width: 30%;
	  float: left;
	  margin-right: 5%;
  }

  .phi li:last-child {
    margin-right: 0;
  }
  
  .phi ul li.pink p {
    border-top: 1px solid #ff6a9f;
    padding-top: 20px;
  }

  .phi ul li.yellow p {
    border-top: 1px solid #ffa800;
    padding-top: 20px;
  }

  .phi ul li.green p {
    border-top: 1px solid #bfd02d;
    padding-top: 20px;
  }

  .phi ul li h4 {
    width: 50%;
    text-align: center;
    padding: 5px 15px;
    border-radius: 30px 30px 0 0;
    color: #fff;
    font-size: 120%;
    display: block;
    margin: 0 auto;
  }

  .phi ul li.pink h4 {
    background: #ff6a9f;
  }

  .phi ul li.yellow h4 {
    background: #ffa800;
  }

  .phi ul li.green h4 {
    background: #bfd02d;
  }

  p.coCopy {
    font-size: 160%;
	  text-align: center;
	  margin-bottom: 40px;
  }
  
/* ======お問い合わせフォーム====== */
  table.contactTable {
    width: 800px;
    margin: 0 auto 30px;
  }

  table.contactTable th,
  table.contactTable td {
    border-bottom: 1px dotted #ccc;
    padding: 15px 10px;
  }

  table.contactTable td input {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 6px;
  }

  table.contactTable td textarea {
    width: 100%;
    box-sizing: border-box;
    height: 200px;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 6px;
  }

  .wpcf7.is_confirm input:-webkit-autofill {
    box-shadow: 0 0 0px 1000px #fff inset;
  }

  input.wpcf7c-conf,
  textarea.wpcf7c-conf {
    border: none !important;
    background: #fff;
  }

  .wpcf7-text:-webkit-autofill {
    box-shadow: 0 0 0 1000px #fff inset;
  }

  .submitArea {
    width: 100%;
    margin: 0 auto 20px;
    overflow: hidden;
  }

  span.req {
    color: #ff0000;
  }

  .submitArea li {
    width: 30.3%;
    margin: 1.5% auto;
  }

  .submitArea li input {
    width: 100%;
    padding: 10px;
    text-align: center;
    background: #4e99e5;
    border: 1px solid #4e99e5;
    box-sizing: border-box;
    border-radius: 10px;
    font-weight: bold;
    color: #fff;
  }

  .submitArea li input:hover {
    background: #fff;
    color:  #4e99e5;
    cursor : pointer;
  }

  .submitArea li input.backBtn  {
    background: #666;
    border: 1px solid #666;
  }

  .submitArea li input.backBtn:hover {
    background: #fff;
    color: #666;
    border: 1px solid #666;
  }
  
  input[type="text"]{
    width: 70%;
  }
  
  input[type="textarea"]{
    width: 100%;
    height: 100px;
  }
  
  .contact_checkbox {
    margin-right: 10px;
  }
  
  .contact_checkbox span {
    margin-left: 5px;
  }
  
/* ======404ページ====== */
  .error_contents {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px;
  }
  
	/* ======フローティングバナー====== */
	#floating_bnr {
		display: none;
	}
  
/* ======フッター====== */

  footer{
    width: 100%;
    overflow: hidden;
    background: url("./img/common/footer_bg.png") center top no-repeat;
    background-size: 100%;
  }

  #footerContents {
    width: 100%;
    max-width: 1200px;
    background-size: 100%;
    margin: 0 auto;
    overflow: hidden;
    padding: 50px 0 0;
    margin-bottom: 36px;
    box-sizing: border-box;
  }

  #footerContents ul {
    overflow: hidden;
    margin-right: 5%;
    float: left;
  }

  #footerContents a {
    color: #222;
  }

  #footerContents #footerCopy {
    width: 25%;
    float: right;
    overflow: hidden;
    text-align: center;
  }

  #footerContents #footerCopy img {
    width: 80%;
    height: auto;
  }

  #footerContents #footerCopy address {
    font-size: 60%;
    font-style: normal;
    margin-top: -25px;
  }
}


/* ===================
  タブレット
  =================== */

@media only screen and (min-width:481px) and (max-width:1024px) {
  body {
    font-size: 1.5rem;
  }
  
  .spView {
    display: block;
  }
  
  .pcView {
    display:none;
  }
  
  .sp_br {
    display: none;
  }
  
  header{
    width: 100%;
    height: 140px;
    background: url("./img/common/header_bg.png") no-repeat;
    background-size: cover;
    background-position: center -60px;
    position: fixed;
    top: 0;
    z-index: 9999;
    box-sizing: border-box;
    overflow: hidden;
  }

  .headerInner{
    width: 100%;
    height: 60px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
  }

  #logo{
    width: 20%;
    float: left;
    margin-top: 20px;
    margin-right: 3%;
  }

  #logo img{
    width: 80%;
    margin: 0 10%;
  }

  .gMenu{
    width: 74%;
    height: 60px;
    float: right;
    margin: 0 3% 0 0;
    box-sizing: border-box;
    overflow-x: scroll;
  }

  .gMenu ul{
    width: 680px;
    display: flex;
    box-sizing: border-box;
  }

  .gMenu ul li{
    width: 22%;
    /*height: 70px;*/
    margin-top: 10px;
      padding: 20px 2.2% 0;
    box-sizing: border-box;
    overflow: hidden;
  }

  .gMenu ul li:nth-child(1){
    position: relative;
    background: url("./img/common/headerList_bg.png") bottom no-repeat;
    background-size: contain;
  }

  .gMenu ul li img{
    width: 100%;
    margin-bottom: 10px;
  }

  .gMenu ul li:nth-child(1):after{
    content: "";
    width: 100%;
    height: 3px;
    display: block;
    background: #fff;
    position: absolute;
    bottom: -3px;
    left: 0;
    right: 0;
    margin: auto;
  }

  .secondMenu{
    width: 100%;
    height: 60px;
    background-color: #fff;
    overflow-x: auto;
  }

  .secondInner{
    width: 620px;
    margin: 0 auto;
    overflow: hidden;
  }

  .secondInner ul li{
    float: left;
    width: 100px;
    height: 80px;
    font-size: 8px;
    line-height: 1.2;
    text-align: center;
    position: relative;
    overflow: hidden;
  }

  .secondInner ul li a{
    color: #111;
  }

  .secondInner ul li span{
    display:block;
    padding-top: 2px;
  }

  .secondInner ul li span:before{
    width: 20px;
    height: 20px;
    margin: 7px auto;
  }

  .secondInner ul li:nth-child(1) span:before{
    content:"";
    display: block;
    background: url("./img/common/nav_icon08.png") no-repeat center;
    background-size: cover;
  }

  .secondInner ul li:nth-child(2) span:before{
    content:"";
    display: block;
    background: url("./img/common/nav_icon06.png") no-repeat center;
    background-size: cover;
  }

  .secondInner ul li:nth-child(3) span:before{
    content:"";
    display: block;
    background: url("./img/common/nav_icon09.png") no-repeat center;
    background-size: cover;
  }

  .secondInner ul li:nth-child(4) span:before{
    content:"";
    display: block;
    background: url("./img/common/nav_icon07.png") no-repeat center;
    background-size: cover;
  }
  /*
  .secondInner ul li:nth-child(5) span:before{
    content:"";
    display: block;
    background: url("./img/common/nav_icon07.png") no-repeat center;
    background-size: cover;
  }*/

  .secondInner ul li:last-child{
    width: 160px;
    height: 100%;
    margin: 12px 30px;
    text-align: center;
  }

  .hTel a{
    font-size: 300%;
    font-weight: bold;
    line-height: 1.5;

  }
  
  .sideTel {
    width: 70px;
    position: fixed;
    top: 10px !important;
    right: 10px !important;
    z-index: 9999;
    list-style: none;
    display: none !important;
  }

  .sideTel li {
    width: 50%;
    padding: 5px;
    box-sizing: border-box;
    float: left;
  }

  .sideTel img {
    display: block;
    width: 100%;
    height: auto;
  } 
  
/* ====== 下層ページタイトル ===== */
  #commonTitle {
    width: 100%;
    padding-top: 120px;
  }

  #commonTitle #titleContents {
    width: 100%;
    overflow: hidden;
  }

  #commonTitle #bc {
    font-size: 70%;
    background: #fff;
    padding: 10px;
    text-align: left;
  }
  
/* ====== TOP mainvisual ===== */
  
  .main_spView {
    margin-top: 60px;
    position: relative;
  }
  
  .main_spView .main_btn01 {
    position: absolute;
    top: 180px;
    right: 70px;
    width: 140px;
  }
  
  .main_spView .main_btn02 {
    position: absolute;
    bottom: 130px;
    right: 70px;
    width: 140px;
  }
  
  .main_pcView {
    display: none;
  }
  
/* ====== TOP topics list area ===== */
  
  h2.topicsReed {
    width: 100%;
    max-width: 1200px;
    overflow: hidden;
    margin: 0 auto 30px;
  }

  h2.topicsReed span {
    display: block;
    width: 250px;
    margin: 0 auto;
    overflow: hidden;
    background: #ccc;
    color: #fff;
    padding: 10px;
    font-size: 120%;
    text-align: center;
    border-radius: 0  0 15px 15px;
    line-height: 1;
  }

  .topicslistArea {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 40px;
  }

  .topicslistArea dl {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    float: left;
    background-size: 15px;
    border-bottom: 1px dotted #ccc;
    overflow: hidden;
  }

  .topicslistArea dl dt {
    width: 20%;
    float: left;
    overflow: hidden;
  }

  .topicslistArea dl dt img {
    width: 100%;
    height: auto;
    margin-top: 3px;
  }
  
  .topicslistArea dl dd {
    padding-right: 20px;
    box-sizing: border-box;
    width: 75%;
    float: right;
  }

  .topicslistArea dl dd p {
    line-height: 2.2rem;
    font-size: 1.4rem;
    margin-top: 2px;
  }

  .topicslistArea dl dd p.date {
    font-size: 80%;
    color: #222;
    display: inline-block;
  }
  
  .topicslistArea .tabBtn {
    clear: both;
    text-align: center;
    padding-top: 30px;
    margin-bottom: 50px;
  }

  .topicslistArea .tabBtn a {
    font-size: 100%;
    padding: 10px 20px;
    text-align: center;
    margin-right: 10px;
    border-radius: 30px;
    color: #333;
    background: #fabd00;
  }
  
  .newIcon {
    padding: 3px;
    text-align: center;
    color: #fff;
    background: #ff0000;
    margin-right: 6px;
    border-radius: 6px;
  }
  
/* ====== AboutUs　固定ページ ===== */
  .aboutus_area {
    max-width: 680px;
    margin: 0 auto;
    padding: 10px 40px 0;
  }

  .aboutus_area h2 {
    font-size: 3.8rem;
    line-height: 1;
  }
  
  .aboutus_area h3 {
    margin-bottom: 20px;
    font-size: 2.0rem;
  }

  .aboutus_area img {
    width: 202px;
    display: block;
    margin: 0 auto;
  }
  
  .aboutus_area p {
    text-align: justify;
    font-size: 1.5rem;
  }
  
  .aboutus {
    display: block;
    justify-content: space-between;
    padding-bottom: 30px;
    border-bottom: solid 1px #ffb343;
    margin-bottom: 30px;
  }
  
  .aboutus .about_txt {
    width: 100%;
    margin-top: 30px;
    font-size: 1.5rem;
  }
  
  .aboutus .about_txt .about_txt_title {
    font-size: 2.0rem;
    font-weight: 600;
    margin: 30px 0 10px;
  }
  
  .about_txt ul li {
    background-color: #f2f2f2;
    border-top: solid 1px #666666;
    position: relative;
    padding: 8px 10px 8px 40px;
  }
  
  .about_txt span {
    font-size: 1.4rem;
    display: block;
    line-height: 2.5rem;
  }
  
  .about_txt ul li:last-child {
    border-bottom: solid 1px #666666;
  }
  
  .about_txt ul li::before {
    content: "";
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-left: 14px solid #f95f2f;
    display: inline-block;
    position: absolute;
    top: 11px;
    left: 9px;
    margin: 10px 5px;
  }
  
  .aboutus_shop {
    max-width: 480px;
    margin: 0 auto;
    display: block;
  }
  
  .aboutus_shop h3 {
    margin-bottom: 10px;
  }
  
  .aboutus_shop img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }
  
  .about_shop_txt {
    max-width: 330px;
    margin: 20px auto 0;
    font-size: 1.5rem;
  }
  
/* ====== Service　固定ページ ===== */
  .service_area {
    max-width: 680px;
    margin: 0 auto;
    padding: 10px 40px 0;
  }

  .service_area h2 {
    font-size: 3.8rem;
    line-height: 1;
  }
  
  .service_area h3 {
    margin-bottom: 20px;
    font-size: 2.0rem;
  }
  
  .service_users .service_users_content {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    padding-bottom: 60px;
    margin-top: 30px;
  }
  
  .service_users .service_users_content img {
    width: 210px;
    display: block;
    margin: 30px auto 0;
  }
  
  .service_area table {
    width: 100%;
    font-size: 1.5rem;
    border-collapse: collapse;
  }
  
  .service_area th, .service_area td {
    border-top: solid 1px #666;
    padding: 5px;
  }
  
  .service_area th, .service_area td:last-child {
    border-bottom: solid 1px #666;
  }
  
  .service_area th {
    background-color: #ffdec8;
    text-align: center;
  }
  
  .service_area td {
    vertical-align: middle;
    background-color: #f1f1f1;
    padding-left: 15px;
  }
  
  .cap_description {
    caption-side: bottom;
    text-align: right;
    margin-top: 5px;
    font-size: 1.2rem;
  }
  
  .service_flow_wrapper {
    display: flex;
    max-width: 480px;
    margin: 0 auto;
  }
  
  .service_flow_ul {
    display: block;
    margin-top: 30px;
    text-align: center;
  }
  
  .service_flow_ul li img {
    width: 160px;
  } 
  
  .service_flow_ul li:nth-child(even) img {
    width: 4px;
    padding: 2px 0;
  }
  
  .flow_desc01, .flow_desc02, .flow_desc03 {
    position: relative;
    display: inline-block;
    padding: 21px 18px 18px 25px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 1.4rem;
    background: #f1f1f1;
    border-radius: 16px;
    width: 230px;
    line-height: 2.3rem;
    vertical-align: top;
  }
  
  .flow_desc01 {
    margin: 22.5em 0 0 20px;
  }
  
  .flow_desc02 {
    margin: 8.5em 0 0 20px;
  }
  
  .flow_desc03 {
    margin: 5.5em 0 0 20px;
  }
  
  .flow_desc01:before, .flow_desc02:before, .flow_desc03:before {
    content: "";
    position: absolute;
    top: 34%;
    left: -5%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #f1f1f1;
  }

  .flow_desc01 p, .flow_desc02 p, .flow_desc03 p {
    margin: 0;
    padding: 0;
  }
  
/* ====== outsourcing　固定ページ ===== */
  .os_area {
    max-width: 680px;
    margin: 0 auto 30px;
    padding: 10px 40px 0;
    border-bottom: solid 1px #ffb343;
  }
  
  .os_area h2 {
    font-size: 2.3rem;
    line-height: 1.7;
    margin-bottom: 25px;
    text-align: center;
  }
  
  .os_about_area h3, .os_merit_area h3, .os_flow_area h3 {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }
  
  .os_area img, .os_about_area img, .os_qa_area img {
    width: 210px;
    display: block;
    margin: 0 auto;
  }
  
  .os_merit_area img {
    width: 180px;
    display: block;
    margin: 0 auto;
  }
  
  .outsourcing {
    display: block;
    margin-bottom: 50px;
  }
  
  .outsourcing .os_txt {
    width: 100%;
    text-align: justify;
    font-size: 1.5rem;
    margin-top: 30px;
  }
  
  .outsourcing .os_txt .os_txt_title {
    font-size: 1.79rem;
    font-weight: 600;
    margin: 30px 0 10px;
  }
  
  .os_txt ul {
    margin: 30px 0;
  }
  
  .os_txt ul li {
    background-color: #f2f2f2;
    border-top: solid 1px #666666;
    position: relative;
    padding: 8px 10px 8px 40px;
  }
  
  .os_txt span {
    font-size: 1.4rem;
    display: block;
    line-height: 2.5rem;
  }
  
  .os_txt ul li:last-child {
    border-bottom: solid 1px #666666;
  }
  
  .os_txt ul li::before {
    content: "";
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-left: 14px solid #f95f2f;
    display: inline-block;
    position: absolute;
    top: 11px;
    left: 9px;
    margin: 10px 5px;
  }
  
  .os_about_area, .os_merit_area, .os_flow_area {
    max-width: 680px;
    margin: 0 auto 30px;
    padding: 0 40px;
    border-bottom: solid 1px #ffb343;
  }
  
  .sp_oc_flow {
    display: block;
    padding-top: 10px;
    margin-bottom: 30px;
  }
  
  .sp_oc_flow li:nth-child(odd) img {
    width: 230px;
    display: block;
    margin: 0 auto;
  }
  
  .sp_oc_flow li:nth-child(even) img {
    width: 20px;
    display: block;
    margin: 0 auto;
  }
  
  .sp_oc_flow li:nth-child(1), .sp_oc_flow li:nth-child(3), .sp_oc_flow li:nth-child(5), .sp_oc_flow li:nth-child(7)  {
    margin-top: -14px;
  }
  
  .pc_oc_flow {
    display: none;
  }
  
  .os_flow_area p {
    text-align: center;
  }
  
  .os_flow_area p span {
    background: linear-gradient(transparent 50%, #ffff7f 50%);
  }
  
  .os_qa_area {
    max-width: 680px;
    margin: 0 auto 30px;
    padding: 0 40px;
  }
  
  .os_qa_area h2 {
    font-size: 3.8rem;
    line-height: 1.231;
  }
  
  .os_qa_area h3 {
    margin-bottom: 20px;
  }
  
  .os_qa_txt {
    width: 100%;
    margin-top: 30px;
    font-size: 1.5rem;
  }
  
  .os_qa_txt ul li {
    display: flex;
    vertical-align: top;
  }
  
  .os_qa_txt ul li p {
    padding-top: 12px;
    padding-left: 12px;
  }
  
  .os_qa_txt ul li:nth-child(odd) {
    font-weight: 600;
  }
  
  .os_qa_txt ul li:nth-child(odd):before {
    content: "Q";
    align-items: center;
    color: #fc5f2f;
    font-family: 'Kufam', sans-serif;
    font-size: 3.2rem;
  }
  
  .os_qa_txt ul li:nth-child(even):before {
    content: "A";
    align-items: center;
    color: #808080;
    font-family: 'Kufam', sans-serif;
    font-size: 3.2rem;
  }
  
  .os_qa_txt ul li:nth-child(2) {
    border-bottom: solid 1px #f95f2f;
    padding-bottom: 30px;
    margin-bottom: 20px;
  }
  
  .gwa_btn {
    margin: 30px 0 40px;
  }
  
  .gwa_btn a {
    background-image: -webkit-linear-gradient(left, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    background-image: -o-linear-gradient(left, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    background-image: linear-gradient(to right, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 265px;
    margin: 0 auto;
    padding: 7px 15px 7px 30px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    border: solid 1px #fff;
    z-index: 0;
    transition: 0.3s ease-in-out;
  }
  
  .gwa_btn a:before {
    content: "";
    line-height: 1;
    position: absolute;
    right: 8px;
    background: #fff;
    padding: 16px;
    border-radius: 60px;
    z-index: 2;
  }
  
  .gwa_btn a:after {
    content: "";
    width: 9px;
    height: 9px;
    border-top: 3px solid #f05f2f;
    border-right: 3px solid #f05f2f;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: 17px;
    z-index: 99;
    border-radius: 2px;
  }
  
/* ====== contents　※404ページ、運営会社ページ、プライバシーポリシー、お知らせ一覧ページ、お知らせ記事ページ　===== */
  #contents {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    /*max-width: 335px;
    margin: 0 auto;*/
  }
  
/* ====== お知らせ一覧ページ　archive.php　===== */
  #archiveMain {
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
  }

  .archiveBox {
    overflow: hidden;
    padding: 20px;
    border-bottom: 1px dotted #ccc;
  }

  .archiveBox dt {
    width: 20%;
    float: left;
    overflow: hidden;
  }

  .archiveBox dt img {
    width: 100%;
    height: auto;
    margin-top: 4px;
  }

  .archiveBox dd {
    width: 75%;
    float: right;
  }

  .archiveBox dd p {
    line-height: 1.3;
    margin-top: 5px;
  }

  .archiveBox dd p.date {
    font-size: 80%;
    color: #222;
    margin: 4px 0;
  }
  
/* ====== お知らせ記事ページ　single.php　===== */
  .slider-wrap {
    position: relative;
    text-align: center;
    margin: 0 auto;
    width: 320px;
    overflow: hidden;
  }
  
  .slider-img .slick-slide {
    width: 100%;
    height: 224px;
    overflow: hidden;
    position: relative;
  }
  
  .slider-img .slick-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .thumbs_dots {
    margin: 10px 0 0;
  }
  
  .thumbs_list li {
    display: inline-block;
    width: 80px;
    height: 56px;
    opacity: 1;
    transition: opacity 0.3s;
  }
  
  .slick-dotted.slick-slider {
    margin-bottom: 10px!important;
  }
  
  #shopLeft {
    width: 100%;
    overflow: hidden;
    background: #f2f2f2;
    padding: 30px 0;
  }

  #viewer {
    margin: 0 auto;
    width:320px;
    text-align: center;
    overflow: hidden;
  }

  #viewer div {
    width: 100%;
    height: 224px;
    overflow: hidden;
    position: relative;
  }

  #viewer div img {
    top: 0;
    left: 0;
    position: absolute;
  }

  #viewer ul {
    width: 100%;
    margin-top: 10px;
    overflow: hidden;
  }

  #viewer ul li {
    width: 25%;
    float: left;
    display: inline;
  }

  #viewer .active {
    filter:alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
  }

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

  #shopRight {
    width: 100%;
    overflow: hidden;
    padding: 20px;
    box-sizing: border-box;
  }

  #shopRight h2 {
    margin-bottom: 30px;
  }

  h2.entryTitle {
    line-height: 1.3;
  }

  article#entryBody {
    margin-bottom: 30px;
  }

  article#entryBody p {
    margin-bottom: 20px;
  }

  ul.tabList {
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
  }

  ul.tabList li {
    line-height: 3;
    float: left;
    margin-right: 10px;
  }

  .tabBtn a {
    padding: 10px 20px;
    text-align: center;
    margin-right: 10px;
    border-radius: 30px;
    color: #fff;
    font-size: 80%;
    background: #9fbb55;
  }

  .prevNext {
    width: 100%;
    overflow: hidden;
  }

  .prevNext .prev a {
    width: 48%;
    float: right;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    display: block;
    background: #f3f3f3;
  }

  .prevNext .next a {
    width: 48%;
    float: left;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    display: block;
    background: #f3f3f3;
  }
  
/* ====== プライバシーポリシー／お問い合わせページ　固定ページ　===== */
  .commonContents {
    width: 100%;
    padding: 15px 20px;
    box-sizing: border-box;
    overflow: hidden;
    max-width: 600px;
    margin: 0 auto;
  }

  .commonContents article {
    margin-bottom: 50px;
  }
  
  .policy {
    padding: 15px;
  }

  .policy h3 {
    clear: both;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #ccc;
  }
  
/* ====== 運営会社情報　固定ページ　===== */
  .reed {
    width: 90%;
    margin: 10px auto 20px;
	  overflow: hidden;
	  text-align: center;
  }

  .reed p {
    width: 100%;
  }

  .reed p.ropa {
    font-weight: bold;
    font-size: 250%;
    border-bottom: 1px solid #5dacac;
    line-height: 1.2;
    color: #5dacac;
    margin-bottom: 10px;
    box-sizing: border-box;
    overflow: hidden;
  }

  .reed p.noto {
    font-size: 160%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 100;
    line-height: 1.2;
  }

  #conceptBoxArea {
    width: 100%;
    overflow: hidden;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    height: auto;
    padding-bottom: 30px;
  }

  .conceptText {
    padding: 20px;
  }

  table {
    width: 100%;
	  font-size: 90%;
  }

  table td, table th {
    padding: 7px;
    text-align: left;
    font-weight: normal;
    border-bottom: 1px solid #ccc;
  }

  h4.ourGroup {
    width: 70%;
    margin-bottom: 30px;
    background: #d3d3d3;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    padding: 7px;
    border-radius: 0 0 20px 20px;
    font-size: 180%;
  }

  ul.group01 {
    width: 70%;
    margin: 0 auto 30px;
    overflow: hidden;
    font-size: 80%;
  }
/*
  ul.group01 li {
    width: 100%;
    text-align: center;
    line-height: 1.5;
  }*/

  .history {
    width: 87%;
    margin: 0 auto;
    overflow: hidden;
    font-size: 80%;
  }

  .history li {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px dotted #ccc;
    line-height: 3;
  }

  .history li span {
    position: absolute;
    right: 0;
    top: 0;
    width: 25%;
    text-align: right;
  }

  ul.groupLogoList {
    width: 90%;
    overflow: hidden;
    margin: 0 auto 50px;
    text-align: center;
    font-size: 1.4rem;
  }

  ul.groupLogoList li {
    float: left;
    width: 50%;
    box-sizing: border-box;
    padding: 10px;
    text-align: center;
  }

  .phi ul {
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
    overflow: hidden;
    text-align: center;
    font-weight: bold;
  }

  .phi ul li {
    width: 100%;
    margin-bottom: 30px;
  }

  .phi ul li.pink p {
    border-top: 1px solid #ff6a9f;
    padding-top: 20px;
  }

  .phi ul li.yellow p {
    border-top: 1px solid #ffa800;
    padding-top: 20px;
  }

  .phi ul li.green p {
    border-top: 1px solid #bfd02d;
    padding-top: 20px;
  }

  .phi ul li h4 {
    width: 50%;
    text-align: center;
    padding: 5px 15px;
    border-radius: 30px 30px 0 0;
    color: #fff;
    font-size: 120%;
    display: block;
    margin: 0 auto;
  }

  .phi ul li.pink h4 {
    background: #ff6a9f;
  }

  .phi ul li.yellow h4 {
    background: #ffa800;
  }

  .phi ul li.green h4 {
    background: #bfd02d;
  }

  p.coCopy {
    text-align: center;
    font-size: 100%;
    line-height: 1.5;
    padding: 20px;
    margin-bottom: 10px;
  }
  
/* ======お問い合わせフォーム====== */

  table.contactTable {
    width: 95%;
    margin: 0 auto 30px;
  }
  
  table.contactTable tr {
    display: flex;
    flex-direction: column;
    border-bottom: 1px dotted #ccc;
    padding: 5px 0 10px;
  }

  table.contactTable th,
  table.contactTable td {
    border-bottom: none;
  }

  table.contactTable td input {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 6px;
  }

  table.contactTable td textarea {
    width: 100%;
    box-sizing: border-box;
    height: 200px;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 6px;
  }

  .wpcf7.is_confirm input:-webkit-autofill {
    box-shadow: 0 0 0px 1000px #fff inset;
  }
  
  .wpcf7-list-item {
    display: inline-flex!important;
    margin: 0 0 0 2em;
  }
  
  .wpcf7-list-item-label {
    padding-left: 5px;
  }

  input.wpcf7c-conf,
  textarea.wpcf7c-conf {
    border: none !important;
    background: #fff;
  }

  .wpcf7-text:-webkit-autofill {
    box-shadow: 0 0 0 1000px #fff inset;
  }

  .submitArea {
    width: 100%;
    margin: 0 auto 20px;
    overflow: hidden;
  }

  span.req {
    color: #ff0000;
  }

  .submitArea li {
    width: 70%;
    margin: 1.5% auto;
  }

  .submitArea li input {
    width: 100%;
    padding: 10px;
    text-align: center;
    background: #4e99e5;
    border: 1px solid #4e99e5;
    box-sizing: border-box;
    border-radius: 10px;
    font-weight: bold;
    color: #fff;
  }

  .submitArea li input:hover {
    background: #fff;
    color:  #4e99e5;
  }

  .submitArea li input.backBtn  {
    background: #666;
    border: 1px solid #666;
  }

  .submitArea li input.backBtn:hover {
    background: #fff;
    color: #666;
    border: 1px solid #666;
  }

/* ======404ページ====== */
  .error_contents {
    max-width: 480px;
    margin: 0 auto;
    padding: 10px;
  }
  
  .error_contents p a {
    text-decoration:underline;
  }
  
/* ======フローティングバナー====== */
	#floating_bnr {
    display: none;
	}
  
/* ======フッター====== */

  footer {
    width: 100%;
    background: url("./img/common/footer_bg_sp.png") center bottom no-repeat;
    color: #3e454d;
    padding-bottom: 150px;
    background-size: 100%;
    margin-top: 50px;
  } 

  footer #footerContents {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }

  footer #footerContents ul {
    width: 100%;
    overflow: hidden;
  }

  footer #footerContents li {
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #F1D57F;
    font-size: 100%;
    background: #fef0c4;
  }

  #footerCopy {
    width: 100%;
    margin: 30px auto;
  }

  #footerCopy img {
    width: 225px;
    display: block;
    margin: 0 auto;
  }
  
  footer #footerContents address {
    clear: both;
    font-style: normal;
    font-size: 80%;
    line-height: 1;
    text-align: center;
    margin-top: 15px;
  }

  footer #footerContents li a {
    color: #3e454d;
    padding: 10px 20px;
    display: block;
    box-sizing: border-box;
    text-decoration: none;
  }

  footer a:visited {
    color: #fff;
  }

  footer a:color {
    color: #fff;
  }
}

/* ===================
  スマホ
  =================== */

@media only screen and (max-width: 480px) {
  body {
    font-size: 1.5rem;
  }
  
  .spView {
    display: block;
  }
  
  .pcView {
    display:none;
  }
  
  .sp_br {
    display: block;
  }
  
  header {
    width: 100%;
    height: initial;
    background: url("./img/common/header_bg.png") no-repeat;
    background-size: cover;
    background-position: center -44px;
    position: fixed;
    top: 0;
    z-index: 9999;
    box-sizing: border-box;
  }
  
  .headerInner {
    width: 100%;
    height: 82px;
    margin: 0 auto;
    box-sizing: border-box;
  }
  
  #logo {
    width: 30%;
    margin: 0 auto;
  }
  
  #logo img {
    width: 100%;
  }
  
  .gMenu {
    width: 100%;
    overflow: scroll;
  }
  
  .gMenu ul {
    width: 680px;
    display: flex;
    padding-left: 0;
  }
  
  .gMenu ul li {
    width: 25%;
    height: 48px;
    padding:2% 2% 0;
    box-sizing: border-box;
    text-align: center;
    list-style: none;
  }
  
  .gMenu ul li img {
    width: 100%;
    margin: 0 auto;
  }
  
  .gMenu ul li:nth-child(1) {
    position: relative;
    background: url("./img/common/headerList_bg.png") bottom no-repeat;
    background-size: contain;
  }
  
  
  .secondMenu {
    width: 100%;
    height: 50px;
    background-color: #fff;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  
  .secondInner {
    width: 700px;
    height: 50px;
    margin: 0 auto;
    overflow: hidden;
  }
  
  .secondInner ul {
    padding-left: 0;
  }

  .secondInner ul li {
    float: left;
    width: 90px;
    /*height: 60px;*/
    height: 50px;
    font-size: 8px;
    line-height: 1.2;
    text-align: center;
    position: relative;
    overflow: hidden;
    list-style: none;
  }
  
  .secondInner ul li a {
    color: #111;
    text-decoration: none;
  }
  
  .secondInner ul li span {
    display:block;
    padding-top: 2px;
  }
 
  .secondInner ul li span:before {
    width: 15px;
    height: 15px;
    margin: 8px auto;
  }

  .secondInner ul li:nth-child(1) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon08.png") no-repeat center;
    background-size: cover;
  }

  .secondInner ul li:nth-child(2) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon06.png") no-repeat center;
    background-size: cover;
  }

  .secondInner ul li:nth-child(3) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon09.png") no-repeat center;
    background-size: cover;
  }
  
  .secondInner ul li:nth-child(4) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon07.png") no-repeat center;
    background-size: cover;
  }
  
  /*.secondInner ul li:nth-child(5) span:before {
    content:"";
    display: block;
    background: url("./img/common/nav_icon07.png") no-repeat center;
    background-size: cover;
  }*/
  
  .secondInner ul li:last-child {
    width: 160px;
    height: 100%;
    margin: 10px 30px 0;
    text-align: center;
  }
  
  .hTel a {
    font-size: 300%;
    line-height: 1.5;
  }


  .sideTel {
    width: 70px;
    position: fixed;
    top: 10px !important;
    right: 10px !important;
    z-index: 9999;
    list-style: none;
  }

  .sideTel li {
    width: 50%;
    padding: 5px;
    box-sizing: border-box;
    float: left;
  }

  .sideTel img {
    display: block;
    width: 100%;
    height: auto;
  }
  
/* ====== 下層ページタイトル ===== */
  #commonTitle {
    width: 100%;
    padding-top: 132px;
  }

  #commonTitle #titleContents {
    width: 100%;
    overflow: hidden;
  }

  #commonTitle #bc {
    font-size: 70%;
    background: #fff;
    padding: 10px;
    text-align: left;
  }
  
/* ====== TOP mainvisual ===== */
  
  .main_spView {
    margin-top: 66px;
    position: relative;
  }
  
  .main_spView .main_btn01 {
    position: absolute;
    top: 130px;
    right: 30px;
    width: 80px;
  }
  
  .main_spView .main_btn02 {
    position: absolute;
    bottom: 60px;
    right: 30px;
    width: 80px;
  }
  
  .main_pcView {
    display: none;
  }
  
/* ====== TOP topics list area ===== */
  
  h2.topicsReed {
    width: 100%;
    max-width: 335px;
    overflow: hidden;
    margin: 0 auto 30px;
  }

  h2.topicsReed span {
    display: block;
    width: 250px;
    margin: 0 auto;
    overflow: hidden;
    background: #ccc;
    color: #fff;
    padding: 10px;
    font-size: 120%;
    text-align: center;
    border-radius: 0  0 15px 15px;
    line-height: 1;
  }

  .topicslistArea {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 40px;
  }

  .topicslistArea dl {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    float: left;
    background-size: 15px;
    border-bottom: 1px dotted #ccc;
    overflow: hidden;
  }

  .topicslistArea dl dt {
    width: 20%;
    float: left;
    overflow: hidden;
  }

  .topicslistArea dl dt img {
    width: 100%;
    height: auto;
    margin-top: 3px;
  }
  
  .topicslistArea dl dd {
    padding-right: 20px;
    box-sizing: border-box;
    width: 75%;
    float: right;
  }

  .topicslistArea dl dd p {
    line-height: 2.2rem;
    font-size: 1.4rem;
    margin-top: 2px;
  }

  .topicslistArea dl dd p.date {
    font-size: 80%;
    color: #222;
    display: inline-block;
  }
  
  .topicslistArea .tabBtn {
    clear: both;
    text-align: center;
    padding-top: 30px;
    margin-bottom: 50px;
  }

  .topicslistArea .tabBtn a {
    font-size: 100%;
    padding: 10px 20px;
    text-align: center;
    margin-right: 10px;
    border-radius: 30px;
    color: #333;
    background: #fabd00;
  }
  
  .newIcon {
    padding: 3px;
    text-align: center;
    color: #fff;
    background: #ff0000;
    margin-right: 6px;
    border-radius: 6px;
  }
  
/* ====== AboutUs　固定ページ ===== */
  .aboutus_area {
    max-width: 335px;
    margin: 0 auto;
    padding: 10px 10px 0;
  }

  .aboutus_area h2 {
    font-size: 3.8rem;
    line-height: 1;
  }
  
  .aboutus_area h3 {
    margin-bottom: 20px;
    font-size: 2.0rem;
  }

  .aboutus_area img {
    width: 202px;
    display: block;
    margin: 0 auto;
  }
  
  .aboutus_area p {
    text-align: justify;
    font-size: 1.5rem;
  }
  
  .aboutus {
    display: block;
    justify-content: space-between;
    padding-bottom: 30px;
    border-bottom: solid 1px #ffb343;
    margin-bottom: 30px;
  }
  
  .aboutus .about_txt {
    width: 100%;
    margin-top: 30px;
    font-size: 1.5rem;
  }
  
  .aboutus .about_txt .about_txt_title {
    font-size: 2.0rem;
    font-weight: 600;
    margin: 30px 0 10px;
  }
  
  .about_txt ul li {
    background-color: #f2f2f2;
    border-top: solid 1px #666666;
    position: relative;
    padding: 8px 10px 8px 40px;
  }
  
  .about_txt span {
    font-size: 1.4rem;
    display: block;
    line-height: 2.5rem;
  }
  
  .about_txt ul li:last-child {
    border-bottom: solid 1px #666666;
  }
  
  .about_txt ul li::before {
    content: "";
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-left: 14px solid #f95f2f;
    display: inline-block;
    position: absolute;
    top: 11px;
    left: 9px;
    margin: 10px 5px;
  }
  
  .aboutus_shop {
    max-width: 480px;
    margin: 0 auto;
    display: block;
  }
  
  .aboutus_shop h3 {
    margin-bottom: 10px;
  }
  
  .aboutus_shop img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }
  
  .about_shop_txt {
    max-width: 300px;
    margin: 20px auto 0;
    font-size: 1.5rem;
    padding: 0 10px;
  }
  
/* ====== Service　固定ページ ===== */
  .service_area {
    max-width: 335px;
    margin: 0 auto;
    padding: 10px 10px 0;
  }

  .service_area h2 {
    font-size: 3.8rem;
    line-height: 1;
  }
  
  .service_area h3 {
    margin-bottom: 20px;
    font-size: 2.0rem;
  }
  
  .service_users .service_users_content {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    padding-bottom: 60px;
    margin-top: 30px;
  }
  
  .service_users .service_users_content img {
    width: 210px;
    display: block;
    margin: 30px auto 0;
  }
  
  .service_area table {
    width: 100%;
    font-size: 1.5rem;
    border-collapse: collapse;
  }
  
  .service_area th, .service_area td {
    border-top: solid 1px #666;
    padding: 5px;
  }
  
  .service_area th, .service_area td:last-child {
    border-bottom: solid 1px #666;
  }
  
  .service_area th {
    background-color: #ffdec8;
    text-align: center;
  }
  
  .service_area td {
    vertical-align: middle;
    background-color: #f1f1f1;
    padding-left: 15px;
  }
  
  .cap_description {
    caption-side: bottom;
    text-align: right;
    margin-top: 5px;
    font-size: 1.2rem;
  }
  
  .service_flow_wrapper {
    display: flex;
  }
  
  .service_flow_ul {
    display: block;
    margin-top: 30px;
    text-align: center;
  }
  
  .service_flow_ul li img {
    width: 130px;
  } 
  
  .service_flow_ul li:nth-child(even) img {
    width: 4px;
    padding: 2px 0;
  }
  
  .flow_desc01, .flow_desc02, .flow_desc03 {
    position: relative;
    display: inline-block;
    padding: 20px 13px 15px 18px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 1.4rem;
    background: #f1f1f1;
    border-radius: 16px;
    width: 165px;
    line-height: 2.3rem;
    vertical-align: top;
  }
  
  .flow_desc01 {
    margin: 19.5em 0 0 20px;
  }
  
  .flow_desc02 {
    margin: 5.5em 0 0 20px;
  }
  
  .flow_desc03 {
    margin: 1.5em 0 0 20px;
  }
  
  .flow_desc01:before, .flow_desc02:before, .flow_desc03:before {
    content: "";
    position: absolute;
    top: 34%;
    left: -5%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #f1f1f1;
  }

  .flow_desc01 p, .flow_desc02 p, .flow_desc03 p {
    margin: 0;
    padding: 0;
  }
  
/* ====== outsourcing　固定ページ ===== */
  .os_area {
    max-width: 335px;
    margin: 0 auto 30px;
    padding: 10px 10px 0;
    border-bottom: solid 1px #ffb343;
  }
  
  .os_area h2 {
    font-size: 2.3rem;
    line-height: 1.7;
    margin-bottom: 25px;
    text-align: center;
  }
  
  .os_about_area h3, .os_merit_area h3, .os_flow_area h3 {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }
  
  .os_area img, .os_about_area img, .os_qa_area img {
    width: 210px;
    display: block;
    margin: 0 auto;
  }
  
  .os_merit_area img {
    width: 180px;
    display: block;
    margin: 0 auto;
  }
  
  .outsourcing {
    display: block;
    margin-bottom: 50px;
  }
  
  .outsourcing .os_txt {
    width: 100%;
    text-align: justify;
    font-size: 1.5rem;
    margin-top: 30px;
  }
  
  .outsourcing .os_txt .os_txt_title {
    font-size: 1.79rem;
    font-weight: 600;
    margin: 30px 0 10px;
  }
  
  .os_txt ul {
    margin: 30px 0;
  }
  
  .os_txt ul li {
    background-color: #f2f2f2;
    border-top: solid 1px #666666;
    position: relative;
    padding: 8px 10px 8px 40px;
  }
  
  .os_txt span {
    font-size: 1.4rem;
    display: block;
    line-height: 2.5rem;
  }
  
  .os_txt ul li:last-child {
    border-bottom: solid 1px #666666;
  }
  
  .os_txt ul li::before {
    content: "";
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-left: 14px solid #f95f2f;
    display: inline-block;
    position: absolute;
    top: 11px;
    left: 9px;
    margin: 10px 5px;
  }
  
  .os_about_area, .os_merit_area, .os_flow_area {
    max-width: 335px;
    margin: 0 auto 30px;
    border-bottom: solid 1px #ffb343;
    padding: 0 10px;
  }
  
  .sp_oc_flow {
    display: block;
    padding-top: 10px;
    margin-bottom: 30px;
  }
  
  .sp_oc_flow li:nth-child(odd) img {
    width: 230px;
    display: block;
    margin: 0 auto;
  }
  
  .sp_oc_flow li:nth-child(even) img {
    width: 20px;
    display: block;
    margin: 0 auto;
  }
  
  .sp_oc_flow li:nth-child(1), .sp_oc_flow li:nth-child(3), .sp_oc_flow li:nth-child(5), .sp_oc_flow li:nth-child(7)  {
    margin-top: -14px;
  }
  
  .pc_oc_flow {
    display: none;
  }
  
  .os_flow_area p {
    text-align: center;
  }
  
  .os_flow_area p span {
    background: linear-gradient(transparent 50%, #ffff7f 50%);
  }
  
  .os_qa_area {
    max-width: 335px;
    margin: 0 auto 30px;
    padding: 0 10px;
  }
  
  .os_qa_area h2 {
    font-size: 3.8rem;
    line-height: 1.231;
  }
  
  .os_qa_area h3 {
    margin-bottom: 20px;
  }
  
  .os_qa_txt {
    width: 100%;
    margin-top: 30px;
    font-size: 1.5rem;
  }
  
  .os_qa_txt ul li {
    display: flex;
    vertical-align: top;
  }
  
  .os_qa_txt ul li p {
    padding-top: 12px;
    padding-left: 12px;
  }
  
  .os_qa_txt ul li:nth-child(odd) {
    font-weight: 600;
  }
  
  .os_qa_txt ul li:nth-child(odd):before {
    content: "Q";
    align-items: center;
    color: #fc5f2f;
    font-family: 'Kufam', sans-serif;
    font-size: 3.2rem;
  }
  
  .os_qa_txt ul li:nth-child(even):before {
    content: "A";
    align-items: center;
    color: #808080;
    font-family: 'Kufam', sans-serif;
    font-size: 3.2rem;
  }
  
  .os_qa_txt ul li:nth-child(2) {
    border-bottom: solid 1px #f95f2f;
    padding-bottom: 30px;
    margin-bottom: 20px;
  }
  
  .gwa_btn {
    margin: 30px 0 40px;
  }
  
  .gwa_btn a {
    background-image: -webkit-linear-gradient(left, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    background-image: -o-linear-gradient(left, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    background-image: linear-gradient(to right, rgba(240, 95, 37, 1), rgba(255, 191, 113, 1));
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 245px;
    margin: 0 auto;
    padding: 7px 15px 7px 30px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    border: solid 1px #fff;
    z-index: 0;
    transition: 0.3s ease-in-out;
  }
  
  .gwa_btn a:before {
    content: "";
    line-height: 1;
    position: absolute;
    right: 8px;
    background: #fff;
    padding: 16px;
    border-radius: 60px;
    z-index: 2;
  }
  
  .gwa_btn a:after {
    content: "";
    width: 9px;
    height: 9px;
    border-top: 3px solid #f05f2f;
    border-right: 3px solid #f05f2f;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: 15px;
    z-index: 99;
    border-radius: 2px;
  }
  
/* ====== contents　※404ページ、運営会社ページ、プライバシーポリシー、お知らせ一覧ページ、お知らせ記事ページ　===== */
  #contents {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    /*max-width: 335px;
    margin: 0 auto;*/
  }
  
/* ====== お知らせ一覧ページ　archive.php　===== */
  #archiveMain {
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
  }

  .archiveBox {
    overflow: hidden;
    padding: 20px;
    border-bottom: 1px dotted #ccc;
  }

  .archiveBox dt {
    width: 20%;
    float: left;
    overflow: hidden;
  }

  .archiveBox dt img {
    width: 100%;
    height: auto;
    margin-top: 4px;
  }

  .archiveBox dd {
    width: 75%;
    float: right;
  }

  .archiveBox dd p {
    line-height: 1.3;
    margin-top: 5px;
  }

  .archiveBox dd p.date {
    font-size: 80%;
    color: #222;
    margin: 4px 0;
  }
  
/* ====== お知らせ記事ページ　single.php　===== */
  .slider-wrap {
    position: relative;
    text-align: center;
    margin: 0 auto;
    width: 320px;
    overflow: hidden;
  }
  
  .slider-img .slick-slide {
    width: 100%;
    height: 224px;
    overflow: hidden;
    position: relative;
  }
  
  .slider-img .slick-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .thumbs_dots {
    margin: 10px 0 0;
  }
  
  .thumbs_list li {
    display: inline-block;
    width: 80px;
    height: 56px;
    opacity: 1;
    transition: opacity 0.3s;
  }
  
  .slick-dotted.slick-slider {
    margin-bottom: 10px!important;
  }
  
  #shopLeft {
    width: 100%;
    overflow: hidden;
    background: #f2f2f2;
    padding: 30px 0;
  }

  #viewer {
    margin: 0 auto;
    width:320px;
    text-align: center;
    overflow: hidden;
  }

  #viewer div {
    width: 100%;
    height: 224px;
    overflow: hidden;
    position: relative;
  }

  #viewer div img {
    top: 0;
    left: 0;
    position: absolute;
  }

  #viewer ul {
    width: 100%;
    margin-top: 10px;
    overflow: hidden;
  }

  #viewer ul li {
    width: 25%;
    float: left;
    display: inline;
  }

  #viewer .active {
    filter:alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
  }

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

  #shopRight {
    width: 100%;
    overflow: hidden;
    padding: 20px;
    box-sizing: border-box;
  }

  #shopRight h2 {
    margin-bottom: 30px;
  }

  h2.entryTitle {
    line-height: 1.3;
  }

  article#entryBody {
    margin-bottom: 30px;
  }

  article#entryBody p {
    margin-bottom: 20px;
  }

  ul.tabList {
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
  }

  ul.tabList li {
    line-height: 3;
    float: left;
    margin-right: 10px;
  }

  .tabBtn a {
    padding: 10px 20px;
    text-align: center;
    margin-right: 10px;
    border-radius: 30px;
    color: #fff;
    font-size: 80%;
    background: #9fbb55;
  }

  .prevNext {
    width: 100%;
    overflow: hidden;
  }

  .prevNext .prev a {
    width: 48%;
    float: right;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    display: block;
    background: #f3f3f3;
  }

  .prevNext .next a {
    width: 48%;
    float: left;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    display: block;
    background: #f3f3f3;
  }
  
/* ====== プライバシーポリシー　固定ページ　===== */
  .commonContents {
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
    overflow: hidden;
  }

  .commonContents article {
    margin-bottom: 50px;
  }
  
  .policy {
    padding: 15px;
  }

  .policy h3 {
    clear: both;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #ccc;
  }
  
/* ====== 運営会社情報　固定ページ　===== */
  .reed {
    width: 90%;
    margin: 10px auto 20px;
	  overflow: hidden;
	  text-align: center;
  }

  .reed p {
    width: 100%;
  }

  .reed p.ropa {
    font-weight: bold;
    font-size: 250%;
    border-bottom: 1px solid #5dacac;
    line-height: 1.2;
    color: #5dacac;
    margin-bottom: 10px;
    box-sizing: border-box;
    overflow: hidden;
  }

  .reed p.noto {
    font-size: 160%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 100;
    line-height: 1.2;
  }

  #conceptBoxArea {
    width: 100%;
    overflow: hidden;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    height: auto;
    padding-bottom: 30px;
  }

  .conceptText {
    padding: 20px;
  }

  table {
    width: 100%;
	  font-size: 90%;
  }

  table td, table th {
    padding: 7px;
    text-align: left;
    font-weight: normal;
    border-bottom: 1px solid #ccc;
  }

  h4.ourGroup {
    width: 70%;
    margin-bottom: 30px;
    background: #d3d3d3;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    padding: 7px;
    border-radius: 0 0 20px 20px;
    font-size: 180%;
  }

  ul.group01 {
    width: 70%;
    margin: 0 auto 30px;
    overflow: hidden;
    font-size: 80%;
  }
/*
  ul.group01 li {
    width: 100%;
    text-align: center;
    line-height: 1.5;
  }*/

  .history {
    width: 87%;
    margin: 0 auto;
    overflow: hidden;
    font-size: 80%;
  }

  .history li {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px dotted #ccc;
    line-height: 3;
  }

  .history li span {
    position: absolute;
    right: 0;
    top: 0;
    width: 25%;
    text-align: right;
  }

  ul.groupLogoList {
    width: 90%;
    overflow: hidden;
    margin: 0 auto 50px;
    text-align: center;
    font-size: 1.4rem;
  }

  ul.groupLogoList li {
    float: left;
    width: 50%;
    box-sizing: border-box;
    padding: 10px;
    text-align: center;
  }

  .phi ul {
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
    overflow: hidden;
    text-align: center;
    font-weight: bold;
  }

  .phi ul li {
    width: 100%;
    margin-bottom: 30px;
  }

  .phi ul li.pink p {
    border-top: 1px solid #ff6a9f;
    padding-top: 20px;
  }

  .phi ul li.yellow p {
    border-top: 1px solid #ffa800;
    padding-top: 20px;
  }

  .phi ul li.green p {
    border-top: 1px solid #bfd02d;
    padding-top: 20px;
  }

  .phi ul li h4 {
    width: 50%;
    text-align: center;
    padding: 5px 15px;
    border-radius: 30px 30px 0 0;
    color: #fff;
    font-size: 120%;
    display: block;
    margin: 0 auto;
  }

  .phi ul li.pink h4 {
    background: #ff6a9f;
  }

  .phi ul li.yellow h4 {
    background: #ffa800;
  }

  .phi ul li.green h4 {
    background: #bfd02d;
  }

  p.coCopy {
    text-align: center;
    font-size: 100%;
    line-height: 1.5;
    padding: 20px;
    margin-bottom: 10px;
  }
  
/* ======お問い合わせフォーム====== */

  table.contactTable {
    width: 95%;
    margin: 0 auto 30px;
  }
  
  table.contactTable tr {
    display: flex;
    flex-direction: column;
    border-bottom: 1px dotted #ccc;
    padding: 5px 0 10px;
  }
  
  table.contactTable th,
  table.contactTable td {
    border-bottom: none;
  }
  
  table.contactTable th {
    padding-bottom: 0;
  }

  table.contactTable td input {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 6px;
  }

  table.contactTable td textarea {
    width: 100%;
    box-sizing: border-box;
    height: 200px;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 6px;
  }

  .wpcf7.is_confirm input:-webkit-autofill {
    box-shadow: 0 0 0px 1000px #fff inset;
  }
  /*
  .wpcf7-list-item {
    display: inline-flex!important;
    margin: 0 0 0 2em;
  }
  
  .wpcf7-list-item-label {
    padding-left: 2px;
    padding-bottom: 3px;
  }*/

  input.wpcf7c-conf,
  textarea.wpcf7c-conf {
    border: none !important;
    background: #fff;
  }

  .wpcf7-text:-webkit-autofill {
    box-shadow: 0 0 0 1000px #fff inset;
  }

  .submitArea {
    width: 100%;
    margin: 0 auto 20px;
    overflow: hidden;
  }

  span.req {
    color: #ff0000;
  }

  .submitArea li {
    width: 70%;
    margin: 1.5% auto;
  }

  .submitArea li input {
    width: 100%;
    padding: 10px;
    text-align: center;
    background: #4e99e5;
    border: 1px solid #4e99e5;
    box-sizing: border-box;
    border-radius: 10px;
    font-weight: bold;
    color: #fff;
  }

  .submitArea li input:hover {
    background: #fff;
    color:  #4e99e5;
  }

  .submitArea li input.backBtn  {
    background: #666;
    border: 1px solid #666;
  }

  .submitArea li input.backBtn:hover {
    background: #fff;
    color: #666;
    border: 1px solid #666;
  }

/* ======404ページ===== */
  .error_contents {
    max-width: 340px;
    margin: 0 auto;
    padding: 10px;
  }
  
  .error_contents p a {
    text-decoration:underline;
  }
  
/* ======フローティングバナー====== */
	#floating_bnr {
		position: fixed;
		width: 100%;
		height: 56px;
		bottom: 0;
		z-index: 9999;
	}
  
	#floating_bnr .inner-floating {
		padding: 0;
	}
  
	.box-floating {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
	}
  
	.box-floating a:link, .box-floating a:visited, .box-floating a:hover, .box-floating a:active {
		color: #fff;
		text-decoration: none;
	}
  
	#floating_mail_link {
		display: block;
		width: 50%;
		height: 56px;
		background-color: #69c478;
		text-align: center;
	}
  
	#floating_mail_link .bnr-mail, #floating_phone_link .bnr-phone {
		display: flex;
		flex-wrap: nowrap;
		height: 56px;
		font-weight: bold;
		align-items: center;
		justify-content: center;
		text-align: left;
	}
  
	#floating_mail_link .bnr-mail img {
		width: 22px;
		height: 22px;
		margin-right: 10px;
		text-align: center;
	}
  
	#floating_phone_link {
		display: block;
		width: 50%;
		height: 56px;
		background-color: #2ea1d7;
		text-align: center;
	}
  
	#floating_phone_link .bnr-phone img {
		width: 22px; 
		height: 23px;
		margin-right: 10px;
		text-align: center;
		image-rendering: -webkit-optimize-contrast;
	}
  
/* ======フッター====== */

  footer {
    width: 100%;
    background: url("./img/common/footer_bg_sp.png") center bottom no-repeat;
    color: #3e454d;
    padding-bottom: 150px;
    background-size: 100%;
    margin-top: 50px;
  } 

  footer #footerContents {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }

  footer #footerContents ul {
    width: 100%;
    overflow: hidden;
  }

  footer #footerContents li {
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #F1D57F;
    font-size: 100%;
    background: #fef0c4;
  }

  #footerCopy {
    width: 100%;
    margin: 30px auto;
  }

  #footerCopy img {
    width: 225px;
    display: block;
    margin: 0 auto;
  }
  
  footer #footerContents address {
    clear: both;
    font-style: normal;
    font-size: 80%;
    line-height: 1;
    text-align: center;
    margin-top: 15px;
  }

  footer #footerContents li a {
    color: #3e454d;
    padding: 10px 20px;
    display: block;
    box-sizing: border-box;
    text-decoration: none;
  }

  footer a:visited {
    color: #fff;
  }

  footer a:color {
    color: #fff;
  }
}