/*
Theme Name:     tokigane Child
Template:       tokigane
Text Domain:    tokigane-child
*/

/*===== GENERAL =====*/

body {
    background: #ffffff;
    font: 14px/1.6em "Noto Sans JP",sans-serif;
	color: #312D3D;
}

.entry-wrapper {
	padding: 0;
}

.row {
    margin: 0 !important;
}

.column {
    padding: 0 !important;
}

.smoothing_w02{
    -webkit-font-smoothing: antialiased;
}

/*===== HEADER =====*/

.main-menu a {
    font: 400 12px/1em "Noto Sans JP",sans-serif;
    color: #595757;
}

.site-header {
    margin-bottom: 0;
}

/*- MOBILE -*/

.search-field {
    display: none;
}

.mobile-menu {
    margin-top: 0;
    margin-bottom: 1rem;
}

.menu-item a {
    font: 400 1em/2em "Noto Sans JP",sans-serif !important;
    padding-bottom: 10px;
    letter-spacing: 1px;
}

/*===== FOOTER =====*/

.site-footer {
    clear: both;
    position: relative;
    color: #999;
    color: #ffffff;
    font-size: 13px;
    background-color: #312D3D;
}

.tkgnfooter {
    width: 80%;
    margin: 0 auto;
}

.tkgnfooter p {
    float: left;
    margin: 1.3em 0;
}

.tkgnfooter ul {
    float: right;
    list-style: none;
    display: inline-block;
    margin: 1.3em 0;
}

.tkgnfooter li {
    display: inline-block;
}

.tkgnfooter a {
    color: #ffffff;
    padding: 0 10px;
    font: 400 12px/1em "Noto Sans JP",sans-serif;
}

/*===== BODY =====*/

.site-content {
    padding: 0;
    width: 100%;
}

.site-title {
    font-size: 1rem;
	font-weight:500;
}

.tkgnbc {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #312D3D;
}

.tkgnbc p {
    margin: 0 auto;
    padding: 10px 0;
    font: 400 12px/1em "Noto Sans JP",sans-serif;
    width: 80%;
	color:#ffffff;
}

.tkgnbc a {
    color: #ffffff;
}

.tkgnbc a:hover {
	opacity:0.5;
	transition:all 0.5s ease 0s;
}

.entry-header {
    padding: 0;
    text-align: left;
    margin: 0 auto 20px;
}

.toconsecond {
    display: none;
}

.tconouter {
    margin-bottom: 15px;
}

.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
  font-weight: <weight>;
}

/*===== 表横スクロール CSS=====*/

.s_scroll {
	display: none;
    margin: 5px 0 12px;
}

#table1, #table2, #table3, #table4, #table5, #table6 {
    overflow: scroll;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

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

    .s_scroll {
        display: block;
        text-align: right;
        margin: 5px 0 15px;
        font-size: 1.12em;
        font-weight: bold !important;
        color: #298EEA;
    }
	
}

/*===== 25.10追加 障害年金 =====*/

.arc-divider { line-height: 0; }
.arc-divider svg { display: block; width: 100%; height: 80px; } /* 高さはお好みで */
@media (max-width: 768px) {
  .arc-divider svg { height: 60px; } /* モバイルは少し浅く */
}

.svg-divider {
  display: block;
  line-height: 0;
  overflow: hidden;
}
.svg-divider svg {
  display: block;
  width: 100%;
  height: auto;
}

.dptitle {
    font-family: "Zen Maru Gothic", sans-serif !important;
    font-weight: bold !important;
    border-bottom: 1px solid;
    border-color: #F8B52D;
    border-width: thick;
    display: inline-block;
}

.bodyimg {
    text-align: center;
    margin: 50px auto 10px;
}

.qa-block {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
}

:root{
  --bar-bg:#DF5F58;        /* タイトル帯の色（画像の赤茶） */
  --q-bg:#d7a547;          /* Qの色 */
  --a-bg:#c7836c;          /* Aの色 */
  --text:#fff;
  --container: min(1100px, 92vw);
}

.qa-hero {
    background: var(--bar-bg);
    color: var(--text);
    margin: 70px auto 60px;
}

.qa-hero2 {
    margin: 0 auto 30px;
}

.qa-hero__inner{
  width: var(--container);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  min-height: 88px;            
  padding: 12px 120px 12px 16px;
}

.qa-hero__inner h2 {
    font-size: 2.2em;
    font-family: 'Zen Maru Gothic';
    font-weight: bold !important;
}

.qa-hero__title{
  font-weight: 700;
  letter-spacing: .08em;
  font-size: clamp(18px, 2.4vw, 24px);
  margin: 0;
}
.qa-hero__badges{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-left: .75rem;
}
.badge{
  width: 36px; height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
}
.badge--q{ background: var(--q-bg); }
.badge--a{ background: var(--a-bg); }
.amp{
  font-weight: 700;
  opacity: .9;
}

/* 右側イラスト（重ねて配置） */
.qa-hero__illust{
  position: absolute;
  right: 20px;
  bottom: 0;                 /* 帯の下辺に乗せる */
  width: clamp(72px, 16vw, 120px);
  height: auto;
  pointer-events: none;
}

.qa-hero__illust2 {
    position: absolute;
    right: 100px;
    top: -20px;
    width: clamp(72px, 16vw, 120px);
    height: auto;
    pointer-events: none;
    z-index: 5;
}

:root{
  --pill-border: 2px;
  --pill-radius: 30px;
  --dotX: 16px;        /* 左端からドット中心まで */
  --dotR: 4px;         /* ドット半径 */
  --gap: 10px;         /* ドットと文字の間 */
  --dot-color: #f3a74f;
  --pill-border-color: #b86458;
}

.feature-list{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.feature-list li {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    color: #333;
    line-height: 1.4;
    border: var(--pill-border) solid var(--pill-border-color);
    border-radius: var(--pill-radius);
    padding: 6px 16px 6px calc(var(--dotX) + var(--dotR) + var(--gap));
    background: radial-gradient(circle at var(--dotX) 50%, var(--dot-color) 0 calc(var(--dotR) - -4px), transparent calc(var(--dotR) + 5px)) padding-box, #fff;
    background-clip: padding-box, border-box;
}

.soudanouter {
    width: 75%;
    margin: 10px auto 30px;
}

.ftsoudanouter {
    width: 80%;
    margin: 0 auto 50px;
}

.stitleouter {
    margin: 0 auto;
}

.simg img {
    width: 120px;
    height: auto;
}

.stitle {
    color: #ffffff;
    margin-bottom: 20px;
}

.soudaninner h2 {
    margin: 0 auto 20px !important;
    padding: 0;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    font-weight: bold !important;
    font-size: 1.8em !important;
}

/* 下のQ/A本文（前回の続き） */
.qa-block{
  width: var(--container);
  margin: 12px auto 0;
  font-family: "Noto Sans JP", system-ui, sans-serif;
  line-height: 1.7;
}


/* モバイルでの折り返し最適化 */
@media (max-width: 520px){
  .qa-hero__inner{
    padding-right: 84px; /* 右の余白を減らす */
    gap: .5rem;
  }
  .badge{ width:32px; height:32px; font-size:16px; }
}

/* Q部分 */
.qa-block .q {
    position: relative;
    font-weight: bold;
    margin-bottom: 0.5em;
    padding-left: 2.5em;
    border-bottom: 2px dotted #D7A547;
    font-size: 1.6em;
}

.qa-block .q::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #d7a547; /* Qの背景色 */
  color: #fff;
  font-weight: bold;
  border-radius: 50%;
  width: 1.8em;
  height: 1.8em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9em;
}

/* A部分 */
.qa-block .a {
    position: relative;
    font-weight: bold;
    margin-bottom: 0.5em;
    padding-left: 2.5em;
    font-size: 1.3em;
    margin-left: 10px;
}

.qa-block .a::before {
  content: "A";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #c7836c; /* Aの背景色 */
  color: #fff;
  font-weight: bold;
  border-radius: 50%;
  width: 1.8em;
  height: 1.8em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9em;
}

.qasec ol {
    counter-reset: number;
    list-style-type: none !important;
    padding: 0.5em;
    margin: 0 auto;
    width: 75%;
}

.qasec ol li {
    position: relative;
    line-height: 1.2em;
    padding: 0.5em 0.5em 0.5em 45px;
    font-family: "Zen Kaku Gothic", sans-serif;
    font-weight: bold;
    font-size: 20px;
}

.qasec span {
    font-weight: normal;
    font-size: 14px;
}

.qasec ol li:before {
    position: absolute;
    counter-increment: number;
    content: counter(number, decimal-leading-zero);
    display: inline-block;
    background: #DF5F58;
    color: white;
    font-family: 'Zen Kaku Gothic', 'Arial Black', 'Arial', sans-serif;
    font-weight: normal;
    font-size: 20px;
    left: 0;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.soudan {
    margin: 0 auto 30px;
}

.soudan1 {
    font-size: 1.5em;
    line-height: 1.5em;
    font-family: "Zen Maru Gothic", sans-serif !important;
    font-weight: bold !important;
}

.soudan h2 {
    text-align: center !important;
    width: 70%;
    margin: 0 auto 40px !important;
    padding: 0;
}

.dptopimg {
    width: 70%;
    margin: 0 auto;
}

/*===== 25.10追加 助成金P 料金表変更 =====*/
.jyoseiprice {
    text-align: center;
    margin: 0;
    padding: 0;
}

.jyoseiprice p {
    margin: 0;
    padding: 0;
    font: 600 18px / 1.5em "Zen Kaku Gothic", sans-serif;
}

.jyoseiinner {
    margin: 0;
    padding: 0;
}

/*===== 25.10追加 認証制度バナー =====*/
.ssns_mb {
    display: none !important;
}

@media (max-width: 768px) {
.ssns_pc {
	display: none !important;
}
.ssns_mb {
    display: inline-block !important;
}
}

@media (min-width: 1536px){ /* 2xl */ }
@media (min-width: 1280px){ /* xl */ }
@media (min-width: 1024px){ 
.soudan h2 {
    text-align: center !important;
  }	
.soudan h2 {
  font-size: 1.15em;
  font-weight: bold !important;
  text-align: center;
}
.dptopimg {
    width: 80%;
  }
.service-children-title {
        margin: 1.3em auto 1em !important;
        font-size: 1.7em !important;
    }
.dptopimg {
   width: 85%!important;
}
.qasec ol {
  width: 70% !important;
  margin: 20px auto 0;
}
.soudan2 img {
  width: 80% !important;
  margin: 0 auto;
}
	
.soudan h2 {
  font-size: 1.7em !important;
  line-height: 1.9em;
}
	
.dptitle {
        font-size: 2.5em !important;
        margin: 20px auto 50px !important;
        padding: 0 0 20px 0 !important;
    }

.simg {
        display: inline-block !important;
        position: relative;
        vertical-align: bottom;
        width: 90%;
    }

.fmovnone {
    height: 30px !important;
}
	
}
@media (min-width: 768px) {
/*===== 25.10追加 障害年金 =====*/
.service-children-title {
    margin: 1.5em auto;
    font-size: 1.7em;
  }
	
.dptopimg {
  width: 90%;
  margin: 0 auto;
    margin-bottom: 0px;
}
	
.bodyimg {
  text-align: center;
  margin: 30px auto 0;
  width: 90%;
}

 .dptitle {
    font-size: 1.75em;
    margin: 20px auto 50px !important;
    margin-top: 20px;
    margin-bottom: 50px;
    padding: 0 0 10px 0;
  }
	
 .stitleouter li {
    width: 48% !important;
    padding-top: 10px;
    padding-bottom: 10px;
  }
	
.soudaninner h2 {
  margin: 0 auto 20px !important;
  font-weight: bold !important;
  font-size: 1.3em !important;
  line-height: 1.5em;
}

.soudanouter {
  width: 90%;
}
	
.simg {
    display: inline-block !important;
    position: relative;
    vertical-align: bottom;
  }
	
.simg img {
  width: 150px;
  height: auto;
}
	
.qa-block .q {
  font-size: 1.25em;
  padding-bottom: 5px;
}
	
.qa-block .a {
  font-size: 1.2em;
  line-height: 1.5em;
}
	
 .qasec ol {
    width: 70%;
    margin: 20px auto 0;
  }
	
.qasec ol li {
  font-size: 16px;
}

.qa-hero__illust {
  position: absolute;
  right: 10px;
}

.qa-hero__illust2 {
	display: none;
}
	
.nenkin img {
  margin: 20px auto;
  width: 95%;
}

.soudan h2 {
  font-size: 1.15em;
  font-weight: bold !important;
  text-align: center;
}

.soudan2 img {
  width: 90%;
  margin: 0 auto;
}
	
.mobile-main-navigation li {
    position: relative;
    margin: 0;
    padding: 5px 0;
    border-bottom: 1px solid #efefef;
}
	
.mobile-main-navigation li:last-child {
    border-bottom: none;
}
	
}
@media (min-width: 480px) {
/*===== 25.10追加 障害年金 =====*/
.service-children-title {
  margin: 1em auto;
  font-size: 1.7em;
}
	
.dptopimg {
  width: 100%;
  margin: 0 auto;
    margin-bottom: 0px;
}
	
.bodyimg {
  text-align: center;
  margin: 30px auto 0;
  width: 90%;
}

.dptitle {
  font-size: 1.5em;
  margin: 20px auto 50px !important;
  padding: 0;
}
	
.stitleouter li {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}
	
.soudaninner h2 {
  margin: 0 auto 20px !important;
  font-weight: bold !important;
  font-size: 1.3em !important;
  line-height: 1.5em;
}

.soudanouter {
  width: 90%;
}
	
.simg {
  display: none;
}
	
.qa-block .q {
  font-size: 1.25em;
  padding-bottom: 5px;
}
	
.qa-block .a {
  font-size: 1.2em;
  line-height: 1.5em;
}
	
.qasec ol {
  width: 90%;
}
	
.qasec ol li {
  font-size: 16px;
}

.qa-hero__illust {
  position: absolute;
  right: 10px;
}

.qa-hero__illust2 {
	display: none;
}
	
.nenkin img {
  margin: 20px auto;
  width: 95%;
}

.soudan h2 {
  font-size: 1.15em;
  font-weight: bold !important;
  text-align: left;
}

.soudan2 img {
  width: 90%;
  margin: 0 auto;
}
	
.mobile-main-navigation li {
    position: relative;
    margin: 0;
    padding: 5px 0;
    border-bottom: 1px solid #efefef;
}
	
.mobile-main-navigation li:last-child {
    border-bottom: none;
}
}

@media (max-width: 479px) {
	
/*===== 25.10追加 障害年金 =====*/
.service-children-title {
  margin: 1em auto;
  font-size: 1.7em;
}
	
.dptopimg {
  width: 100%;
  margin: 0 auto;
    margin-bottom: 0px;
}
	
.bodyimg {
  text-align: center;
  margin: 30px auto 0;
  width: 90%;
}

.dptitle {
  font-size: 18px;
  margin: 20px auto 50px !important;
  padding: 0;
}
	
.stitleouter li {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}
	
.soudaninner h2 {
  margin: 0 auto 20px !important;
  font-weight: bold !important;
  font-size: 1.3em !important;
  line-height: 1.5em;
}

.soudanouter {
  width: 90%;
}
	
.simg {
  display: none;
}
	
.qa-block .q {
  font-size: 1.25em;
  padding-bottom: 5px;
}
	
.qa-block .a {
  font-size: 1.2em;
  line-height: 1.5em;
}
	
.qasec ol {
  width: 90%;
}
	
.qasec ol li {
  font-size: 16px;
}

.qa-hero__illust {
  position: absolute;
  right: 10px;
}

.qa-hero__illust2 {
	display: none;
}
	
.nenkin img {
  margin: 20px auto;
  width: 95%;
}

.soudan h2 {
  font-size: 1.15em;
  font-weight: bold !important;
  text-align: left !important;
}

.soudan2 img {
  width: 90%;
  margin: 0 auto;
}

.mobile-main-navigation li {
    position: relative;
    margin: 0;
    padding: 5px 0;
    border-bottom: 1px solid #efefef;
}
	
.mobile-main-navigation li:last-child {
    border-bottom: none;
}
	
}
/*===== 障害年金　ここまで =====*/


/*===== TOP PAGE =====*/

.custom-logo {
    width: auto;
    height: 4.35rem;
}

.topsec {
    margin: 120px auto;
}

.vc_custom_1589885329854 {
    background-size: 15px;
}

.nslist {
    background-color: #ffffff;
}

.topplogo {
    width: 43%;
    margin: 0 auto;
    height: auto;
	max-width:60%;
}

.top-h1 {
    text-align: center;
    font-family: 'Zen Maru Gothic', 'NOTO SANS JP';
    font-weight: bold;
    font-style: normal;
    margin-bottom: 30px;
    font-size: 2em;
}

.br-sp {
    display: none;
}

/*- NEWS -*/

.newssec_inner {
    width: 70%;
    margin: 50px auto;
}

.vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 0;
}

.newssec {
    background-size: 15px;
}

.newspic {
    margin-bottom: 0;
}

.newspic img {
    width: 80%;
}

.whatsnew dl {
    font: 500 14px/1em "Noto Sans JP",sans-serif;
}

div.whatsnew hr {
    background-color: #fff;
}

div.whatsnew dd {
    margin: 0;
    padding: 5px 12px;
}

.whatsnewlist {
    margin-bottom: 20px;
}

.pastnews {
    text-align: center;
}

.pastnews a {
    color: #ffffff;
    background-color: #DE6B37;
    padding: 10px 90px;
    font: 600 14px/1em "Noto Sans JP",sans-serif;
    letter-spacing: 0.5px;
    border-radius: 20px;
}

.nslist {
    border-radius: 10px;
    box-shadow: 6px 6px rgba(222, 107, 55, 0.5);
}

.vc_btn3.vc_btn3-color-orange.vc_btn3-style-modern {
    color: #fff;
    border-color: #DE6B37;
    background-color: #DE6B37;
    border-radius: 30px;
    width: 80%;
}

.vc_btn3:hover.vc_btn3-color-orange:hover.vc_btn3-style-modern:hover {
	background-color:#DE6B37;
	opacity:0.8;
}

div.whatsnew dt {
    margin: 0 0 0 0.3em;
    padding: 5px 0;
    border: 0;
    color: Gray;
    font-weight: normal;
    white-space: nowrap;
}

/*- SERVICE -*/

.site {
    max-width: 1600px;
    margin: 0 auto;
}

.servfmov {
	display:none;
}

.headtitle {
    font: 600 1.15em/1.5em "Noto Sans JP",sans-serif !important;
    margin: 10px auto 45px;
}

.desc p {
    font: 400 14px/2em "Noto Sans JP",sans-serif;
    width: 71%;
    margin: 0 auto;
    height: auto;
    text-align: left;
}

.servsec {
    width: 70%;
    height: auto;
    margin: 0 auto;
}

.servpics h2 {
    font-size: 0.95rem;
    color: #ffffff;
    background-color: #2b4075;
    padding: 5px 0;
    border-radius: 5px;
    z-index: 9999;
}

.servpics img {
    width: 190px;
    margin: 0 auto;
    height: auto;
}

.serv4mov {
    display: none;
}

.servup {
    margin: -80px auto;
}

.servheader {
    margin-bottom: 60px;
}

.servlsec {
    width: 30%;
    margin: 0 auto;
}

.servlogosec {
    margin: -360px auto 40px;
}

.servleft h2,.servright h2 {
    margin-left: 0;
    text-align: center;
}

.bgcolor th {
    background-color: #2b4075 !important;
    vertical-align: top !important;
}

.bgcolor h4 {
    margin: 0 0 10px;
    font-size: 17px;
}

.bgcolor {
    color: #ffffff !important;
    margin: 15px 0;
}

.bgcolor th {
    border: 1px solid #ffffff;
}

/*- ABOUT -*/

.servright {
    width: 100%;
    height: auto;
    margin: 0;
    display: inline-block;
}

.servleft {
    width: 100%;
    margin: 0;
    padding: 0;
    height: auto;
    display: inline-block;
}

.aboutsec {
    width: 75%;
    height: auto;
    margin: 40px auto;
}

.abouttxt {
    color: #2b4075;
    background-color: #ffffff;
    border-radius: 5px;
    padding: 30px;
    margin: 0px auto;
    font: 400 0.9em/2em "Noto Sans JP",sans-serif;
}

.aboulist {
    margin: 0 auto 40px;
    padding: 0;
    width: 90%;
}

.aboubtn {
    margin: 0;
    padding: 0;
}

.aboulist ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.aboulist strong {
    font-weight: bold;
    font-family: sans-serif;
}

.aboulist li {
    margin: 0;
    padding: 0;
    font: 400 12px/1.6em "Noto Sans JP",sans-serif;
    list-style: none !important;
}

.abtitle:first-child {
	margin:0 !important;
}

.abtitle {
    margin: 16px 0 0 !important;
}

.entry-content ul:not(.slick-dots) li:before {
    content: none;
}

.txtsec {
    background-color: #ffffff;
    border-radius: 5px;
    height: 400px !important;
}

iframe {
    border-radius: 5px!important;
}

.tocon2 {
    text-align: center;
}

/*- CONTACT -*/

.topconsec {
    width: 60%;
    height: auto;
    margin: 0 auto;
}

.topconpic img {
    width: 70%;
}

.tcontitle {
    font: 600 0.9em/1.5em sans-serif,"Noto Sans JP" !important;
    margin: 0 0 15px;
    padding: 0;
}

.btminfo h2 {
    margin: 10px 0 20px;
    padding: 0;
    font: 700 1.65rem/1em "Noto Sans JP",sans-serif;
    color: #2b4075;
}

.btminfo p {
    margin: 12px 0;
    padding: 0;
    font: 400 13px/1em "Noto Sans JP",sans-serif;
}

.tocon {
    text-align: left;
}

.tocon a {
    color: #ffffff;
    background-color: #DE6B37;
    padding: 10px 90px;
    font: 600 14px/1em "Noto Sans JP",sans-serif;
    letter-spacing: 0.5px;
    border-radius: 5px;
}

.tocon2 a {
    color: #ffffff;
    background-color: #DE6B37;
    padding: 10px 70px;
    font: 600 14px/1em "Noto Sans JP",sans-serif;
    letter-spacing: 0;
    border-radius: 5px;
}

.toconmargin {
    margin: 0;
    padding: 0;
}

/*===== NEWS PAGE =====*/

.post-navigation {
    display: none;
}

.entry-header {
    padding: 0;
    text-align: left;
    margin: 0 auto;
}

.titlespace {
    margin-bottom: 20px;
}

/*===== SERVICE PAGE =====*/

.intrimg {
	display:none;
}

.servcol {
    background-color: #ffffff;
    width: 60%;
    margin: 0 auto;
    border: 3px solid #2b4075;
    border-radius: 10px;
    padding: 20px 0 0;
    box-shadow: 6px 6px rgba(43, 64, 117, 0.5);
	max-width:1400px;
}

.servpagetitle {
  margin: 10px auto 0;
  padding: 0;
  color: #2b4075;
  width: 80%;
}

.titlentxt {
    font: 16px / 1.8em "Noto Sans JP", sans-serif;
    padding: 0;
    margin: 0 auto;
    width: 85%;
}

.imgright {
    position: absolute;
    top: 50px;
    right: -30px;
    margin: 0;
    padding: 0;
}

.imgright2 {
    position: absolute;
    top: 30px;
    left: -70px;
    right: 0px;
    margin: 0;
    padding: 0;
}

.imgright3 {
    position: absolute;
    top: 0;
    left: -60px;
    right: 0px;
    margin: 0;
    padding: 0;
}

.imgrightfmov {
    display: none;
}

.flow {
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    padding: 0 0 40px;
    width: 30%;
    display: inline-block;
    vertical-align: top;
    margin: 0 20px;
}

.flow span {
    background-color: #DE6B37;
    padding: 15px 18px;
    border-radius: 50%;
    color: #ffffff;
    display: inline-block;
    top: -20px;
    position: relative;
    font-size: 2em;
}

.flowinner {
    width: 75%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.flow h3 {
    padding: 0;
    margin: 0 auto 20px;
    color: #2B4075;
}

.flow p {
    padding: 0;
    margin: 0 auto;
    width: 80%;
    font: 14px/1.6em "Noto Sans JP",sans-serif;
	text-align:left;
}

.servprice {
    width: 70%;
    margin: 0 auto;
}

.servprice div {
    position: relative;
    vertical-align: middle;
    display: inline-block;
}

.prilogo {
    width: 27%;
    margin: 0 30px 0 0;
}

.pricetxt {
    width: 60%;
    font: 14px/1.6em "Noto Sans JP",sans-serif;
	color:#ffffff;
}

.pricetxt h3 {
    font: 600 1.15em/1.5em "Noto Sans JP",sans-serif;
    color: #ffffff;
}

.pricetxt h4 {
    font: 600 1.15em/1.5em "Noto Sans JP",sans-serif;
    color: #2b4075;
    background-color: #ffffff;
    padding: 6px 20px;
    border-radius: 5px;
}

.pricetxt ul, li {
    list-style: circle;
}

.prilogo img {
    width: 80%;
}

.vc_do_custom_heading {
    margin-bottom: 2.925rem !important;
    margin-top: 3rem !important;
}

.priceinner {
    background: #ffffff;
    width: 80%;
    padding: 30px;
    margin: 30px auto 90px;
    border-radius: 10px;
}

/*===== ABOUT PAGE =====*/

.abocol {
    background-color: #ffffff;
    width: 60%;
    margin: 0 auto;
    border-radius: 10px;
    padding: 20px 0 0;
    box-shadow: 6px 6px rgba(222, 107, 55, 0.5);
}

.aboutinner {
    width: 90%;
    margin: 30px auto 20px;
    height: auto;
}

.aboutptitle {
    font: 600 1.1em/1.5em "Noto Sans JP",sans-serif;
}

.abtitlentxt {
    font: 14px/1.6em "Noto Sans JP",sans-serif;
    padding: 0;
    margin: 0;
    width: 90%;
}

.aboutpics img {
    width: 60%;
    margin: 0 auto;
    height: auto;
}

.abheadtitle {
    margin: 10px auto 0;
}

.abtttxt {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    border-radius: 10px;
    z-index: -9999;
}

.introuter {
    width: 60%;
    margin: 40px auto 60px;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 0 0 50px;
}

.intrpic {
    position: relative;
    top: -50px;
    right: -60px;
    margin: 0;
    padding: 0;
    text-align: right !important;
}

.intrpic img {
    border-radius: 50%;
    margin: 0 auto;
}

.abtitlentxt ul, li {
    list-style: none;
    padding: 0;
    margin: 0;
}

.abttwidth {
    width: 100%;
    margin: 50px auto;
    padding: 0 10px;
}

.infolist {
    width: 80%;
    margin: 0 auto;
}

.info_inner {
    width: 45%;
    display: inline-block;
    vertical-align: top;
}

.gmapsec {
    width: 70%;
    margin: 0 auto 60px;
}

.info_inner {
    width: 45%;
    display: inline-block;
    vertical-align: top;
    margin: 0 auto 30px;
}

.info_inner h3 {
    margin: 0 auto 10px;
    padding: 0;
    font-size: 1.2rem;
}

.info_inner p {
    margin: 0;
    padding: 0;
}

.privacy {
    width: 100%;
    margin: 20px auto 30px;
    height: 190px;
    overflow: scroll;
    background-color: #f5f5f5;
    padding: 0;
    border-radius: 10px;
}

.tkgnform {
    width: 90%;
    margin: 0 auto;
    height: auto;
}

.privacy h3 {
    width: 90%;
    height: auto;
    margin: 30px auto 10px;
    padding: 10px 10px;
    background-color: #2B4075;
    color: #ffffff;
    font-size: 1.1em;
    border-radius: 5px;
}

.privacy p {
    width: 90%;
    margin: 0 auto;
    padding: 10px 0px;
}

.srvlogo img {
    border-radius: 50%;
    border: 1px solid #f5f5f5;
}

/*===== CONTACT PAGE =====*/

span.wpcf7-list-item {
    display: inline-block;
    margin: 0;
}

span.wpcf7-list-item {
    display: inline-block;
    margin: 0 auto 15px;
}

.wpcf7-submit {
    width: 50% !important;
    margin: 0 auto 50px;
    background-color: #DE6B37 !important;
}

.privacysubmit {
    text-align: center;
}

.tkgnform tbody, .tkgnform tbody th, .tkgnform tbody td {
    border: none !important;
}

.entry-content tbody tr:nth-child(even) {
    background-color: #ffffff;
}

span.req {
    background-color: #e74c3c;
    color: #ffffff;
    border-radius: 5px;
    font-size: 12px;
    padding: 3px 7px;
    margin-left: 10px;
}

.tkgnform th, td {
    vertical-align: top;
    font-size: 13px;
}

.wpcf7-form-control {
    width: 100%;
}

.teltitle {
    font-size: 3em !important;
    margin: 0px auto 30px;
    padding: 0;
}

p.ohour {
    text-align: center;
}

.contacttxt {
    width: 80%;
    margin: 30px auto 0;
    padding: 0;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    padding: 10px 20px;
    background-color: #e74c3c;
    color: #ffffff;
    border-radius: 3px;
	border:none;
}

#fornews {
	display:inline-block;
}

.wpcf7 .ajax-loader {
	margin: 0 -48px 0 24px;
}


/*===== NEWS PAGE =====*/

.fnewssec {
    width: 80%;
    margin: 50px auto;
}

#fornews {
    display: inline-block;
    width: 100%;
}

.bcsecond {
    margin-bottom: 35px;
}

.ntimgc {
    margin-bottom: 35px;
    text-align: center;
}

.footleft, .footright {
    width: 45%;
    height: auto;
    margin: 20px auto;
    display: inline-block;
    vertical-align: middle;
}

.footright img {
    width: 70%;
}

.footleft {
    text-align: left;
}

div#hihyouji {
    text-align: center;
}

.newsconsec {
    width: 60%;
    margin: 35px auto;
}

.footlink {
    margin-top: 35px;
}

.fnewssec {
    width: 100%;
    margin: 0 auto;
    background-color: #2B4075;
    padding: 30px 0 50px;
}

.widget {
    background: none;
	box-shadow: none !important;
}

.fnewinner {
    width: 80%;
    height: auto;
    margin: 0 auto;
}

.widget-title {
    text-align: left;
	color: #ffffff;
	margin: 0 0 1em;
}

.widget a {
    color: #ffffff;
}


.tkgninner {
    padding: 40px;
    background-color: #ffffff;
    margin: 20px auto 40px !important;
    border-radius: 5px;
}

.hentry {
	box-shadow:none;
}

#banner_area {
	padding: 35px 0 35px 0;
	background-color: #f5f5f5;
}

.banner_box {
	display:flex;
	justify-content: center;
}

.banner_box a {
	margin: auto 5% 5%;
}

.banner_box img {
	max-width:700px;
}

@media screen and (min-width: 769px){ 
.banner_h2 br {display: none;}
}

@media screen and (max-width: 768px){
#banner_area {text-align: center;}
.banner_box {display: block;}
.banner_box img {width:220px; height: auto; margin:0 5% 5% 5%;}
.banner_box .sr_banner {width:70%;}
.banner_box a {margin: 0;}
}

/******************* RESPONSIVE **********************/

/* LARGE DESKTOP */
@media screen and (max-width: 1279px){

/*===== TOP PAGE =====*/

.servsec {
    width: 70%;
    height: auto;
    margin: 0 auto;
}

.pastnews a {
    padding: 10px 40px;
}

.servlogosec {
    margin: -370px auto 40px;
}

/*===== SERVICE PAGE =====*/

.tocon {
    text-align: left;
    margin-bottom: 50px;
}

.tocon a {
    padding: 10px 30px;
}

.tocon2 a {
    padding: 10px 30px;
}

/*===== CONTACT PAGE =====*/

.concol {
	width: 80%;
}

.tkgnform {
    width: 90%;
    margin: 0 auto;
    height: auto;
}

}

/* DESKTOP */
@media only screen and (min-width: 981px) and (max-width: 1024px) {

/*===== TOP PAGE =====*/

.servsec {
    width: 80%;
    height: auto;
    margin: 0 auto;
}

.pastnews a {
    padding: 10px 20px;
}

.servlogosec {
    margin: -280px auto 40px;
}

/*===== SERVICE PAGE =====*/

.imgright {
    top: 0px;
    left: -10px;
    right: -30px;
}

.imgright2 {
    top: -10px;
    left: -40px;
    right: 0px;
}

.imgright3 {
    position: absolute;
    top: 0px;
    left: -70px;
    right: 0px;
    margin: 0;
    padding: 0;
}

.fmovnone{
	display:none;
}

.fmovinshow {
    margin-bottom: 90px;
}

.fmovbtm {
    margin-bottom: 100px;
}

.fmovbtm2 {
    margin-bottom: 120px;
}

.titlentxt {
    width: 90%;
}

.servcol {
    width: 70%;
}

.tocon {
    text-align: left;
    margin-bottom: 50px;
}

.tocon a {
    padding: 10px 30px;
}

.tconlist {
    text-align: center;
    margin-bottom: 50px;
}

/*===== CONTACT PAGE =====*/

.tkgnform {
    width: 100%;
    margin: 0 auto;
    height: auto;
}

}

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

/*===== TOP PAGE =====*/

.servsec {
    width: 70%;
    height: auto;
    margin: 0 auto;
}

.pastnews a {
    padding: 10px 20px;
}

.servlogosec {
    margin: -350px auto 40px;
}

/*===== SERVICE PAGE =====*/

.imgright {
    top: 0px;
    left: -10px;
    right: -30px;
}

.imgright2 {
    top: -10px;
    left: -40px;
    right: 0px;
}

.fmovnone{
	display:none;
}

.fmovinshow {
    margin-bottom: 90px;
}

.fmovbtm {
    margin-bottom: 90px;
}

.fmovbtm2 {
    margin-bottom: 120px;
}

.titlentxt {
    width: 90%;
}

.servcol {
    width: 70%;
}

.tocon {
    text-align: left;
    margin-bottom: 50px;
}

.tocon a {
    padding: 10px 30px;
}

/*===== CONTACT PAGE =====*/

.tkgnform {
    width: 100%;
    margin: 0 auto;
    height: auto;
}

}

/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 831px) and (max-width: 980px) {

/*===== HEADER/FOOTER PAGE =====*/

.custom-logo {
    width: auto;
    height: 3.5rem;
}

.conlink {
    text-align: left !important;
}

.tocon {
    text-align: left;
    margin-bottom: 50px;
}

.tocon a {
    padding: 10px 30px;
}

.topconsec {
    width: 70%;
}

.imgright3 {
    top: 0;
    left: -60px;
    right: 0px;
}

.servpagetitle {
    font-size: 1.5rem;
}

.pastnews a {
    padding: 10px 40px;
}

/*===== TOP PAGE =====*/

.servsec {
    width: 82%;
    height: auto;
    margin: 0 auto;
}

.pastnews a {
    padding: 10px 20px;
}

.servlogosec {
    margin: -330px auto 40px;
}

.aboutsec {
    width: 90%;
    height: auto;
    margin: 40px auto;
}

.newsconsec {
    width: 70%;
    margin: 35px auto;
}

/*===== SERVICE PAGE =====*/

.imgright {
    top: 0px;
    left: -10px;
    right: -30px;
}

.imgright2 {
    top: -10px;
    left: -40px;
    right: 0px;
}

.fmovnone{
	display:none;
}

.fmovinshow {
    margin-bottom: 90px;
}

.fmovbtm {
    margin-bottom: 70px;
}

.fmovbtm2 {
    margin-bottom: 120px;
}

.titlentxt {
    width: 90%;
}

.servcol {
    width: 70%;
}

.flowinner {
    width: 80%;
    margin: 0px auto;
    display: block;
    justify-content: center;
}

.flow {
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    padding: 0 0 40px;
    width: 90%;
    display: block;
    vertical-align: top;
    margin: 0 auto 40px;
}

/*===== ABOUT PAGE =====*/

.abocol {
    width: 80%;
}

.tkgninfo {
    width: 90%;
    margin: 0 auto 50px !important;
}

.infoblock {
    display: block;
    width: 100%;
}

.infoblock2 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.infoblock2 > .vc_column-inner {
    padding: 0;
}

.infolist {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.info_inner {
    text-align: left;
}

.dnonefmob {
    display: none;
}

.aboutmap {
    margin: 10px auto;
}

.gmapsec {
    width: 80%;
    margin: 0 auto 60px;
}

.introuter {
    width: 70%;
}

.abtttxt {
    margin: 0 0 0 40px;
}

.intrpic {
    right: -40px;
}

.tconlist {
    text-align: center;
    margin-bottom: 50px;
}

/*===== CONTACT PAGE =====*/

.tkgnform {
    width: 90%;
}

.tkgnform th, .tkgnform td {
    vertical-align: top;
    font-size: 13px;
    display: block;
    font-weight: 400;
}

.concol {
    width: 85%;
}

}

/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 811px) and (max-width: 830px) {

/*===== HEADER/FOOTER PAGE =====*/

.custom-logo {
    width: auto;
    height: 3.5rem;
}

.conlink {
    text-align: left !important;
}

.tocon a {
    padding: 10px 30px;
}

.tocon2 a {
    padding: 10px 20px;
}

.topconsec {
    width: 70%;
}

.imgright3 {
    top: 20px;
    left: -60px;
    right: 0px;
}

.servpagetitle {
    font-size: 1.5rem;
    width: 100%;
}

/*===== TOP PAGE =====*/

.servsec {
    width: 90%;
    height: auto;
    margin: 0 auto;
}

.pastnews a {
    padding: 10px 20px;
}

.servlogosec {
    margin: -280px auto 40px;
}

/*===== SERVICE PAGE =====*/

.servpagetitle {
    margin: 10px 20px 20px;
    padding: 0;
    color: #2b4075;
    width: 80%;
    font-size: 1.5rem;
}
.imgright {
    top: 0px;
    left: -10px;
    right: -30px;
}

.imgright2 {
    top: 0px;
    left: -40px;
    right: 0px;
}

.fmovnone{
	display:none;
}

.fmovinshow {
    margin-bottom: 50px;
}

.fmovbtm {
    margin-bottom: 40px;
}

.fmovbtm2 {
    margin-bottom: 50px;
}

.titlentxt {
    width: 90%;
}

.servcol {
    width: 70%;
}

.flowinner {
    width: 80%;
    margin: 0px auto;
    display: block;
    justify-content: center;
}

.flow {
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    padding: 0 0 40px;
    width: 90%;
    display: block;
    vertical-align: top;
    margin: 0 auto 40px;
}

.topconsec {
    width: 80%;
    height: auto;
    margin: 0 auto;
}

.newsconsec {
    width: 80%;
    margin: 35px auto 0;
}
	
	#banner_area .newsconsec {
    margin: 35px auto;
	}

.aboutsec {
    width: 90%;
    height: auto;
    margin: 40px auto;
}


/*===== ABOUT PAGE =====*/

.abocol {
    width: 80%;
}

.tkgninfo {
    width: 90%;
    margin: 0 auto 50px !important;
}

.infoblock {
    display: block;
    width: 100%;
}

.infoblock2 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.infoblock2 > .vc_column-inner {
    padding: 0;
}

.infolist {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.info_inner {
    text-align: left;
}

.tocon {
    text-align: left;
    margin-bottom: 50px;
}

.dnonefmob {
    display: none;
}

.aboutmap {
    margin: 10px auto;
}

.gmapsec {
    width: 80%;
    margin: 0 auto 60px;
}

.introuter {
    width: 70%;
}

.abtttxt {
    margin: 0 0 0 40px;
}

.intrpic {
    right: -40px;
}

.tconlist {
    text-align: center;
    margin-bottom: 50px;
}

/*===== CONTACT PAGE =====*/


.tkgnform {
    width: 100%;
}

.tkgnform th, td {
    vertical-align: top;
    font-size: 13px;
    display: block;
    font-weight: 400;
}

.concol {
    width: 85%;
}

}

@media only screen and (min-width: 769px) and (max-width: 810px) {

/*===== HEADER/FOOTER PAGE =====*/

.conlink {
    text-align: left !important;
}

.tocon a {
    padding: 10px 30px;
}

.topconsec {
    width: 70%;
}

.imgright3 {
    top: 20px;
    left: -60px;
    right: 0px;
}

.servpagetitle {
    font-size: 1.5rem;
    width: 100%;
}

.custom-logo {
    width: auto;
    height: 3.5rem;
}


/*===== TOP PAGE =====*/

.newssec_inner {
    width: 90%;
    margin: 50px auto;
}

.headtitle {
    font: 600 1.15em/1.5em "Noto Sans JP",sans-serif !important;
    margin: 10px auto 20px;
}

.servsec {
    width: 80%;
    height: auto;
    margin: 0 auto;
}

.toconsecond {
    display: none;
    width: 60%;
    margin: 0 auto 30px;
}

.topconpic {
    display: inline-block;
}

.newsconsec {
    width: 80%;
    margin: 35px auto 0;
}
	
	#banner_area .newsconsec {
    margin: 35px auto;
	}

.topconsec {
    width: 80%;
    text-align: center;
    margin: 0 auto 20px;
}

.btminfo {
    padding: 0;
}

.tconouter {
    margin: 20px auto !important;
}

.serv4mov {
    display: block;
}

.serv4mov img {
    width: 25%;
    margin: 0 auto;
    text-align: center;
}

.servwidth {
    width: 45%;
    display: inline-block;
    margin: 0 auto;
    float: none;
}

.btmcol {
    width: 45%;
    height: auto;
    margin: 0 auto;
    display: inline-block;
}

.servleft,.servright {
    width: 90%;
    margin: 0;
    height: auto;
    display: inline-block;
}

.delmb {
    display: none;
}

.servlogo {
    margin: 0;
    display: none;
}

.servsec {
    width: 80%;
    height: auto;
    margin: 0 auto;
    text-align: center;
}

.servheader {
    margin-bottom: 0px;
}

.aboutsec {
    width: 90%;
    height: auto;
    margin: 40px auto;
}

.tocon2 a {
    color: #ffffff;
    background-color: #DE6B37;
    padding: 10px 20px;
}

.servpics {
    text-align: center !important;
    width: 75%;
    margin: 0 auto 30px;
}

.servpics img {
    width: 100%;
    margin: 0 auto;
    height: auto;
}

.wpb_single_image .vc_single_image-wrapper {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
}

.servwidth div {
    padding: 0 !important;
}

.servpics h2 {
    font-size: 14px;
    font-weight: 500;
    width: 90%;
    margin: 0 auto;
    position: relative;
    bottom: -10px;
}

.servleft h2 {
    margin: 0 auto;
}

.servright h2 {
    margin: 0 auto;
}

.servlogosec {
    margin: 0 auto;
}

.servlsec {
    width: 100%;
    margin: 10px auto 30px;
}

/*===== SERVICE PAGE =====*/

.imgright {
    top: 0px;
    left: -10px;
    right: -30px;
}

.imgright2 {
    top: 0px;
    left: -40px;
    right: 0px;
}

.fmovnone{
	display:none;
}

.fmovinshow {
    margin-bottom: 50px;
}

.fmovbtm {
    margin-bottom: 40px;
}

.fmovbtm2 {
    margin-bottom: 50px;
}

.titlentxt {
    width: 90%;
}

.servcol {
    width: 70%;
}

.flowinner {
    width: 80%;
    margin: 0px auto;
    display: block;
    justify-content: center;
}

.flow {
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    padding: 0 0 40px;
    width: 90%;
    display: block;
    vertical-align: top;
    margin: 0 auto 40px;
}

/*===== ABOUT PAGE =====*/

.abocol {
    width: 80%;
}

.tkgninfo {
    width: 90%;
    margin: 0 auto 50px !important;
}

.infoblock {
    display: block;
    width: 100%;
}

.infoblock2 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.infoblock2 > .vc_column-inner {
    padding: 0;
}

.infolist {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.info_inner {
    text-align: left;
}

.tocon {
    text-align: left;
    margin-bottom: 50px;
}

.conlinkbtm {
    text-align: center;
}

.tconlist {
    text-align: center;
    margin-bottom: 50px;
}

.dnonefmob {
    display: none;
}

.aboutmap {
    margin: 10px auto;
}

.gmapsec {
    width: 80%;
    margin: 0 auto 60px;
}

.introuter {
    width: 70%;
}

.abtttxt {
    margin: 0 0 0 40px;
}

.intrpic {
    right: -40px;
}

/*===== CONTACT PAGE =====*/


.tkgnform {
    width: 100%;
}

.tkgnform th, .tkgnform td {
    vertical-align: top;
    font-size: 13px;
    display: block;
    font-weight: 400;
}

.concol {
    width: 85%;
}

}


/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 768px) {

/*===== TOP PAGE =====*/

.custom-logo {
    width: auto;
    height: 3.5rem;
}

.topplogo {
    width: 60%;
}

.pastnews {
    text-align: center;
    margin: 30px auto 30px;
}

.pastnews a {
    padding: 10px 40px;
    border-radius: 10px;
}

.newspic img {
    width: 60%;
    margin: 0 auto 20px;
}

.servheader {
    margin: 10px auto 0;
}

.headtitle {
    font: 600 1.1em/1.5em "Noto Sans JP",sans-serif !important;
    margin: 10px auto 25px;
    width: 70%;
    text-align: left !important;
}

.topsec h2 {
    font-size: 1.5em;
}

.servsec {
    width: 80%;
    height: auto;
    margin: 0 auto;
}

.toconsecond {
    display: block;
    width: 60%;
    margin: 0 auto 30px;
}
.topconpic {
    display: none;
}

.topconsec {
    width: 80%;
    text-align: center;
    margin: 0 auto 20px;
}

.btminfo {
    padding: 0 0 25px;
}

.tconouter {
    margin: 20px auto !important;
}

.serv4mov {
    display: block;
}

.serv4mov img {
    width: 40%;
    margin: 0 auto;
    text-align: center;
}

.servup {
    margin: 0px auto;
        margin-bottom: 0px;
}

.servwidth {
    width: 44%;
    display: inline-block;
    margin: 10px auto;
}

.btmcol {
    width: 45%;
    height: auto;
    margin: 0 auto;
    display: inline-block;
}

.servleft,.servright {
    width: 90%;
    margin: 0;
    height: auto;
    display: inline-block;
}

.delmb {
    display: none;
}

.servlogo {
    margin: 0;
    display: none;
}

.servsec {
    width: 80%;
    height: auto;
    margin: 0 auto;
    text-align: center;
}

.servpics {
    text-align: center !important;
}

.servpics img {
    width: 100%;
    margin: 0 auto;
    height: auto;
}

.wpb_single_image .vc_single_image-wrapper {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
}

.servwidth div {
    padding: 0 !important;
}

.servpics h2 {
    font-size: 14px;
    font-weight: 500;
    width: 90%;
    margin: 0 auto;
    position: relative;
    bottom: -10px;
}

.servleft h2 {
    margin: 0 auto;
}

.servright h2 {
    margin: 0 auto;
}

.servlogosec {
    margin: 0 auto;
}

.servlsec {
    width: 100%;
    margin: 10px auto 30px;
}

.abpics {
    width: 60%;
    margin: 0 auto 30px !important;
}

.aboutsec {
    width: 75%;
    height: auto;
    margin: 20px auto 0 !important;
}

.txtsec {
    background-color: #ffffff;
    border-radius: 5px;
    height: 400px !important;
    margin: 20px auto;
}

.aboutspace {
    padding: 20px 0 30px;
}

.tocon2 a {
    padding: 10px;
    font-size: 13px;
}

tocon2 a {
    padding: 10px 20px;
}

.tocon2 {
    text-align: center;
    margin-top: 40px;
}

/*===== NEWS PAGE =====*/

.posts-navigation {
    border-top: 2px solid #f8f8f8;
	background:none;
}

.ntimgc img {
    width: 80%;
}

.bcsecond {
    margin-bottom: 10px;
}

.entry-header {
    padding: 0;
    text-align: left;
    margin: 0 auto;
}

.entry-content {
    margin-top: 0;
}

.post-meta {
    margin-bottom: 10px;
}

.footleft, .footright {
    width: 90%;
    height: auto;
    margin: 6px auto;
    display: inline-block;
    vertical-align: middle;
}

.confnews {
    margin: 0 auto 20px !important;
    width: 45% !important;
}

.newsconsec2 {
    margin: 19px auto;
    width: 90%;
}

.btm2 {
    padding: 0;
    text-align: center;
}

.tcontitle2 {
    text-align: center !important;
}

/*===== SERVICE PAGE =====*/

.intrimg {
    display: block;
}

.intrimg img {
    border-radius: 50%;
    margin: 40px auto 30px;
}

.intrpic {
    display: none;
}

.intimg {
	display:block;
}

.headtitle {
    margin: 0px auto 25px;
    text-align: center !important;
}

.fmovnone {
    display: none;
}

.imgright {
	display:none;
}

.imgrightfmov {
    display: block;
    text-align: center !important;
}

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

.titlentxt {
    margin: 0 auto;
}

.imgright2 {
    position: relative;
    top: 0;
    left: 0;
    right: 0px;
    margin: 0;
    padding: 0;
    display: block;
    text-align: center !important;
}

.imgright3 {
    position: relative;
    top: 0;
    left: 0;
    right: 0px;
    margin: 0;
    padding: 0;
    display: block;
    text-align: center !important;
}

.flowinner {
    width: 80%;
    margin: 0px auto;
    display: block;
    justify-content: center;
}

.flow {
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    padding: 0 0 40px;
    width: 90%;
    display: block;
    vertical-align: top;
    margin: 0 auto 40px;
}

.servpagetitle {
    margin: 10px auto 20px;
    font-size: 1.5em;
    text-align: center !important;
}

.servprice div {
    position: relative;
    display: block;
}

.pricetxt {
    width: 90%;
    font: 14px/1.6em "Noto Sans JP",sans-serif;
    color: #ffffff;
    margin: 10px auto 50px;
}

.pricetxt ul {
    margin: 25px auto;
}

.prilogo {
    width: 40%;
    margin: 0 auto;
    text-align: center;
}

/*===== ABOUT PAGE =====*/

.aboutptitle {
    font: 600 1em/1.5em "Noto Sans JP",sans-serif;
    margin: 1.5em auto;
	width: 90%;
}

.abtitlentxt {
    font: 14px/1.6em "Noto Sans JP",sans-serif;
    margin: 0 auto;
    width: 90%;
}

.abocol {
    width: 80%;
}

.gmapsec {
    width: 80%;
}

.infolist {
    width: 90%;
    margin: 40px auto 0;
}

.tkgninfo {
    text-align: center;
}

.info_inner {
    width: 70%;
    display: inline-block;
    vertical-align: top;
    margin: 20px auto !important;
    text-align: left;
}

.tocon {
    text-align: center;
}

.tocon a {
    padding: 10px 40px;
    letter-spacing: 0;
}

.introuter {
    width: 80%;
}

.intrpic {
    top: 0;
    right: 0;
    margin: 0 auto !important;
    text-align: center !important;
}

/*===== CONTACT PAGE =====*/

.tkgnbc p {
    width: 90%;
}

.wpb_content_element {
    margin-bottom: 10px;
}

.wpb_single_image .vc_single_image-wrapper {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
}

.servcol {
    width: 80%;
}

.contacttxt {
    width: 80%;
    margin: 0 auto;
    padding: 0 0 20px;
    font-size: 12px;
}

.teltitle {
    font-size: 2.5em !important;
    margin: 0px auto 20px;
    padding: 0;
}

.tkgnform th, .tkgnform td {
    vertical-align: top;
    font-size: 13px;
    display: block;
    font-weight: 400;
}

.tkgnform {
    width: 90%;
    margin: 30px auto;
    height: auto;
}

.privacy h3 {
    width: 90%;
    font-size: 1.1em;
    font-weight: 500;
}

privacy p {
    font-size: 12px;
}

.wpcf7-submit {
    width: 100% !important;
    margin: 0 auto 0px;
}

.tkgnfooter ul {
    display: none;
}

.tkgnfooter {
    width: 90%;
}


}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
	
/*===== TOP PAGE =====*/

.custom-logo {
    width: auto;
    height: 3.5rem;
}

.topplogo {
    width: 80%;
}

.pastnews {
    text-align: center;
    margin: 30px auto 30px;
}

.pastnews a {
    padding: 10px 30px;
    border-radius: 10px;
}

.newspic img {
    width: 60%;
    margin: 0 auto 20px;
}

.servheader {
    margin: 10px auto 0;
}

.headtitle {
    font: 600 1.1em/1.5em "Noto Sans JP",sans-serif !important;
    margin: 10px auto 25px;
    width: 70%;
    text-align: left !important;
}

.topsec h2 {
    font-size: 1.5em;
}

.servsec {
    width: 80%;
    height: auto;
    margin: 0 auto;
}

.toconsecond {
    display: block;
    width: 60%;
    margin: 0 auto 30px;
}
.topconpic {
    display: none;
}

.topconsec {
    width: 80%;
    text-align: center;
    margin: 0 auto 20px;
}

.top-h1 {
    font-size: 20px;
}

.br-sp {
    display: block;
}

.btminfo {
    padding: 0 0 25px;
}

.tconouter {
    margin: 20px auto !important;
}

.serv4mov {
    display: block;
}

.serv4mov img {
    width: 40%;
    margin: 0 auto;
    text-align: center;
}

.servwidth {
    width: 44%;
    display: inline-block;
    margin: 10px auto 30px;
}

.servlogo {
    margin: 0;
    display: none;
}

.servsec {
    width: 90%;
    height: auto;
    margin: 0 auto;
    text-align: center;
}

.servpics {
    text-align: center !important;
}

.servpics img {
    width: 100%;
    margin: 0 auto;
    height: auto;
}

.wpb_single_image .vc_single_image-wrapper {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
}

.servwidth div {
    padding: 0 !important;
}

.servpics h2 {
    font-size: 12px;
    font-weight: 500;
    width: 90%;
    margin: 0 auto;
    position: relative;
    bottom: -10px;
}

.servleft h2 {
    margin: 0 auto;
}

.servright h2 {
    margin: 0 auto;
}

.servlogosec {
    margin: 0 auto;
}

.servlsec {
    width: 100%;
    margin: 10px auto 30px;
}

.abpics {
    width: 60%;
    margin: 0 auto 30px !important;
}

.aboutsec {
    width: 75%;
    height: auto;
    margin: 20px auto 0 !important;
}

.txtsec {
    background-color: #ffffff;
    border-radius: 5px;
    height: 400px !important;
    margin: 20px auto;
}

.aboutspace {
    padding: 20px 0 30px;
}

.tocon2 a {
    padding: 10px 30px;
}

.tocon2 {
    text-align: center;
    margin-top: 40px;
}

.btmcol {
    width: 45%;
    height: auto;
    margin: 0 auto;
    display: inline-block;
}

.servleft,.servright {
    width: 90%;
    margin: 0;
    height: auto;
    display: inline-block;
}

.delmb {
    display: none;
}

/*===== NEWS PAGE =====*/

.posts-navigation {
    border-top: 2px solid #f8f8f8;
	background:none;
}

.ntimgc img {
    width: 80%;
}

.bcsecond {
    margin-bottom: 10px;
}

.entry-header {
    padding: 0;
    text-align: left;
    margin: 0 auto;
}

.entry-content {
    margin-top: 0;
}

.post-meta {
    margin-bottom: 10px;
}

.footleft, .footright {
    width: 90%;
    height: auto;
    margin: 6px auto;
    display: inline-block;
    vertical-align: middle;
}

.confnews {
    margin: 0 auto 20px !important;
    width: 45% !important;
}

.newsconsec2 {
    margin: 19px auto;
    width: 90%;
}

.btm2 {
    padding: 0;
    text-align: center;
}

.tcontitle2 {
    text-align: center !important;
}

/*===== SERVICE PAGE =====*/

.intrimg {
    display: block;
}

.intrimg img {
    border-radius: 50%;
    margin: 40px auto 30px;
}

.intrpic {
    display: none;
}

.intimg {
	display:block;
}

.headtitle {
    margin: 0px auto 25px !important;
    text-align: center !important;
  }

.fmovnone {
    display: none;
}

.imgright {
	display:none;
}

.imgrightfmov {
    display: block;
    text-align: center !important;
}

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

.titlentxt {
    margin: 0 auto;
}

.imgright2 {
    position: relative;
    top: 0;
    left: 0;
    right: 0px;
    margin: 0;
    padding: 0;
    display: block;
    text-align: center !important;
}

.imgright3 {
    position: relative;
    top: 0;
    left: 0;
    right: 0px;
    margin: 0;
    padding: 0;
    display: block;
    text-align: center !important;
}

.flowinner {
    width: 80%;
    margin: 0px auto;
    display: block;
    justify-content: center;
}

.flow {
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    padding: 0 0 40px;
    width: 90%;
    display: block;
    vertical-align: top;
    margin: 0 auto 40px;
}

.servpagetitle {
    margin: 10px auto 20px;
    font-size: 1.5em;
    text-align: center !important;
}

.servprice div {
    position: relative;
    display: block;
}

.pricetxt {
    width: 90%;
    font: 14px/1.6em "Noto Sans JP",sans-serif;
    color: #ffffff;
    margin: 10px auto 50px;
}

.pricetxt ul {
    margin: 25px auto;
}

.prilogo {
    width: 40%;
    margin: 0 auto;
    text-align: center;
}

/*===== ABOUT PAGE =====*/

.aboutptitle {
    font: 600 1em/1.5em "Noto Sans JP",sans-serif;
    margin: 1.5em auto;
	width: 90%;
}

.abtitlentxt {
    font: 14px/1.6em "Noto Sans JP",sans-serif;
    margin: 0 auto;
    width: 90%;
}

.abocol {
    width: 80%;
}

.gmapsec {
    width: 80%;
}

.infolist {
    width: 90%;
    margin: 40px auto 0;
}

.tkgninfo {
    text-align: center;
}

.info_inner {
    width: 70%;
    display: inline-block;
    vertical-align: top;
    margin: 20px auto !important;
    text-align: left;
}

.tocon {
    text-align: center;
}

.tocon a {
    padding: 10px 40px;
    letter-spacing: 0;
}

.introuter {
    width: 80%;
}

.intrpic {
    top: 0;
    right: 0;
    margin: 0 auto !important;
    text-align: center !important;
}

/*===== CONTACT PAGE =====*/

.tkgnbc p {
    width: 90%;
}

.wpb_content_element {
    margin-bottom: 10px;
}

.wpb_single_image .vc_single_image-wrapper {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
}

.servcol {
    width: 80%;
}

.contacttxt {
    width: 80%;
    margin: 0 auto;
    padding: 0 0 20px;
    font-size: 12px;
}

.teltitle {
    font-size: 2.5em !important;
    margin: 0px auto 20px;
    padding: 0;
}

.tkgnform th, .tkgnform td {
    vertical-align: top;
    font-size: 13px;
    display: block;
    font-weight: 400;
}

.tkgnform {
    width: 90%;
    margin: 30px auto;
    height: auto;
}

.privacy h3 {
    width: 90%;
    font-size: 1.1em;
    font-weight: 500;
}

privacy p {
    font-size: 12px;
}

.wpcf7-submit {
    width: 100% !important;
    margin: 0 auto 0px;
}

.tkgnfooter ul {
    display: none;
}

.tkgnfooter {
    width: 90%;
}

}

/* add css service 20230906 */
.sub-page-link {
    margin: 24px 20px;
}
.sub-page-link a {
    color: #FFF;
    background-color: #2b4075;
    padding: 15px 15px;
    border-radius: 4px;
    transition: .2s background-color;
    width: 100%;
    position: relative;
    display: inline-block;
    text-align: center;
}
.sub-page-link a:hover {
    background-color: #93a9e2;
}
.service-children-title {
    color: #2b4075;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
}
.original_bg-white-area {
    width: 72%;
    margin: 0 auto 35px;
    padding: 0 15px;
    background-color: #FFF;
    border-radius: 10px;
    box-sizing: border-box;
}
.original_bg-white-area h2 {
    font-size: 22px;
}
.original_bg-white-area h3 {
    font-size: 20px;
}
.original_bg-white-area h2,
.original_bg-white-area h3 {
    line-height: 1.3;
}
.original_bg-white-area__inner {
    max-width: 640px;
    margin: auto;
    padding-bottom: 24px;
}
.original_bg-white-area p {
    margin: 24px 0 32px;
}
.original__feature-content {
    padding-left: 72px;
    counter-reset: featureItem;
}
.original__feature-content h3 {
    position: relative;
}
.original__feature-content h3:before {
    content: counter(featureItem);
    counter-increment: featureItem;
    background-color: #DE6B37;
    padding: 12px 18px 14px;
    border-radius: 50%;
    color: #ffffff;
    display: grid;
    place-content: center;
    position: absolute;
    top: -8px;
    left: -68px;
    line-height: 1;
}
.original_bg-white-area .strong {
    font-size: 120%;
    font-weight: bold;
}
.check-icon-lists__item:not(._) {
    list-style-type: "✔";
    padding-left: 8px;
}.check-icon-lists__item::marker {
    color: #DE6B37;
    font-size: 20px;
    margin-right: 4px;
}
@media (max-width: 768px) {
    .original_bg-white-area {
    width: 80%;
    }
}
@media (max-width: 479px) {
    .original_bg-white-area {
    width: 87%;
    }
}
.original_bg-white-area .komoninner {
    width: 75%;
    margin: 0 auto;
}
.original_bg-white-area .komoninner ul {
    margin-top: 1.5em;
}
.original_bg-white-area .komoninner ul li {
    text-indent: -0.5em;
    padding-left: 1em;
}
.original_bg-white-area .komoninner p {
    font: 600 1.15em/1.5em "Noto Sans JP",sans-serif;
    color: #312d3d;
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    margin: 0 0 0.5em 0;
}
.original_bg-white-area .li-icon {
    margin-right: 0.3em;
    color: #DE6B37;
}
.original_bg-white-area .komonprice1 {
    background-color: #F0F8FF;
}
.original_bg-white-area .komonprice2 {
    background-color: #F5F5F5;
    margin-bottom: 32px;
}
.original_bg-white-area .emphasis {
    font-size: 130%;
    margin-left: 1em;
}
@media (max-width: 768px) {
    .original_bg-white-area .komoninner {
        width: 85%;
    }
    .original_bg-white-area .emphasis {
        margin-left: 0;
    }
}
@media (max-width: 479px) {
    .original_bg-white-area .komoninner {
        width: 90%;
    }
}

/* voice contents 20231130 */
.customer-voice {
    width: 75%;
    height: auto;
    margin: 40px auto;
}
.customer-voice ul {
    background-color: #2b4075;
    padding: 20px;
    margin: 25px auto;
}
.customer-voice li {
    padding: 30px 50px;
    background: #fff;
    font: 400 0.9em/2em "Noto Sans JP",sans-serif;
}
.customer-voice li+li {
    margin-top: 20px;
}
.customer-voice .customer-voice-head {
    display: flex;
    align-items: center;
}
.customer-voice .customer-voice-head .icon_bg {
    display: inline-block;
    width: 150px;
    height:  150px;
    padding: 15px;
    border-radius: 100%;
    background-color: #B4C7E7;
}
.customer-voice .icon_bg.icon_rv {
    transform: scale(-1, 1);
}
.customer-voice .customer-voice-head .icon_bg img {
    width: 115px;
    height: 115px;
    object-fit: contain;
    object-position: center;
}
.customer-voice .customer-voice-head p {
    margin-left: 30px;
}
.customer-voice .customer-voice-head .voice-ttl {
    display: inline-block;
    font-size: 2em;
    font-weight: bold;
    color: #44546A;
    text-decoration: underline;
    padding-bottom: 20px;
}
@media screen and (max-width: 768px){
    .customer-voice ul {
        padding: 10px;
    }
    .customer-voice li {
        padding: 10px;
    }
    .customer-voice .customer-voice-head {
        display: block;
    }
    .customer-voice .customer-voice-head .icon_bg {
        display: block;
        margin: 0 auto;
    }
    .customer-voice .customer-voice-head p {
        margin: 10px 0;
    }
    .customer-voice .customer-voice-head .voice-ttl {
        font-size: 1.2em;
        padding-bottom: 10px;
    }
}
/* h1が表示されてしまうため調整 20231130 */
.entry-title { display:none !important; }

/*--20240111 追加 所在地とマップ情報の追記--*/
.company_address {
    background-color: #f5f5f5;
    padding: 50px 0;
}
.company_address .company_address_boxes {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 0 20px;
}
.company_address .company_address_box {
    width: 30%;
}
.company_address .company_img {
    max-width: 350px;
    height: auto;
}
.company_address .address_txt-boxes {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.company_address .address_txt-boxes {
    padding-left: 30px;
}
.company_address .address_txt-boxes .address_txt {
    margin: 0;
    margin-bottom: 5px;
}
.company_address .address_txt-boxes .address_txt span {
    font-size: 15px;
    font-weight: bold;
}
.company_address .address_txt-box .address_txt-detail {
    margin: 0;
    line-height: 1.7;
}
.company_address .company_address_box {
    width: 400px;
    height: 270px;
}
.tokigane-map {
    width: 100%;
}
.tokigane-map__frame {
    display: block;
    width: 100%;
    border: 0;
}
.tokigane-map--about-home .tokigane-map__frame,
.tokigane-map--about .tokigane-map__frame {
    height: 400px;
}
.company_address .tokigane-map--footer,
.company_address .tokigane-map--footer .tokigane-map__frame {
    height: 100%;
    min-height: 270px;
}
@media screen and (max-width: 768px) {
    .company_address .company_address_boxes {
        flex-direction: column;
        gap: 0;
    }
    .company_address .company_address_box {
        width: 100%;
        text-align: center;
    }
    .company_address .address_txt-boxes {
        padding-left: 0;
    }
    .company_address .company_img {
        margin: 0 auto;
    }
    .company_address .address_txt-boxes {
        flex-direction: row;
        justify-content: center;
        gap: 20px;
        text-align: left;
        margin-top: 15px;
    }
    .company_address .company_address_box {
        max-width: 600px;
        margin: 0 auto;
        height: auto;
    }
    .company_address .tokigane-map--footer,
    .company_address .tokigane-map--footer .tokigane-map__frame {
        min-height: 260px;
    }
	
.top-h1 {
    text-align: center;
    font-family: 'NOTO SANS JP';
    font-weight: 400;
    font-style: normal;
    margin-bottom: 30px;
    font-size: 1.3em;
}

h3 {
    font-size: 1.3em;
}
	
}
