/*
Theme Name: Marketing Innovation Website
Author: Magic Projects Inc
Author URI: https://magipro.jp
Version: 1.0
*/

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Big+Shoulders+Display:wght@100..900&family=Roboto:wght@400;500;900&display=swap');


/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type="number"] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
  background-clip: padding-box;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
  background-clip: padding-box;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Color */
/* ============================================ */

:root {
    --title-color: #00b7ce;
    --back-gray: #f2f2f2;
    --back-blue: #2660AD;
    --base-font: #000000;
    --base-yellow: #ffff00;
    --base-green01: #5ED2E0;
    --base-green02: #90F4E8;
    --font-black01: #333333;
    --font-black02: #4D4D4D;
    --font-green01: #005960;
    --font-blue01: #2E3192;
    --font-blue02: #00AFCC;
    --hover-yellow: #ffff99;
    --active-yellow: #ffff33;
    --border-gray01: #808080;
    --border-orange01: #FF7050;
    --border-blue: #84DCDA;
}

.key-grad {
    background: rgb(94,210,224);
    background: linear-gradient(90deg, rgba(127,243,228,1) 0%, rgba(94,210,224,1) 33%, rgba(94,210,224,1) 100%);
}
.contact-grad {
    background: rgb(63,201,197);
    background: linear-gradient(90deg, rgba(63,201,197,1) 0%, rgba(132,220,218,1) 100%);
}

/* Common */
/* ============================================ */
html {
	font-size: 10px;
}
body {
	font-family: 'arial','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	color: var(--base-font);
	font-size: 1.2rem;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smooth: always;
	font-weight: 400;
	background-color: #fff;
}
.clear{
	clear:both;
    display: flow-root;
}
.scale {
    width: 100%;
    height: auto;
}
.required {
    color: #FF0004;
}
.text-center {
    text-align: center;
}
.tel-icon {
    display: inline-block;
    position: relative;
}
.tel-icon::before {
    position: absolute;
    left: 0;
    top:0;
    content: "";
    display: block;
    background: url("img/common/phone_blk_icon.svg") no-repeat;
    background-size: cover;
}

hr.col-grad {
    height: 10px;
    background: radial-gradient(circle, rgba(209,251,245,1) 0%, rgba(94,210,224,1) 82%, rgba(94,210,224,1) 100%);
    border: none;
    margin: 103px 0 60px;
}
#wrapper a {
    text-decoration: none !important;
}

a:hover,
span.level:hover,
.faq-box .faq-item .faq-plus:hover,
.faq-box .faq-item .faq-minus:hover,
#header .nav-down-box .menu-nav > li > span:hover
{
    opacity: 0.8;
    color: inherit;
}
a:active,
span.level:active,
.faq-box .faq-item .faq-plus:active,
.faq-box .faq-item .faq-minus:active,
#header .nav-down-box .menu-nav > li > span:active
{
    opacity: 1;
    color: inherit;
}
.honmon-box a,
.color-link,
.more-box a,
.service-list-wrap .service-item a,
.comblock a,
.voice-index-item .title-box .service-use a,
.work-index-item .title-box .service-use a,
.mokuji-box a
{
    color: #0D3AFF;
    opacity: 1;
}
.honmon-box a:hover,
.color-link:hover,
.more-box a:hover,
.voice-index-item .title-box .service-use a:hover,
.work-index-item .title-box .service-use a:hover,
.service-list-wrap .service-item a:hover,
.comblock a:hover,
.mokuji-box a:hover
{
    color: #1010FF;
    opacity: 1;
}
.honmon-box a:active,
.color-link:active,
.more-box a:active,
.voice-index-item .title-box .service-use a:active,
.work-index-item .title-box .service-use a:active,
.service-list-wrap .service-item a:active,
.comblock a:active,
.mokuji-box a:active
{
    color: #1054FF;
    opacity: 1;
}
.contact-btn02 a {
    display: block;
    position: relative;
    padding: 10px 35px;
    border-radius: 45px;
    background-color: var(--back-blue);
    color:#fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
}
.contact-btn02 a::after {
    display: block;
    content: "";
    width: 8px;
    height: 12px;
    background-color: #fff;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
    position: absolute;
    top:13px;
    right: 27px;
}
.contact-btn03 {
    text-align: center;
}
.contact-btn03 a {
    display: inline-block;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    background-color: var(--base-yellow);
    padding: 19px 40px;
    border-radius: 45px;
}
.contact-btn03 a:hover {
    opacity: 1;
    background-color: var(--hover-yellow);
}
.contact-btn03 a:active {
    opacity: 1;
    background-color: var(--active-yellow);
}

.more-btn01 {
    display: inline-block;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    background-color: var(--base-yellow);
    padding: 18px 60px 18px 50px;
    border: 2px solid var(--base-font);
    border-radius: 45px;
    box-shadow: 6px 6px 0 0 rgba(0, 0, 0, 1);
}
.more-btn01::after {
    display: block;
    content: "";
    width: 10px;
    height: 16px;
    background-color: #000;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
    position: absolute;
    top: 21px;
    right: 43px;
}
.more-btn01:hover {
    opacity: 1;
    background-color: var(--hover-yellow);
}
.more-btn01:active {
    opacity: 1;
    background-color: var(--active-yellow);
    left: 6px;
    top: 6px;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}
.more-btn02 {
    text-align: center;
    display: block;
    width: 100%;
}
.more-btn02 a {
    display: inline-block;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--base-font);
    background-color: var(--base-yellow);
    min-width: 452px;
    padding: 18px 60px 18px 50px;
    border: 2px solid var(--base-font);
    border-radius: 45px;
    box-shadow: 6px 6px 0 0 rgba(0, 0, 0, 1);
}
.more-btn02 a::after {
    display: block;
    content: "";
    width: 10px;
    height: 16px;
    background-color: #000;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
    position: absolute;
    top: 26px;
    right: 43px;
}
.more-btn02 a:hover {
    opacity: 1;
    background-color: var(--hover-yellow);
    color: var(--base-font);
}
.more-btn02 a:active {
    opacity: 1;
    background-color: var(--active-yellow);
    left: 6px;
    top: 6px;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    color: var(--base-font);
}
.more-btn03 {
    display: inline-block;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    background-color: #E86B79;
    padding: 16px 36px;
    border-radius: 45px;
}
.more-btn03:hover {
    opacity: 1;
    background-color: #E45363;
}
.more-btn03:active {
    opacity: 1;
    background-color: #EC8591;
}
.more-btn03.take {
    background-color: #68BE8D;
}
.more-btn03.take:hover {
    background-color: #47A770;
}
.more-btn03.take:active {
    background-color: #8ACCA7;
}
.more-btn03.matu {
    background-color: #3F7735;
}
.more-btn03.matu:hover {
    background-color: #315E29;
}
.more-btn03.matu:active {
    background-color: #54A047;
}
figcaption a {
    font-size: 1.6rem;
}
.pagelink-block a,
.more-btn04
{
    display: block;
    flex-basis: 556px;
    width: 556px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5em;
    color: #000;
    background-color: #FF7050;
    padding: 11.5px 10px;
    border-radius: 45px;
    text-align: center;
    margin: 0 auto 10px;
}
.pagelink-block a:hover {
    color: inherit;
    opacity: 0.8;
}
.pagelink-block a:active {
    color: inherit;
    opacity: 1;
}
.send-btn01 {
    display: inline-block;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    color: #fff;
    background-color: var(--border-orange01);
    padding: 16px 40px 16px 30px;
    border-radius: 57px;
}
.send-btn01::after {
    display: block;
    content: "";
    width: 10px;
    height: 16px;
    background-color: #fff;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
    position: absolute;
    top: 20px;
    right: 24px;
}
.send-btn01:hover {
    opacity: 1;
    background-color: #FF5236;
}
.send-btn01:active {
    opacity: 1;
    background-color: #FF7E69;
}
.send-btn02 {
    display: inline-block;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    color: #fff;
    background-color: var(--border-gray01);
    padding: 16px 30px 16px 40px;
    border-radius: 57px;
}
.send-btn02::after {
    display: block;
    content: "";
    width: 10px;
    height: 16px;
    background-color: #fff;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    position: absolute;
    top: 20px;
    left: 24px;
}
.send-btn02:hover {
    opacity: 1;
    background-color: #565656;
}
.send-btn02:active {
    opacity: 1;
    background-color: #BFBFBF;
}

/* Form */

label input[type="radio"],
label input[type="checkbox"] {
    display: none;
}

input[type="text"],
input[type="email"],
textarea
{
    -webkit-appearance: none;
    border-radius: 0;
    font-size: 16rem;
    background-color: #fff;
    display: inline-block;
    font: inherit;
    padding: 6px 7px;
    width: 100%;
}

input.mail-form,
textarea.mail-form
{
    width: 100%;
    background-color: #E6F8F8;
}
textarea.mail-form
{
    height: 9em;
    line-height: 1.4em;
}
textarea.mail-form.long
{
    height: 17em;
}
input.mail-form.short01 {
    width: 4em;
}
input.mail-form.short02 {
    width: 5em;
}
label.radio01 {
    display: inline-block;
    position: relative;
}
.radio-parts {
    padding-left: 20px;
    position:relative;
    display: inline-block;
}

.radio-parts span {
    display: inline-block;
    margin-right: 7px;
    vertical-align: top;
}

.radio-parts::before{
    content: "";
    display: block;
    position: absolute;
    top: 0.3em;
    left: 0;
    background: #fff;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    border: 1px solid #999;
}

label input[type="radio"]:checked + .radio-parts::after{
    content: "";
    display: block;
    position: absolute;
    background: #0ABAB5;
    top: 9px;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 5px;
}

.check-parts {
    display: inline-block;
    padding-left: 20px;
    position: relative;
}

.check-parts::before {
        content: "";
        display: block;
        position: absolute;
        top: 2px;
        left: 0;
        width: 16px;
        height: 16px;
        border: 1px solid #00479d;
}
label input[type="checkbox"]:checked + .check-parts
{
    color: #000;
}
label input[type="checkbox"]:checked + .check-parts::before
{
    border: 1px solid #00479d !important;
    background: #00479d;
}
label input[type="checkbox"]:checked + .check-parts::after
{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 3px;
  width: 9px;
  height: 13px;
  transform: rotate(40deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* Header */
/* ============================================ */

#header
{
    font-family: 'Noto Sans JP', sans-serif;
    color: var(--font-black01);
    position: relative;
}
.header-wrap {
    display: flex;
    justify-content: space-between;
}
#header::after {
    display: block;
    content: "";
    width: 585px;
    height: 100%;
    background-image: url("img/common/header_back.png");
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

.header-logo {
    flex-basis: 344px;
    padding: 23px 19px;
    z-index: 1;
}
.header-logo .logo {
    width: 100%;
    display: block;
}

.header-nav {
    flex-basis: calc(100% - 332px);
    z-index: 1;
}
#header .nav-up-box {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}
#header .tel-box {
    display: flex;
    align-items: flex-end;
    padding-top: 10px;
    margin-right: 41px;
}
#header .tel-icon {
    font-weight: 700;
    font-size: 2.6rem;
    letter-spacing: -0.3em;
    padding-left: 20px;
}
#header .tel-icon::before {
    width: 17px;
    height: 22px;
    top: 6px;
}
#header .tel-box .note {
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1.6em;
    margin-left: 17px;
}
#header .contact-btn {
    width: 255px;
    padding-top: 5px;
    margin-right: 8px;
}
#header .contact-btn a {
    display: block;
    width: 100%;
    height: 50px;
    color: var(--base-font);
    background-color: var(--base-yellow);
    border-radius: 25px;
    font-weight: 700;
    font-size: 1.6rem;
    text-align: center;
    line-height: 48px;
    opacity: 1;
}
#header .contact-btn a:hover {
    background-color: var(--hover-yellow);
}
#header .contact-btn a:active {
    background-color: var(--active-yellow);
}
#header .nav-down-box {
    padding-top: 22px;
    padding-bottom: 7px;
}
#header .nav-down-box .menu-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#header .nav-down-box .menu-nav > li {
    margin-right: 27px;
    font-weight: 700;
    font-size: 1.6rem;

}
#header .nav-down-box .menu-nav > li.small {
    font-size: 1.2rem;
    margin-right: 19px;
}
#header .nav-down-box .menu-nav > li:nth-child(4) {
    margin-left: 22px;
}
#header .nav-down-box .menu-nav > li:last-child {
    margin-right: 22px;
}
#header .nav-down-box .menu-nav > li > a,
#header .nav-down-box .menu-nav > li > span
{
    display: block;
    position: relative;
    cursor: pointer;
}
#header .nav-down-box .menu-nav > li > .triangle {
    padding-right: 14px;
}
#header .nav-down-box .menu-nav > li > .triangle::after {
    display: block;
    content: "";
    position: absolute;
    top: 7px;
    right: 0;
    width: 10px;
    height: 6px;
    aspect-ratio: 2;
    clip-path: polygon(50% 100%,100% 0,0 0);
    background: var(--font-black01);
}
#mb-menu-icon {
    display: none;
    width: 34px;
}
#mb-menu-icon .mb-menu-open {
    cursor: pointer;
    width: 34px;
    flex-basis: 34px;
}
#mb-menu-icon .mb-menu-close {
    cursor: pointer;
    display: none;
    width: 33px;
    flex-basis: 33px;
}
#service-menu {
    display: none;
    position: absolute;
    z-index: 9999;
    top: 98px;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    border-top: 5px solid #BDCCD4;
}

#service-menu .service-menu-inn {
    
}
#service-menu .service-menu-header {
    width: 1200px;
    border-bottom: 1px solid #E6E6E6;
    margin: 0 auto 20px;
    padding: 14px 0 16px;
}
#service-menu .service-menu-header ul {
    display: flex;
    align-items: flex-end;
}
#service-menu .service-menu-header li {
    font-weight: 400;
    font-size: 1.3rem;
    letter-spacing: 0.01em;
    margin-right: 114px;
}
#service-menu .service-menu-header li > a {
    display: block;
    position: relative;
    padding-right: 16px;
}
#service-menu .service-menu-header li > a::after {
    display: block;
    content: "";
    position: absolute;
    top: 5px;
    right: 0;
    width: 12px;
    height: 6px;
    aspect-ratio: 2;
    clip-path: polygon(50% 100%,100% 0,0 0);
    background: var(--font-black01);
}
#service-menu .service-menu-header li.large {
    font-weight: 500;
    font-size: 1.5rem;
    margin-right: 82px;
}
#service-menu .service-menu-header li.large > a {
    padding-left: 16px;
    padding-right: 0;
}
#service-menu .service-menu-header li.large > a::after {
    width: 6px;
    height: 10px;
    top: 5px;
    left: 0;
    right: auto;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
#service-menu .service-menu-body {
    width: 100%;
    overflow-y: auto;
    position: relative;
    height: 360px;
    max-height: 60vh;
}
#service-menu .service-menu-body h2 {
    font-weight: 700;
    font-size: 1.6rem;
    letter-spacing: 0.01em;
}

#service-menu .service-menu-body .service-box {
    margin: 0 auto;
    padding: 20px 0;
    width: 1180px;
    border-bottom: 1px solid #E6E6E6;
}
#service-menu .service-menu-body .service-box ul {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
}
#service-menu .service-menu-body .service-box li {
    flex-basis: 30%;
    margin-right: 2%;
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.4em;
    letter-spacing: -0.01em;
    list-style-type: disc;
    margin-left: 1.6em;
    margin-bottom: 9px;
}
#service-menu .service-menu-body .service-box li:nth-of-type(3n) {
    margin-right: 0;
}

.page-header {
    position: relative;
    padding: 112px 0;
}
.page-header.toppage {
    padding: 125px 0 137px;
}
.page-header.toppage .box-inn {
    display: flex;
    width: 930px;
    margin-left: calc(50% - 332px);
}
.page-header.toppage .box-inn .toppage-copy {
    font-weight: 700;
    font-size: 3rem;
    line-height: 5.2rem;
    letter-spacing: 0;
    color: #005960;
    width: calc(100% - 170px);
    flex-basis: calc(100% - 170px);
    position: relative;
    z-index: 1;
}
.page-header.toppage .box-inn .toppage-copy strong.drop-shadow {
    font-weight: 700;
    font-size: 3.5rem;
    color: #fff;
    text-shadow: 3px 4px 0px rgba(0, 175, 204, 1);
}
.page-header.toppage .box-inn .toppage-copy p {
    margin-top: 32px;
}
.page-header.toppage .box-inn .toppage-graph01 {
    width: 170px;
    flex-basis: 170px;
    position: relative;
    z-index: 1;
}
.page-header.toppage .box-inn .toppage-fig01 {
    width: 274px;
    flex-basis: 274px;
    position: absolute;
    left: 0;
    bottom: 5px;
}

.page-header .title-fig-service,
.page-header .title-fig-choose-us,
.page-header .title-fig-company,
.page-header .title-fig-faq,
.page-header .title-fig-work,
.page-header .title-fig-contact-us,
.page-header .title-fig-service-02,
.page-header .title-fig-examples-of-use,
.page-header .title-fig-voice,
.page-header .title-fig-know-how,
.page-header .title-fig-news,
.page-header .title-fig-research,
.page-header .title-fig-interview,
.page-header .title-fig-questionnaire,
.page-header .title-fig-privacy-policy,
.page-header .title-fig-terms-of-use,
.page-header .title-fig-notfound,
.page-header .title-fig-notfound
{
    width: 245px;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
}
.page-header .title-fig-work,
.page-header .title-fig-voice
{
    width: 258px;
}
.page-header .title-fig-company {
    width: 261px;
}
.page-header .title-fig-faq {
    width: 311px;
}
.page-header .title-fig-contact-us,
.page-header .title-fig-examples-of-use,
.page-header .title-fig-news,
.page-header .title-fig-privacy-policy,
.page-header .title-fig-terms-of-use,
.page-header .title-fig-notfound
{
    width: 330px;
}
.page-header .title-fig-service-02,
.page-header .title-fig-interview,
.page-header .title-fig-questionnaire,
.page-header .title-fig-research
{
    width: 350px;
}
.page-header .title-fig-know-how {
    width: 240px;
}
#mb-menu {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 54px;
    left: 0;
    width: 100%;
    background-color: #fff;
    
}
#mb-menu-inn {
    width: 96%;
    height: 100vh;
    margin: 0 auto;
    overflow-y: auto;
    padding-bottom: 150px;
}

#mb-menu-inn .contact-box {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

#mb-menu-inn .contact-box .mb-contact-btn {
    flex-basis: 49%;
    height: 80px;
}
#mb-menu-inn .contact-box .mb-contact-btn a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--base-green01);
    border-radius: 10px;
    color: var(--font-blue01);
    text-align: center;
}
#mb-menu-inn .contact-box .title {
    font-size: 1.8rem;
    font-weight: 700;
    display: inline-block;
    border-bottom: 2px solid #fff;
    margin: 0 auto;
    padding: 13px 0 4px;
}
#mb-menu-inn .contact-box .sub01
{
    font-size: 1.4rem;
    font-weight: 500;
    display: inline-block;
    padding-top: 6px;
}
#mb-menu-inn .contact-box .sub02 {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -0.3em;
    padding-top: 2px;
}
#mb-menu-inn .contact-box .sub03 {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: -0.025em;
}

#mb-menu-inn .mb-menu-nav {
    margin-top: 10px;
}
#mb-menu-inn .mb-menu-nav > li
{
    border-bottom: 1px solid #E6E6E6;
}
#mb-menu-inn .mb-menu-nav > li > a,
#mb-menu-inn .mb-menu-nav > li > span.level
{
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4em;
    color: var(--font-black01);
    padding: 16px 0;
}
#mb-menu-inn .mb-menu-nav > li > ul {
    display: none;
    margin-left: 0.3em;
}
#mb-menu-inn .mb-menu-nav > li > ul > li > a,
#mb-menu-inn .mb-menu-nav > li > ul > li > span.level {
    display: block;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4em;
    color: var(--font-black01);
    padding: 12px 0;
}
#mb-menu-inn .mb-menu-nav > li > span.level,
#mb-menu-inn .mb-menu-nav > li > ul > li > span.level {
    position: relative;
    cursor: pointer;
    padding-right: 8px;
}
#mb-menu-inn .mb-menu-nav > li > span.level::after,
#mb-menu-inn .mb-menu-nav > li > ul > li > span.level::after {
    display: block;
    content: "";
    position: absolute;
    top: 12px;
    right: 4px;
    width: 12px;
    height: 6px;
    aspect-ratio: 2;
    clip-path: polygon(50% 100%,100% 0,0 0);
    background: var(--font-black01);
}
#mb-menu-inn .mb-menu-nav > li > span.level::after {
    top: 24px;
}
#mb-menu-inn .mb-menu-nav > li > span.level.close::after,
#mb-menu-inn .mb-menu-nav > li > ul > li > span.level.close::after {
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
#mb-menu-inn .mb-menu-nav > li > ul > li > ul {
    display: none;
    list-style: disc;
    margin-left: 2em;
}
#mb-menu-inn .mb-menu-nav > li > ul > li > ul:last-of-type {
    margin-bottom: 16px;
}
#mb-menu-inn .mb-menu-nav > li > ul > li > ul > li > a {
    display: block;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4em;
    color: var(--font-black01);
    padding: 8.6px 0;
}

/* Footer */
/* ============================================ */
#footer {
    font-family: 'Noto Sans JP', sans-serif;
    width: 100%;
    background-color: #fff;
    padding: 16px 20px;
}
#footer .footer-inn {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
#footer .footer-corp {
    display: flex;
    flex-basis: 422px;
}
#footer .footer-logo {
    width: 60px;
    flex-basis: 60px;
}
#footer .corp-info {
    width: 338px;
    flex-basis: 338px;
    margin-left: 24px;
}
#footer .corp-info h3 {
    font-weight: 700;
    font-size: 1.8rem;
    margin-top: 13px;
    margin-bottom: 20px;
}
#footer .corp-info .addr,
#footer .corp-info .tel
{
    font-size: 1.2rem;
    letter-spacing: -0.03em;
    margin-top: 7px;
}
#footer .footer-nav {
    margin-top: 16px;
    display: flex;
    justify-content: flex-end;
}
#footer .footer-nav > ul {
    margin-left: 92px;
}
#footer .footer-nav > ul:first-of-type {
    margin-left: 0;
}
#footer .footer-nav li {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2.33em;
}
#footer .footer-nav > ul > li > ul {
    margin-left: 1.8em;
    margin-top: 3px;
}
#footer .footer-nav > ul > li > ul > li {
    list-style-type: disc;
}
#footer .contact-btn02 {
    width: 296px;
    margin: 19px auto;
}

#footer .footer-under {
    margin-top: 95px;
}
#footer .footer-outer-link {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 24px;
}
#footer .youtube-icon {
    width: 29px;
    flex-basis: 29px;
    margin-right: 20px;
}

#footer .x-icon {
    width: 20px;
    flex-basis: 20px;
    margin-right: 20px;
}
#footer .mag2-icon {
    width: 108px;
    flex-basis: 108px;
}
#footer .copyright {
    font-family: 'Roboto', sans-serif;
    font-size: 1.1rem;
    text-align: center;
}
#goTop {
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9998;
}
#goTop a {
    display: block;
    width: 100%;
}

/* Contents */
/* ============================================ */

#topic-path {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    width: 1000px;
    margin: 8px auto;
}
.page-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.2em;
    letter-spacing: 0.05em;
    color: var(--base-font);
    text-align: center;
    position: relative;
    z-index: 1;
}
.oomidashi {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.2em;
    letter-spacing: 0.01em;
    color: var(--title-color);
    text-align: center;
}
.oomidashi.left {
    text-align: left;
}
.midashi {
    font-family: 'Noto Sans JP', sans-serif;
    display: inline-block;
    font-weight: 700;
    font-size: 2.6rem;
    line-height: 1.3em;
    color: var(--font-blue02);
    border-bottom: 3px solid #67C3CE;
    border-image: linear-gradient(to right, #67C3CE, #8DF2FF) 1;
    padding-bottom: 2px;
}
.home .midashi {
    font-size: 3rem;
}
.komidashi {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.45em;
    color: var(--title-color);
}
.komidashi02 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.34em;
}
.komidashi03 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.45em;
    color: var(--font-blue02);
}
.komidashi03.small {
    font-size: 1.8rem;
}
.komidashi03 .note {
    font-weight: 400;
    font-size: 1.4rem;
    color: var(--base-font);
}
.komidashi04 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.4em;
    color: var(--base-font);
}
.komidashi05 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.75em;
    min-height: 66px;
    margin-bottom: 12px;
}
.komidashi.blk01,
.midashi-line01,
.midashi-line02,
.midashi-line03,
.midashi-line04,
.midashi-line05
{
    color: var(--base-font);
    margin-bottom: 25px;
}
.komidashi.blk01 {
    margin-top: 40px;
}
.midashi-line01 {
    border-bottom: 3px solid #C4B3F4;
}
.midashi-line02 {
    border-bottom: 3px solid var(--border-blue);
}
.midashi-line03 {
    border-bottom: 3px solid #CAF67B;
}
.midashi-line04 {
    border-bottom: 3px solid #FFFF00;
}
.midashi-line05 {
    border-bottom: 3px solid #FFB7A7;
}
.midashi-box {
    width: 1000px;
    margin: 0 auto 42px;
    text-align: center;
}
.midashi-box.flex {
    display: flex;
    align-items: center;
}

.midashi-box.flex .title-icon-wrap {
    flex-basis: 217px;
}
.midashi-box.flex .title-icon  {
    width: 173px;
    margin: 0 auto;
}
.komidashi-box {
    width: 1000px;
    margin: 52px auto 24px;
}
.honbun-txt {
    font-size: 1.6rem;
    line-height: 1.75em;
}
.gray-back {
    background-color: var(--back-gray);
}
.inlblk {
    display: inline-block;
}
.inlblk-center {
    position: relative;
    width: 100%;
    text-align: center;
}
.intro-box {
    width: 1000px;
    margin: 60px auto 36px;
}
.intro-box.single {
    margin: 125px auto 78px;
}
.intro-txt p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.94em;
    letter-spacing: 0.005em;
}
.intro-box .anchor-box,
.intro-box .anchor-4box
{
    margin: 53px auto 0;
    display: flex;
    flex-wrap: wrap;
}
.intro-box .anchor-menu {
    width: 312px;
    flex-basis: 312px;
    margin-right: 32px;
}
.intro-box .anchor-txt-menu {
    width: 232px;
    flex-basis: 232px;
    margin-right: 24px;
}
.intro-box .anchor-menu:nth-of-type(3n) {
    margin-right: 0;
}
.intro-box .anchor-txt-menu:nth-of-type(4n) {
    margin-right: 0;
}
.intro-box .anchor-menu a {
    display: block;
    width: 100%;
    position: relative;
    border-radius: 20px;
}
.intro-box .anchor-menu a > img {
    border-radius: 20px;
}
.intro-box .anchor-menu {
    border-radius: 20px;
}

.anchor-menu .anchor-title {
    position: absolute;
    bottom: 0;
    border-radius: 0 0 20px 20px;
    width: 100%;
    height: 91px;
    background-color: var(--base-green02);
    text-align: center;
    padding: 29px 0 0;
}
.anchor-txt-menu .anchor-title {
    border-radius: 20px;
    width: 100%;
    height: 80px;
    background-color: var(--base-green02);
    text-align: center;
    padding: 18px 0 0;
}
.anchor-menu .anchor-title p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    color: var(--base-font);
    position: relative;
}
.anchor-txt-menu .anchor-title p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 2rem;
    color: var(--base-font);
    position: relative;
}
.anchor-menu .anchor-title p::after,
.anchor-txt-menu .anchor-title p::after
{
    display: block;
    content: "";
    width: 20px;
    height: 12px;
    background-color: var(--back-blue);
    clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translate(-50%);
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
}
.table-01 .row-01,
.table-01 .row-02,
.table-02 .row-01 .title-box
{
    display: flex;
    flex-wrap: wrap;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 3rem;
    color: var(--base-font); 
}
.table-01 .row-01 {
    background-color: #DCEEFF;
}
.table-01 .row-01 .title,
.table-01 .row-02 .title
{
    flex-basis: 178px;
    text-align: right;
    padding: 8px 10px;
}
.table-01 .row-01 .data,
.table-01 .row-02 .data
{
    flex-basis: calc(100% - 178px);
    padding: 8px 10px 8px 62px;
}
.table-02 .row-01 {
    border-bottom: 1px solid #ccc;
    padding: 22px 0;
}
.table-02 .row-01:first-of-type
{
    border-top: 1px solid #ccc;
}
.table-02 .row-01,
.table-02 .row-01 .title-box
{
    display: flex;
    flex-wrap: wrap;
}
.table-02 .row-01 .title-box {
    align-items:flex-start;
}
.table-02 .row-01 .title-box {
    flex-basis: 347px;
    justify-content: space-between;
    padding-top: 6px;
}
.table-02 .row-01 .title-box .required-item {
    display: inline-block;
    margin-right: 65px;
    font-size: 1.6rem;
    line-height: 1em;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #FF1D25;
    padding: 6px 10px;
}
.table-02 .row-01 .data {
    flex-basis: calc(100% - 347px);
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    line-height: 1.4em;
}
.table-02 .row-01 .data p {
    font-size: 1.6rem;
    line-height: 1.325em;
    margin: 2px 0 4px;
}
.table-02 .row-01 .data .radio-box {
    padding: 6px 0;
}
.table-03 {
    margin-bottom: 27px;
}
.table-03 .row-03 {
    display: flex;
    font-size: 1.6rem;
    line-height: 1.4em;
    margin-bottom: 0.4em;
    
}
.table-03 .row-03 .title {
    flex-basis: 66px;
    color: #666;
    position: relative;
    font-weight: 700;
}
.table-03 .row-03 .title::after {
    display: block;
    content: "：";
    position: absolute;
    top: 0;
    right: 10px;
    
}
.table-03 .row-03 .data {
    flex-basis: calc(100% - 66px);
}

table.table-04 {
    width: 1000px;
    margin: 24px auto;
}
table.table-05 {
    width: 1000px;
    margin: 35px auto 46px;
}
table.table-06 {
    width: 1000px;
    margin: 0 auto;
    border: 1px solid #ccc;
}
table.table-04 tr,
table.table-05 tr
{
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
table.table-04 th,
table.table-04 td
{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    padding-top: 21px;
    padding-bottom: 21px;
}
table.table-04 th {
    width: 30%;
    padding-right: 10%;
    text-align: right;
    vertical-align: bottom;
}
table.table-04 td {
    font-size: 2.4rem;
    width: 70%;
}
table.table-04 td span.small {
    font-size: 1.6rem;
}
table.table-05 th,
table.table-05 td
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    line-height: 1.4em;
    padding: 14px 2px;
}
table.table-05 th {
    font-weight: 500;
    width: 164px;
}
table.table-06 th,
table.table-06 td
{
    border-bottom: 1px solid #ccc;
    font-size: 1.6rem;
    line-height: 1.4em;
    padding: 12px;
}
table.table-06 th {
    font-weight: 700;
    width: 330px;
    background-color: #E3FFF7;
}
table.table-06 th.yellow {
    background-color: #FFFDCC;
    width: calc(100% - 330px);
}
table.table-06 thead th {
    text-align: center;
}
table.table-06 td {
    width: calc(100% - 330px);
}
.btn-box-01 {
    text-align: center;
    margin-top: 50px;
}
.btn-box-02 {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}
.btn-box-03 {
    border-top: 1px solid #ccc;
    text-align: center;
    margin-top: 113px;
    padding-top: 50px;
}
.btn-box-04 {
    margin: 16px 0 41px;
}
.full-fig {
    width: 100%;
}
.fig-01 {
    width: 640px;
    margin: 50px auto 60px;
}
.fig-02 {
    width: 520px;
    margin: 91px auto 42px;
}
.fig-03 {
    width: 1000px;
    margin: 75px auto;
}
.fig-04 {
    width: 588px;
    margin: 21px auto 36px;
    text-align: center;
}
.fig-05 {
    width: 762px;
    margin: 21px auto 36px;
}
.fig-06 {
    width: 424px;
    margin: 21px auto 36px;
}
.fig-07 {
    width: 990px;
    margin: 21px auto 36px;
}
.fig-08 {
    width: 670px;
    margin: 20px auto;
}
.fig-09 {
    width: 683px;
    margin: 33px auto;
}
.fig-10 {
    width: 900px;
    margin: 40px auto;
}
.fig-11 {
    width: 916px;
    margin: 28px auto;
}
.fig-12 {
    width: 846px;
    margin: 38px auto;
}
.three-fig-box01 {
    flex-basis: 303px;
    display: block;
}
.dot-list
{
    margin-left: 22px;
}
.dot-list > li {
    list-style: disc;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.45em;
    margin-bottom: 1em;
}
.dot-list li > ul {
    margin-top: 1em;
    margin-left: 2em;
}
.dot-list li > ul.narrow {
    margin-top: 0.2em;
}

.dot-list li > ul > li {
    line-height: 1.75em;
}
.list-dot,
.list-num
{
    margin-left: 1.5em;
}
.com-article-box ol,
.com-article-box ul {
    margin: 1em 0 1em 1.2em;
}
.list-dot li,
.com-article-box ul li
{
    list-style-type: disc;
    margin-bottom: 1em;
}
.list-num li,
.com-article-box ol li
{
    list-style-type: decimal !important;
    margin-bottom: 1em;
}

.list-dot.small-btom li,
.list-num.small-btom li
{
    margin-bottom: 0.2em !important;
}
.list-dot.large-btom li,
.list-num.large-btom li
{
    margin-bottom: 1.5em !important;
}
.list-dot.small-btom,
.list-num.small-btom
{
    padding-bottom: 0.8em;
}
.list-dot.large {
    font-size: 1.8rem;
    font-weight: 700;
}
.honmon-box .list-dot li,
.honmon-box .list-num li,
.com-article-box ol li,
.com-article-box ul li
{
    margin-bottom: 0.5em;
}
.com-wrap01 {
    width: 1000px;
    margin: 0 auto;
}

.com-box01
{
    width: 100%;
    padding: 70px 0 72px;
}
.com-box02,
.com-box03,
.com-box04
{
    width: 100%;
    padding: 70px 0 113px;
}
.com-box05 {
    width: 100%;
    padding: 28px 0 113px;
}
.com-box06 {
    width: 100%;
    padding: 0 0 113px;
}
.com-box07 {
    width: 100%;
    padding: 0 0 151px;
}
.com-box08 {
    width: 1000px;
    margin: 122px auto 146px;
}
.com-box09 {
    width: 1000px;
    margin: 37px auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.com-box10 {
    width: 1000px;
    margin: 37px auto;
}
.std-bkt-box-01,
.wp-pagenavi
{
    width: 1000px;
    margin: 0 auto 96px;
}
.com-article-box {
    width: 1000px;
    margin: 0 auto 96px;
    font-size: 1.6rem;
    line-height: 1.75em;
}
.com-article-box p {
    margin: 0.5em 0;
}
.std-bkt-box-01 h3{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    color: var(--base-font);
    line-height: 1.5em;
    margin-bottom: 13px;
}
.std-bkt-box-02 {
    width: 1000px;
    margin: 54px auto 58px;
}
.std-bkt-box-02 h4{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    color: var(--base-font);
    line-height: 1.5em;
    margin: 0.5em 0;
}
.std-bkt-box-01 p,
.std-bkt-box-02 p
{
    font-size: 1.6rem;
    line-height: 1.75em;
    margin: 1.5em 0 0 !important;
}

.std-bkt-box-02 p.offset{
    margin: 0 0 0 1em !important;
}
.wp-pagenavi {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.5rem;
}
.news-date {
    text-align: right;
    margin: 2em 0;
}
.com-article-box h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    margin: 1em 0;
}
.com-article-box h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    margin: 0.5em 0;
}
.com-article-box h4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    margin: 0.5em 0;
}
.related-link-box {
    width: 1000px;
    margin: 68px auto 102px;
}
.related-link-box h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.1rem;
    color: #333;
    line-height: 1.5em;
    border-bottom: 1px solid #ccc;
    margin-bottom: 30px;
}
.related-link-box p:first-of-type {
    font-size: 1.6rem;
    line-height: 1.4em;
    margin-top: 28px !important;
}
.offset01 {
    margin-left: 2em !important;
}
.com-box02.narrow
{
    padding: 70px 0 45px;
}
.com-box03.end {
    margin-bottom: 23px;
}
.com-box01-inn {
    width: 1090px;
    margin: 0 auto;
}
.com-box02-inn,
.com-box03-inn,
.com-box04-inn,
.com-box05-inn,
.com-box06-inn,
.com-box07-inn,
.service-list-wrap-inn
{
    width: 1000px;
    margin: 0 auto;
}
.com-box01-inn > .header,
.com-box02-inn > .header,
.com-box03-inn > .header,
.com-box04-inn > .header,
.com-box05-inn > .header,
.com-box06-inn > .header,
.com-box07-inn > .header,
.service-list-wrap-inn > .header
{
    text-align: center;
    margin-bottom: 68px;
}

.com-box01-inn > .body,
.com-box02-inn > .body,
.service-list-wrap-inn > .body
{
    margin-bottom: 73px;
}
.com-box04-inn > .body {
    margin-bottom: 53px;
}
.com-box02-inn > .body,
.com-box04-inn > .body,
.service-list-wrap-inn > .body,
.flex-box-left
{
    display: flex;
    flex-wrap: wrap;
}
.service-list-wrap-inn > .body {
    justify-content: space-between;
    align-items: stretch;
}
.com-box02-inn > .body > .list-item {
    width: 312px;
    flex-basis: 312px;
    margin-right: 32px;
    font-family: 'Noto Sans JP', sans-serif;
}
.com-box02 .body > .list-item:nth-of-type(3n) {
    margin-right: 0;
}
.com-box02 .body > .list-item .list-photo {
    width: 100%;
    margin-bottom: 21px;
    border-radius: 20px;
}
.com-box02 .body > .list-item .list-photo > img,
.fig-two-box .fig-box > img
{
    border-radius: 20px;
}
.com-box02 .body > .list-item h3 {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--base-font);
    line-height: 3.6rem;
    margin-bottom: 21px;
    text-align: center;
}
.com-box02 .body > .list-item h3.towline {
    height: 72px;
}
.com-box02 .body > .list-item h3.left {
    text-align: left;
}
.com-box02 .body > .list-item p {
    font-size: 1.6rem;
    line-height: 1.75em;
    color: var(--base-font);
}
.com-box01 .footer .tel-contact {
    font-family: 'Noto Sans JP', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--font-black02);
}
.com-box01 .footer .tel-contact .note {
    font-size: 2.1rem;
    font-weight: 500;
    margin-right: 60px;
}
.com-box01 .footer .tel-contact .tel-box .tel-icon {
    font-weight: 700;
    font-size: 2.6rem;
    letter-spacing: -0.2em;
    padding-left: 16px;
}
.com-box01 .footer .tel-contact .tel-box .tel-icon::before {
    background-image: url("img/common/phone_gry_icon.svg");
    width: 15px;
    height: 20px;
    top: 7px;
}
.oomidashi-box {
    width: 1000px;
    margin: 68px auto;
}
.honmon-box,
.article-quote-box
{
    width: 1000px;
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 1.75em;
}
.article-quote-box {
    padding: 14px 17px;
    border: 1px solid #ccc;
}
.mokuji-box {
    width: 1000px;
    margin: 60px auto;
    background-color: #ddfcf7;
    border-radius: 16px;
    padding: 20px 35px;
}
.mokuji-box h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    color: var(--title-color);
    text-align: center;
    letter-spacing: 0.3em;
}
.mokuji-box ul {
    margin: 42px 0 30px 30px;
}
.mokuji-box li {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.5em;
    list-style: disc;
    margin-bottom: 0.7em;
}
.honmon-box p {
    margin: 1em 0;
}
.fig-two-box {
    width: 100%;
    display: flex;
}
.price-box-01 {
    width: 100%;
    padding: 23px 20px 12px;
    border: 1px solid #ccc;
    margin-bottom: 34px;
}
.price-box-01.none-mgb {
    margin-bottom: 0;
}
.price-box-02 {
    flex-basis: 48%;
    padding: 23px 20px 12px;
    border: 1px solid #ccc;
}
.price-box-03 {
    width: 1000px;
    padding: 23px 20px;
    border: 1px solid var(--border-blue);
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 1.75em;
}
.price-box-01 h4,
.price-box-02 h4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center;
    background-color: #D8F4F3;
    padding: 9px 0;
}
.price-box-01 h4 .small,
.price-box-02 h4 .small
{
    font-size: 1.6rem;
}

.price-box-02 h4.ume {
    background-color: #F3B5BC;
}
.price-box-02 h4.take {
    background-color: #B3DEC6;
}
.price-box-01 h4.matu {
    color: #fff;
    background-color: #3F7735;
}
.price-box-01 p,
.price-box-02 p {
    font-size: 1.4rem;
    line-height: 1.75em;
    margin: 1em 0;
}
.price-box-01 .price,
.price-box-02 .price
{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1em;
    margin: 34px 0 0;
    text-align: center;
}
.price-box-01 .price .small,
.price-box-02 .price .small
{
    font-size: 1.6rem;
}


.price-box-01 .price-note,
.price-box-02 .price-note
{
    font-size: 1.6rem;
    line-height: 1.75em;
    text-align: center;
}
.price-box-03 h4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.8em;
    text-align: center;
    background-color: #D8F4F3;
    padding: 8.8px 3px;
}
.price-box-03 h4.large-single {
    font-size: 2.4rem;
    line-height: 1em;
    padding: 13px 0;
}

.price-box-03 .list-dot li {
    margin-bottom: 0.5em;
}

.flex-box-center {
    display: flex;
    justify-content: center;
}
.price-box-03 .flex-box-center {
    width: 100%;
    margin: 38px 0;
}

.price-box-03 table.price-note th {
    padding-right: 28px;
    font-weight: normal;
}
.price-header {
    background-color: #D8F4F3;
    padding: 0 0 9px;
}
.price-header .breakdown {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 14px;
    margin-bottom: 5px;
}
.price-header .breakdown .title {
    font-size: 1.6rem;
    line-height: 1.4em;
    flex-basis: 4.5em;
    padding-top: 10px;
}
.price-header .breakdown .data {
    border: 1px solid #0ABAB5;
    padding: 5px 0;
}
.price-header .breakdown table {
    width: 100%;
    font-size: 1.5rem;
    line-height: 1.4em;
    
}
.price-header .breakdown table th,
.price-header .breakdown table td
{
    font-weight: normal;
    padding: 5px 14px;
}

.flex-box01 {
    flex-basis: 450px;
}
.fig-two-box .fig-box {
    flex-basis: 300px;
    border-radius: 20px;
    margin-top: 8px;
    margin-right: 35px;
}
.fig-two-box .description-box {
    flex-basis: calc(100% - 335px);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.75em;
    font-feature-settings: "halt";
}
.txt-ns-m20-44 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2.2em;
    color: var(--base-font);
}
.contact-us-box {
    width: 100%;
    position: relative;
}
.contact-us-box::after {
    display: block;
    content: "";
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 30px;
    width: 218.5px;
    height: 397px;
    background-image: url("img/common/contact_Illustration.png");
    background-repeat: no-repeat;
    background-size: cover;
}
.contact-us-box-inn {
    font-family: 'Noto Sans JP', sans-serif;
    width: 1000px;
    margin: 0 auto;
    padding: 43px 0 51px;
}

.contact-us-box-inn .header {
    text-align: center;
}
.contact-us-box-inn .body {
    margin-top: 54px;
}
.contact-us-box-inn h2 {
    display: inline-block;
    font-weight: 700;
    font-size: 3.2rem;
    letter-spacing: 0.05em;
    color: var(--font-blue01);
    padding-bottom: 6px;
    border-bottom: 2px solid var(--font-blue01);
}

.contact-us-box-inn .check-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 25px;
    position: relative;
    z-index: 2;
}
.contact-us-box-inn .check-list li {
    display: inline-block;
    font-weight: 700;
    font-size: 2rem;
    color: var(--back-blue);
    padding: 11px 18px 11px 46px;
    border-radius: 20px;
    background-color: #fff;
    position: relative;
    margin: 0 11px 21px;
}
.contact-us-box-inn .check-list li::before {
    display: block;
    content: "";
    width: 21px;
    height:  20px;
    background-image: url("img/common/check_icon.svg");
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 15px;
    left: 18px;
}
.contact-us-box-inn .tel-box {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--font-blue01);
    margin-top: 34px;
    position: relative;
    z-index: 2;
}
.contact-us-box-inn .tel-box .note {
    display: block;
    font-weight: 700;
    font-size: 1.8rem;
    margin-right: 28px;
}
.contact-us-box-inn .tel-box .tel-icon,
.contact-us-box-inn .tel-box .business-hours
{
    display: block;
    font-weight: 700;
    font-size: 2.6rem;
    letter-spacing: -0.2em;
    padding-left: 20px;
}
.contact-us-box-inn .tel-icon::before {
    width: 15px;
    height: 20px;
    top: 7px;
    background: url("img/common/phone_navyblue_icon.svg") no-repeat;
}

.contact-us-box-inn .tel-box .business-hours {
    letter-spacing: -0.025em;
    padding-left: 0;
}

.home .overview-box {
    width: 100%;
    padding: 28px 0 33px;
}
.home .overview-box-inn {
    width: 1000px;
    margin: 0 auto;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.66em;
    letter-spacing: 0.05em;
    color: var(--font-green01);
}
.index-list-box {
    width: 100%;
    padding: 36px 0;
}
.index-list-box:nth-of-type(2n) {
    background-color: var(--back-gray);
}

.blog-image-two-box {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.blog-image-two-box .dot-list > li {
    margin-bottom: 0.4em;
}
.blog-image-two-box .blog-image-left-box {
    flex-basis: 314px;
}
.blog-image-two-box .blog-image-left-box .image-photo {
    display: block;
    width: 100%;
    border-radius: 20px;
}
.blog-image-two-box .blog-image-left-box .image-photo img {
    width: 100%;
    height: auto;
    border-radius: 20px;
}

.blog-image-two-box .blog-right-box {
    flex-basis: calc(100% - 314px);
    font-size: 1.6rem;
    line-height: 1.75em;
    padding: 0 14px;
}
.blog-image-two-box .blog-left-box {
    flex-basis: calc(100% - 315px);
    font-size: 1.6rem;
    line-height: 1.75em;
}
.blog-image-two-box .blog-image-right-box {
    flex-basis: 315px;
}
.blog-image-two-box .blog-image-right-box .image-photo {
    display: block;
    width: 100%;
}
.blog-image-two-box .blog-image-right-box .image-photo.image01 {
    width: 251px;
    margin: 0 auto;
}
.voice-index-box,
.work-index-box,
.blog-index-box
{
    width: 1000px;
    margin: 0 auto;
}
.voice-index-item,
.work-index-item
{
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 71px;
}
.index-list-box .voice-index-item,
.index-list-box .work-index-item
{
    margin-bottom: 0;
}
.voice-index-item .copy,
.work-index-item .copy
{
    margin-bottom: 28px;
}
.voice-index-item .copy h2,
.work-index-item .copy h2
{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.1rem;
    line-height: 1.3em;
    color: var(--font-blue02);
    letter-spacing: 0.01em;
}
.blog-index-box {
    display: flex;
    flex-wrap: wrap;
    margin: 68px auto;
}
.blog-index-box.narrow {
    margin: 40px auto 0;
}
.blog-article-item {
    flex-basis: 312px;
    margin-right: 32px;
    margin-bottom: 50px;
}
.blog-article-item:nth-of-type(3n) {
    margin-right: 0;
}
.blog-article-item.narrow {
    margin-bottom: 24px;
}
.blog-article-item .image-photo {
    width: 100%;
    border-radius: 20px;
}
.blog-article-item .image-photo img {
    border-radius: 20px;
}
.blog-article-item h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.1rem;
    line-height: 1.48em;
    margin: 30px 0 24px;
}
.blog-article-item p {
    font-size: 1.6rem;
    line-height: 1.75em;
}
.blog-article-item .more-box {
    margin-top: 0;
}
.blog-green-wrap {
    width: 1000px;
    margin: 33px auto 18px;
    padding: 20px 20px 20px 44px;
    border: 1px solid var(--title-color);
}
.blog-green-wrap ul {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2rem;
    line-height: 1.75em;
    list-style-type: disc;
}
.blog-green-wrap li {
    margin-bottom: 10px;
}
.blog-green-wrap strong {
    font-weight: 700;
    color: var(--title-color);
}
.blog-green-wrap02 {
    width: 1000px;
    margin: 33px auto 18px;
    padding: 20px 20px 4px;
    border: 1px solid var(--border-blue);
    font-size: 1.6rem;
    line-height: 1.75em;
}
.blog-green-wrap02 p {
    margin-bottom: 1em;
}
.blog-green-wrap02.narrow {
    margin: 24px auto;
}
.txt-01,
.txt-02
{
    font-size: 1.6rem;
    line-height: 1.75em;
    margin-top: 1em;
}
.txt-02 {
    margin-bottom: 2em;
}
.voice-index-item .header,
.work-index-item .header
{
    display: flex;
    margin-bottom: 25px;
}

.voice-index-item .icon-box,
.work-index-item .icon-box,
figure.icon-radius
{
    width: 125px;
    flex-basis: 125px;
    height: 125px;
    background-color: #fff;
    border: 1px solid var(--border-gray01);
    border-radius: 8px;
    margin-right: 8px;
}
.voice-index-item .icon-box > img,
.work-index-item .icon-box > img,
figure.icon-radius > img
{
    border-radius: 8px;
}
.voice-index-item .title-box,
.work-index-item .title-box
{
    flex-basis: calc(100% - 133px);
    letter-spacing: 0.01em;
}

.voice-index-item .title-box h2,
.voice-index-item .title-box h3,
.work-index-item .title-box h2,
.work-index-item .title-box h3
{
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.2em;
    margin-top: 3px;
    margin-bottom: 16px;
}

.voice-index-item .title-box .service-use,
.voice-index-item .title-box .cs-box,
.work-index-item .title-box .service-use,
.work-index-item .title-box .research
{
    display: flex;
}
.voice-index-item .title-box .cs-box,
.work-index-item .title-box .research
{
    align-items: center;
}
.voice-index-item .title-box .service-use,
.work-index-item .title-box .service-use,
.work-index-item .title-box .research
{
    margin-bottom: 10px;
}
.voice-index-item .title-box .service-use .service-title,
.work-index-item .title-box .service-use .service-title,
.work-index-item .title-box .research .research-title
{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.71em;
}
.work-index-item .title-box .research .research-title {
    line-height: 2.2em;
}
.work-index-item .title-box .research .research-name {
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.71em;
}
.voice-index-item .title-box .service-use a,
.work-index-item .title-box .service-use a
{
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.33em;
}

.voice-index-item .title-box .cs-title
{
    font-weight: 500;
    font-size: 1.4rem;
}
.voice-index-item .title-box .face-icon,
.work-index-item .title-box .face-icon
{
    width: 24px;
    flex-basis: 24px;
    height: 24px;
    margin-left: 16px;
}
.voice-index-item .title-box .cs-degree
{
    font-weight: 500;
    font-size: 1.8rem;
}
.voice-index-item .body h4,
.work-index-item .body h4
{
    font-weight: 500;
    font-size: 2.1rem;
    line-height: 1.33em;
    letter-spacing: 0.005em;
    margin-bottom: 16px;
}

.voice-index-item .body .voice-copy {
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.5em;
    text-align: center;
    color: #FF7050;
    border: 2px solid #FF7050;
    border-radius: 20px;
    padding: 32px 7px;
    margin: 35px 0 64px;
}
.voice-index-item .body p,
.work-index-item .body p
{
    font-size: 1.6rem;
    line-height: 1.75em;
    letter-spacing: 0.005em;
}
.voice-qa {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 36px;
}
.voice-qa .title {
    flex-basis: 70px;
    font-size: 1.6rem;
    line-height: 1.75em;
    font-weight: 700;
    color: #666;
    position: relative;
}
.voice-qa .title::after {
    content: "：";
    display: inline-block;
    position: absolute;
    right: 14px;
}
.voice-qa .data {
    flex-basis: calc(100% - 70px);
    font-size: 1.6rem;
    line-height: 1.75em;
}
.more-box {
    margin-top: 12px;
    text-align: right;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.5rem;
}

.ecsite-item {
    font-family: 'Noto Sans JP', sans-serif;
    display: flex;
    margin: 32px 0 103px;
}
.ecsite-item .item-photo {
    width: 391px;
    flex-basis: 391px;
}
.ecsite-item .item-txt {
    width: calc(100% - 444px);
    flex-basis: calc(100% - 444px);
    margin-left: 53px;
}
.ecsite-item .item-txt ul {
    margin: 11px 0;
}
.ecsite-item .item-txt li {
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.2em;
    position: relative;
    padding-left: 24px;
    margin-bottom: 16px;
}
.ecsite-item .item-txt li::before {
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    background: url("img/common/arrow_green_icon.svg") no-repeat;
    background-size: cover;
    position: absolute;
    top: 2px;
    left: 0;
}
.ecsite-item .item-txt p {
    font-size: 1.6rem;
    line-height: 1.75em;
}

.news-box {
    width: 100%;
    border-top: 1px solid #ccc;
}
.news-box .news-item {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #ccc;
    padding: 18px 2px;
}
.news-box .news-item .data {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 2.2rem;
    flex-basis: 29%;
    min-width: 100px;
}
.news-box .news-item .title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    line-height: 2.2rem;
    flex-basis: 71%;
}
.faq-box {
    width: 100%;
}
.faq-box .faq-item {
    background-color: var(--back-gray);
    margin-bottom: 20px;
}
.faq-box .faq-item .faq-q {
    position: relative;
    display: flex;
    align-items: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.2em;
    padding: 14px 100px 14px 105px;
    min-height: 80px;
}
.faq-box .faq-item .faq-q::before {
    display: flex;
    align-items: center;
    content: "Q";
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    font-size: 5.5rem;
    color: var(--title-color);
    position: absolute;
    top: 12.5px;
    left: 16px;
    height: 55px;
}
.faq-box .faq-item .faq-a {
    display: none;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.625em;
    padding: 33px 90px 26px 105px;
}
.faq-box .faq-item .faq-a::before {
    display: flex;
    align-items: center;
    content: "A";
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    font-size: 5.5rem;
    color: var(--border-orange01);
    position: absolute;
    top: 33px;
    left: 16px;
    height: 55px;
}
.faq-box .faq-item .faq-plus,
.faq-box .faq-item .faq-minus
{
    cursor: pointer;
    width: 21px;
    height: 21px;
    position: absolute;
    top: 29.5px;
    right: 20px;
    text-align:center;
}
.faq-box .faq-item .faq-plus img,
.faq-box .faq-item .faq-minus img
{
    vertical-align:top;
}
.faq-box .faq-item .faq-minus {
    display: none;
}

.youtube-banner {
    width: 1000px;
    margin: 0 auto 89px;
}
.x-timeline {
    width: 700px;
    margin: 0 auto 72px;
}
.service-step {
    margin-top: 60px;
}
.service-step-box {
    margin-top: 12px;
}
.service-step-detail {
    margin-top: 59px;
}
.service-step-detail .step-wrap {
    display: flex;
    align-items:stretch;
    margin-bottom: 20px;
}
.service-step-detail .step-no {
    flex-basis: 75px;
    min-height: 120px;
    font-family: "Big Shoulders Display", sans-serif;
    font-weight: 600;
    font-size: 4.3rem;
    color: #fff;
    background-color: #7FF3E4;
    border-radius: 8px;
    text-align: center;
    padding-top: 15px;
}
.service-step-detail .step-no.no8-02 {
    color: #6FD1C3;
    background-color: #AAF7ED;
}
.service-step-detail .step-no.no9-02 {
    color: #fff;
    background-color: #9FF6EB;
}
.service-step-detail .step-no.no8-03 {
    color: #6FD1C3;
    background-color: #D4FBF6;
}
.service-step-detail .step-no.no9-03 {
    color: #6FD1C3;
    background-color: #BFF9F2;
}
.service-step-detail .step-no.no9-04 {
    color: #6FD1C3;
    background-color: #DFFCF8;
}
.service-step-detail .step-no.no3-02,
.service-step-detail .step-no.no8-04,
.service-step-detail .step-no.no9-05
{
    color: var(--border-orange01);
    background-color: #fff;
    border: 1px solid #E6E6E6;
}
.service-step-detail .step-no.no8-05,
.service-step-detail .step-no.no9-06
{
    color: var(--border-orange01);
    background-color: #FFDBD3;
}
.service-step-detail .step-no.no8-06,
.service-step-detail .step-no.no9-07
{
    background-color: #FFB8A7;
}
.service-step-detail .step-no.no8-07,
.service-step-detail .step-no.no9-08
{
    background-color: #FF947C;
}
.service-step-detail .step-no.no3-03,
.service-step-detail .step-no.no8-08,
.service-step-detail .step-no.no9-09
{
    color: #fff;
    background-color: var(--border-orange01);
}
.service-step-detail .step-detail {
    flex-basis: calc(100% - 100px);
    min-height: 120px;
    background-color: var(--back-gray);
    margin-left: 25px;
    padding: 15px 10px;
}
.service-step-detail .step-detail p,
.service-step-detail .note p,
.comblock
{
    font-size: 1.6rem;
    line-height: 1.75em;
    letter-spacing: 0.005em;
    margin-top: 8px;
}
.comblock .num-list {
    margin: 24px 0 24px 2.4em;
}
.comblock .num-list li {
    list-style: decimal;
    margin-top: 18px;
}
.comblock p {
    margin: 1em 0;
}
.comblock .intro-txt p {
    margin: 0;
}
.comblock .list-dot {
    margin-left: 1.4em;
}
.comblock .list-dot li {
    list-style: disc;
    margin-top: 0.5em;
}
.comblock .list-dot.narrow li {
    margin-top: 0.2em;
    margin-bottom: 0.2em;
}
.comblock figure {
	float: left;
	margin: 0.5em 1em 0.5em 0;
}
.comblock figure.fig-03 {
    width: 232px;
}
.comblock figure img {
	max-width: 100%;
}
.service-step-detail .note p,
.asterisk-mark
{
    position: relative;
    padding-left: 1.1em;
    margin: 0.5em 0 !important;
}
.service-step-detail .note p::before,
.asterisk-mark::before
{
    position: absolute;
    content: "※";
    left: 0;
}
.service-list-wrap {
    width: 100%;
    padding: 86px 0 61px;
}
.service-list-wrap .service-item {
    
    width: 482px;
    flex-basis: 482px;
    background-color: #fff;
    border-radius: 8px;
    padding: 28px 16px;
    margin-bottom: 17px;
}
.service-list-wrap .service-item h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.44em;
}
.service-list-wrap .service-item p {
    font-size: 1.6rem;
    line-height: 1.75em;
    margin-top: 28px;
}
/* Margin */
.nonemgt {
        margin: 0 !important;
}
.mgt01 {
    margin-top: 40px !important;
}
.mgt02 {
    margin-top: 30px !important;
}
.mgt03 {
    margin-top: 24px !important;
}
.mgt04 {
    margin-top: 57px !important;
}
.mgt05 {
    margin-top: 46px !important;
}
.mgt06 {
    margin-top: 73px !important;
}
.mgb01 {
    margin-bottom: 153px !important;;
}
.mgb02 {
    margin-bottom: 90px !important;;
}
.mgb03 {
    margin-bottom: 18px !important;;
}
.mgb04 {
    margin-bottom: 24px !important;;
}
.mgb05 {
    margin-bottom: 115px !important;;
}
.mg01 {
    margin: 24px auto 16px !important;
}
/* Mobile */
/* ============================================ */

@media screen and (max-width:1280px) {
    .page-header.toppage .box-inn {
        margin-left: auto;
        margin-right: auto;
    }
    .page-header.toppage .box-inn .toppage-fig01 {
        display: none;
    }

}
/* max-width 1280px */

@media screen and (max-width:1150px) {
    .header-wrap {
        align-items: center;
        height: 54px;
    }
    .header-nav {
        flex-basis: 34px;
        margin-right: 7px;
    }
    #header::after {
        width: 25vw;
    }
    .home #header::after {
        width: 48vw;
    }
    #header .nav-up-box,
    #header .nav-down-box,
    #footer .pc
    {
        display: none;
    }
    #mb-menu-icon {
        display: block;
    }
    .header-logo {
        flex-basis: 214px;
        padding: 10px 7px;
    }
    .header-wrap.menuop {
        width: 100%;
        background-color: #fff;
        position: fixed;
        z-index: 9999;
    }
    #footer .footer-inn,
    #footer .footer-corp,
    #footer .footer-nav
    {
        display: block;
    }
    #footer .footer-logo,
    #footer .corp-info,
    #footer .footer-nav > ul
    {
        margin-left: auto;
        margin-right: auto;
    }
    #footer .footer-nav {
        text-align: center;
    }
    #footer .footer-under {
        margin-top: 40px;
    }
    .contact-us-box::after {
        display: none;
    }
    .contact-us-box-inn .tel-box {
        flex-wrap: wrap;
    }
    .com-box01-inn {
        width: 96%;
    }
}
/* max-width 1150px */

@media screen and (max-width:1080px) {
    .contact-us-box-inn,
    .com-wrap01,
    .std-bkt-box-01,
    .std-bkt-box-02,
    .com-box03-inn,
    .com-box04-inn,
    .com-box05-inn,
    .com-box06-inn,
    .com-box07-inn,
    .toppage .overview-box-inn,
    .intro-box,
    #topic-path,
    .service-list-wrap-inn,
    .voice-index-box,
    .work-index-box,
    .com-box08,
    .com-box09,
    .com-box10,
    .home .overview-box-inn,
    .midashi-box,
    .oomidashi-box,
    .honmon-box,
    .article-quote-box,
    .mokuji-box,
    .komidashi-box,
    .voice-index-box,
    .related-link-box,
    .com-article-box,
    .wp-pagenavi,
    .blog-image-two-box,
    .price-box-03,
    .blog-green-wrap,
    .blog-green-wrap02,
    table.table-04,
    table.table-05
    {
        width: 96%;
    }
    .contact-us-box-inn .tel-box .note,
    .contact-us-box-inn .tel-box .business-hours
    {
        flex-basis: 100%;
        text-align: center;
        margin-bottom: 20px;
    }
    .contact-us-box-inn .tel-box .business-hours
    {
        font-size: 2rem;
    }
    .contact-us-box-inn .tel-box .tel-icon {
        margin-bottom: 4px;
        
    }
    .com-box02-inn
    {
        width: 656px;
    }
    .com-box02 .body > .list-item:nth-of-type(3n) {
        margin-right: 32px;
    }
    .com-box02 .body > .list-item:nth-of-type(2n) {
        margin-right: 0;
    }
    .com-box02-inn > .body > .list-item {
        margin-bottom: 30px;
    }

    .contact-us-box-inn,
    .fig-07
    {
        width: 100%;
    }
    .youtube-banner {
        width: 96%;
        margin: 0 auto 45px;
    }
    .page-header {
        padding: 56px 0;
    }
    .page-header.toppage {
        padding: 37px 0 40px;
    }
    .page-header.toppage .box-inn {
        width: 100%;
        display: block;
    }
    .page-header.toppage .box-inn .toppage-copy {
        width: 96%;
        text-align: center;
    }
    .page-header.toppage .box-inn .toppage-graph01 {
        width: 180px;
        margin: 40px auto 0;
    }
    .page-header.toppage .box-inn .toppage-copy {
        font-size: 2.2rem;
        line-height: 3.3rem;
    }
    .page-header.toppage .box-inn .toppage-copy strong.drop-shadow {
        font-size: 3rem;
    }
    .page-header.toppage .box-inn .toppage-copy strong.drop-shadow.small {
        font-size: 2.2rem;
    }
    .toppage .overview-box-inn {
        font-size: 1.5rem;
    }
    .com-box01 .footer .tel-contact,
    .service-list-wrap-inn > .body
    {
        justify-content: center;
        flex-wrap: wrap;
    }
    .com-box01 .footer .tel-contact .note {
        font-size: 1.6rem;
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
        margin-right: 0;
    }
    .page-title {
        font-size: 2.4rem;
    }
    .midashi,
    .home .midashi,
    .contact-us-box-inn h2,
    .contact-us-box-inn .tel-box .tel-icon,
    .contact-us-box-inn .tel-box .business-hours,
    .com-box01 .footer .tel-contact .tel-box .tel-icon
    {
        font-size: 2.2rem;
    }
    .txt-ns-m20-44,
    .contact-us-box-inn .tel-box .business-hours,
    .com-box02 .body > .list-item p,
    .voice-index-item .title-box .service-use a,
    .work-index-item .title-box .service-use a,
    .ecsite-item .item-txt p,
    .news-box .news-item .title,
    .blog-green-wrap02
    {
        font-size: 1.5rem;
    }
    .contact-us-box-inn .check-list li,
    .contact-us-box-inn .tel-box .note,
    .voice-index-item .title-box h2,
    .voice-index-item .title-box h3,
    .work-index-item .title-box h2,
    .work-index-item .title-box h3,
    .ecsite-item .item-txt li,
    .news-box .news-item .data,
    .voice-index-item .title-box .cs-degree,
    .home .overview-box-inn,
    .work-index-item .title-box .research .research-name
    {
        font-size: 1.6rem;
    }
    .contact-btn03 a,
    .com-box02 .body > .list-item h3,
    .voice-index-item .body h4,
    .work-index-item .body h4,
    .faq-box .faq-item .faq-q
    {
        font-size: 1.8rem;
    }
    .com-box02 .body > .list-item h3 {
        line-height: 1.4em;
        margin-bottom: 16px;
    }
    .com-box02 .body > .list-item h3.towline{
        height: 2.8em;
    }
    .faq-box .faq-item .faq-q::before {
        font-size: 3.5rem;
        height: 35px;
        top: auto;
    }
    .faq-box .faq-item .faq-a::before {
        font-size: 3.5rem;
        height: 35px;
    }
    .faq-box .faq-item .faq-q {
        padding: 14px 60px 14px 60px;
        min-height: 80px;
    }
    .faq-box .faq-item .faq-a {
        padding: 33px 60px 26px 60px;
    }
    .voice-index-item .title-box .service-use,
    .voice-index-item .title-box .cs-box,
    .work-index-item .title-box .service-use,
    .work-index-item .title-box .research,
    .ecsite-item
    {
        flex-wrap: wrap;
    }
    .voice-index-item .title-box .service-use .service-title,
    .work-index-item .title-box .service-use .service-title,
    .work-index-item .title-box .research .research-title
    {
        margin-bottom: 4px;
    }
    .voice-index-item .header,
    .work-index-item .header
    {
        align-items: flex-start;
    }
    .ecsite-item {
        justify-content: center;
        margin: 16px 0 51px;
    }
    .ecsite-item .item-txt {
        width: 70%;
        flex-basis:  70%;
        margin-left: 0;
        margin-top: 14px;
    }
    .ecsite-item .item-txt ul {
        margin: 11px 0 16px;
    }
    .voice-index-item .title-box .face-icon,
    .work-index-item .title-box .face-icon
    {
        width: 18px;
        flex-basis: 18px;
        height: 18px;
        margin-left: 8px;
    }
    .txt-ns-m20-44 {
        line-height: 1.75em;
    }
    .service-list-wrap .service-item {
        flex-basis: 550px;
    }
    .service-step-detail .step-detail {
        flex-basis: calc(100% - 70px);
        min-height: 100px;
        margin-left: 15px;
    }
    .service-step-detail .step-no {
        flex-basis: 55px;
        min-height: 100px;
    }
    .intro-box .anchor-title {
        height: 60px;
        padding: 12px 0 0;
    }
    .intro-box .anchor-title p {
        font-size: 1.8rem;
    }
    .komidashi02,
    .intro-txt p,
    .service-list-wrap .service-item h3
    {
        font-size: 1.6rem;
    }
    .service-step-detail .step-detail p,
    .service-step-detail .note p,
    .service-list-wrap .service-item p
    {
        font-size: 1.4rem;
    }
    .service-list-wrap .service-item p {
        margin-top: 20px;
    }
    .service-step-detail .step-no {
        font-size: 3.6rem;
    }
    .contact-us-box-inn .check-list li::before {
        top: 10px;
    }
    .page-header .title-fig-service,
    .page-header .title-fig-choose-us,
    .page-header .title-fig-company,
    .page-header .title-fig-faq,
    .page-header .title-fig-work,
    .page-header .title-fig-contact-us,
    .page-header .title-fig-service-02,
    .page-header .title-fig-examples-of-use,
    .page-header .title-fig-voice,
    .page-header .title-fig-know-how,
    .page-header .title-fig-news,
    .page-header .title-fig-research,
    .page-header .title-fig-interview,
    .page-header .title-fig-questionnaire,
    .page-header .title-fig-notfound,
    .page-header .title-fig-terms-of-use,
    .page-header .title-fig-privacy-policy
    {
        display: none;
    }
    .intro-box {
        margin: 30px auto 18px;
    }
    .intro-box.single {
        margin: 30px auto;
    }
    .intro-box .anchor-menu {
        width: 32%;
        flex-basis: 32%;
        margin-right: 2%;
    }
    .fig-two-box
    {
        flex-wrap: wrap;
        justify-content: center;
    }
    .fig-two-box .fig-box {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .fig-two-box .description-box {
        flex-basis: 100%;
        font-size: 1.6rem;
    }
    .intro-box .anchor-txt-menu {
        width: 23%;
        flex-basis: 23%;
        margin-right: 2%;
    }
    .dot-list > li {
        font-size: 1.6rem;
    }
    .dot-list li > ul {
        margin-left: 1em;
    }
    .dot-list li > ul.narrow {
        margin-top: 0.2em;
    }
    .fig-03 {
        width: 96%;
        margin: 38px auto;
    }
    .three-fig-box01 {
        flex-basis: 32%;
    }
    .oomidashi {
        font-size: 3rem;
    }
    .price-box-02 {
        flex-basis: 100%;
        margin-bottom: 20px;
    }
    .blog-index-box {
        width: 656px;
    }
    .blog-article-item:nth-of-type(3n) {
        margin-right: 32px;
    }
    .blog-article-item:nth-of-type(2n) {
        margin-right: 0;
    }
    .com-box09.flex-center {
        justify-content: center;
        margin: 37px auto 0;
    }
    .flex-box01 {
        margin-bottom: 20px;
    }
    .komidashi05 {
        min-height: auto;
    }
    .over-scrolling {
        width: 96%;
        margin: 24px auto;
    }
    .work-index-item .title-box .research .research-title,
    .work-index-item .title-box .research .research-name
    {
        line-height: 1.4em;
        margin-bottom: 0;
    }
    .work-index-item .title-box .research {
        align-items: center;
    }
}
/* max-width 1080px */
@media screen and (max-width: 940px) {
    .fig-10,
    .fig-11
    {
        width: 96%;
    }
    .fig-12 {
        width: 89%;
    }
    .price-header .breakdown {
        justify-content: flex-start;
    }
    .price-header .breakdown .data {
        flex-basis: 98%;
        margin: 10px 1%;
    }
}
/* max-width 960px */
@media screen and (max-width: 820px) {
    .ecsite-item .item-txt {
        width: 100%;
        flex-basis:  100%;
    }
    .intro-box .anchor-title p {
        font-size: 1.6rem;
    }
    .table-02 .row-01 .data {
        flex-basis: 100%;
        margin-top: 10px;
    }
    .table-02 .row-01 .title-box {
        flex-basis: 290px;
        font-size: 1.6rem;
        justify-content: flex-start;
    }
    .table-02 .row-01 .title-box .required-item,
    .table-02 .row-01 .data p
    {
        font-size: 1.4rem;
    }
    .table-02 .row-01 .title-box .required-item {
        margin-right: 0;
        margin-left: 2em;
    }
    .com-box08 {
        margin: 61px auto 73px;
    }
    .table-02 .row-01 {
        padding: 8px 0 18px;
    }
    .fig-05 {
        width: 100%;
    }
    .fig-12 {
        width: 96%;
    }
    .midashi-box.flex {
        flex-wrap: wrap;
    }
    .midashi-box.flex .title-icon-wrap,
    .midashi-box.flex .title-wrap
    {
        flex-basis: 100%;
    }
    .midashi-box.flex .title-icon-wrap {
        margin-bottom: 10px;
    }
    .over-scrolling {
        position: relative;
    }
    .over-scrolling-inn {
        overflow-y: scroll;
    }
    .over-scrolling .ctrl-bar-right,
    .over-scrolling .ctrl-bar-left
    {
        display: block;
        width: 40px;
        height: 100%;
        background-image: linear-gradient(to right,transparent,rgba(85,85,85,.25));
        position: absolute;
        top: 0;
        right: 0;
        cursor: pointer;
    }
    .over-scrolling .ctrl-bar-left {
        display: none;
        background-image: linear-gradient(to left,transparent,rgba(85,85,85,.25));
        left: 0;
        right: auto;
    }
    .over-scrolling .ctrl-bar-right::after
    {
        content: "";
        display: block;
        width: 15px;
        height: 30px;
        background-color: #535353;
        clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
        position: absolute;
        top: calc(50% - 15px);
        right: 5px;
        z-index: 50;
    }
    .over-scrolling .ctrl-bar-left::after {
        content: "";
        display: block;
        width: 15px;
        height: 30px;
        background-color: #535353;
        clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
        position: absolute;
        top: calc(50% - 15px);
        left: 5px;
        z-index: 50;
    }
    .over-scrolling-inn > table {
        width: 900px;
    }
    .blog-image-two-box {
        justify-content: center;
    }
    .blog-image-two-box .blog-image-left-box {
        flex-basis: 280px;
        margin-bottom: 20px;
    }
    .blog-image-two-box .blog-image-right-box {
        flex-basis: 280px;
        margin-top: 20px;
    }
    .blog-image-two-box .blog-right-box,
    .blog-image-two-box .blog-left-box
    {
        flex-basis: 100%;
    }
/* max-width 820px */
@media screen and (max-width: 720px) {
    .x-timeline {
        width: 96%;
        margin: 0 auto 36px;
    }
    .intro-box .anchor-box {
        width: 380px;
        margin: 27px auto 0;
        justify-content: center;
    }
    .intro-box .anchor-4box {
        width: 100%;
        margin: 27px auto 0;
        justify-content: center;
    }
    .intro-box .anchor-menu {
        width: 100%;
        flex-basis: 100%;
        margin-bottom: 30px;
        margin-right: 0;
    }
    .intro-box .anchor-txt-menu {
        width: 48%;
        flex-basis: 48%;
        margin-left: 1%;
        margin-right: 1%;
        margin-bottom: 20px;
    }
    .oomidashi {
        font-size: 2.4rem;
    }
    .price-box-03 table.price-note th {
        width: 50%;
        padding-right: 0.5em;
    }
    .fig-09 {
        width: 96%;
        margin: 18px auto;
    }
}
/* max-width 720px */
@media screen and (max-width: 678px) {
    .contact-us-box-inn h2 {
        font-size: 2.2rem;
    }
    .contact-us-box-inn .check-list li {
        font-size: 1.4rem;
        padding: 12px 18px 12px 40px;
    }
    .contact-us-box-inn .check-list li::before {
        width: 16px;
        height: 15px;
        top: 13px;
    }
    .contact-btn03 a {
        font-size: 1.6rem;
    }
    .com-box01-inn > .header,
    .com-box02-inn > .header,
    .com-box03-inn > .header,
    .com-box04-inn > .header,
    .com-box05-inn > .header,
    .com-box06-inn > .header,
    .com-box07-inn > .header,
    .service-list-wrap-inn > .header
    {
        margin-bottom: 34px;
    }
    .com-box02-inn > .body {
        justify-content: center;
    }
    .com-box02-inn
    {
        width: 96%;
    }
    .com-box02 .body > .list-item,
    .com-box02 .body > .list-item:nth-of-type(3n) {
        margin-right: 0;
    }
    .com-box02 .body > .list-item h3 {
        margin-bottom: 11px;
    }
    .com-box02 .body > .list-item h3.towline {
        height: auto;
    }
    .com-box01
    {
        padding: 35px 0 36px;
    }
    .com-box02,
    .com-box03:first-of-type,
    .com-box04
    {
        padding: 35px 0 57px;
    }
    .com-box03,
    .com-box05,
    .com-box06,
    .com-box07
    {
        padding: 0 0 57px;
    }
    .service-list-wrap {
        padding: 30px 0;
    }
    .com-box01-inn > .body,
    .com-box02-inn > .body,
    .voice-index-item,
    .work-index-item,
    .service-list-wrap-inn > .body
    {
        margin-bottom: 36px;
    }
    .com-box04-inn > .body {
        margin-bottom: 27px;
    }
    .contact-us-box-inn .body {
        margin-top: 27px;
    }
    .contact-us-box-inn {
        padding: 21px 0 27px;
    }

    .news-box .news-item {
        flex-wrap: wrap;
    }
    .news-box .news-item .data,
    .news-box .news-item .title
    {
        flex-basis: 100%;
    }
    .voice-index-item .icon-box,
    .work-index-item .icon-box
    {
        width: 90px;
        flex-basis: 90px;
        height: 90px;
    }
    .contact-btn03 a {
        padding: 16px 20px;
        border-radius: 30px;
    }
    .service-list-wrap .service-item {
        flex-basis: 100%;
        padding: 14px 12px;
    }
    .service-step-detail {
        margin-top: 29px;
    }
    .service-step {
        margin-top: 30px;
    }
    .fig-01 {
        width: 100%;
    }
    .komidashi,
    .blog-green-wrap ul
    {
        font-size: 1.8rem;
    }
    .comblock {
        font-size: 1.5rem;
    }
    .comblock figure.fig-03 {
        width: 40%;
    }
    .fig-01 {
        margin: 25px auto 30px;
    }
    .fig-02 {
        margin: 25px auto;
    }
    .fig-08 {
        width: 96%;
    }
    .table-01 .row-01 .title,
    .table-01 .row-02 .title,
    .table-01 .row-01 .data,
    .table-01 .row-02 .data
    {
        flex-basis: 100%;
        text-align: left;
        padding: 8px 10px 0;
        font-size: 1.6rem;
    }
    .table-01 .row-01 .data,
    .table-01 .row-02 .data
    {
        padding: 0 10px 8px;
    }
    .index-list-box {
        padding: 20px 0;
    }
    .voice-index-item .copy h2,
    .work-index-item .copy h2,
    .std-bkt-box-01 h3,
    .komidashi03,
    .mokuji-box h2
    {
        font-size: 1.8rem;
    }
    .voice-index-item .copy,
    .work-index-item .copy
    {
        margin-bottom: 20px;
    }
    .fig-04 {
        width: 100%;
    }
    .mokuji-box li,
    .more-btn02 a,
    .more-btn03,
    table.table-04 th, table.table-04 td
    {
        font-size: 1.6rem;
    }
    .more-btn02 a,
    .more-btn03
    {
        line-height: 1.4em;
    }
    .more-btn03
    {
        line-height: 1.4em;
        padding: 8px 18px;
    }
    .midashi
    {
        line-height: 1.4em;
    }
    .std-bkt-box-01 p,
    .std-bkt-box-02 p,
    .com-article-box,
    .honmon-box,
    .fig-two-box .description-box
    {
        font-size: 1.4rem;
    }
    .related-link-box h3
    {
        font-size: 1.5rem;
    }
    .oomidashi-box {
        margin: 34px auto;
    }
    .mokuji-box {
        margin: 33px auto;
        padding: 16px;
    }
    .mokuji-box ul {
        margin: 21px 0 15px 15px;
    }
    hr.col-grad {
        margin: 51px 0 30px;
    }
    .midashi-box {
        margin: 0 auto 21px;
    }
    .std-bkt-box-01 {
        margin: 0 auto 48px;
    }
    .komidashi-box {
        margin: 20px auto 16px;
    }
    .com-box09 {
        margin: 18px auto;
    }
    .std-bkt-box-02 {
        margin: 27px auto 29px;
    }
    .mgt01 {
        margin-top: 20px;
    }
    .mgt02 {
        margin-top: 15px;
    }
    .mgt03 {
        margin-top: 12px !important;
    }
    .mgt04 {
        margin-top: 28px !important;
    }
    .mgt05 {
        margin-top: 23px !important;
    }
    .mgt06 {
        margin-top: 36px !important;
    }
    .mgb01 {
        margin-bottom: 76px !important;;
    }
    .mgb02 {
        margin-bottom: 45px !important;;
    }
    .mgb03 {
        margin-bottom: 9px !important;;
    }
    .mgb04 {
        margin-bottom: 12px !important;;
    }
    .mgb05 {
        margin-bottom: 57px !important;;
    }
    .mg01 {
        margin: 12px auto 8px !important;
    }
    .price-box-01,
    .price-box-02,
    .price-box-03
    {
        padding: 12px 8px;
    }
    .price-box-01 h4,
    .price-box-02 h4,
    .price-box-03 h4
    {
        padding: 9px 5px;
    }
    .price-box-01 .price,
    .price-box-02 .price
    {
        font-size: 2.1rem;
        margin: 17px 0 0;
    }
    .price-box-03 {
        font-size: 1.4rem;
    }
    .price-box-03 .flex-box-center {
        margin: 20px 0;
    }
    .price-box-03 h4.large-single {
        font-size: 1.8rem;
        line-height: 1.2em;
    }
    .price-header {
        padding: 0 3px 9px;
    }
    .price-header .breakdown table {
        font-size: 1.3rem;
    }
    .price-header .breakdown .title {
        font-size: 1.4rem;
    }
    .price-header .breakdown table th,
    .price-header .breakdown table td
    {
        width: 65%;
        padding: 5px 7px;
    }
    .price-header .breakdown table td
    {
        width: 35%;
    }
    .pagelink-block {
        flex-basis: 96%;
        width: 96%;
        max-width: 556px;
    }
    .pagelink-block a,
    .more-btn04
    {
        flex-basis: 96%;
        width: 96%;
        max-width: 556px;
        font-size: 1.6rem;
        border-radius: 20px;
    }
    .pagelink-block a
    {
        flex-basis: 100%;
        width: 100%;
        max-width: 556px;
    }
    .blog-index-box {
        width: 312px;
    }
    .blog-article-item {
        margin-bottom: 25px;
        margin-right: 0;
    }
    .blog-article-item:nth-of-type(3n) {
        margin-right: 0;
    }
    .blog-article-item:nth-of-type(2n) {
        margin-right: 0;
    }
    .blog-article-item h2 {
        font-size: 1.8rem;
        margin: 10px 0;
    }
    .related-link-box {
        margin: 28px auto 47px;
    }
    .fig-10 {
        margin: 20px auto;
    }
    .fig-11 {
        margin: 14px auto;
    }
    .intro-txt p
    {
        font-size: 1.5rem;
    }
    table.table-04 th {
        width: 40%;
    }
    .blog-green-wrap02
    {
        margin: 18px auto;
    }
    .blog-green-wrap02.narrow
    {
        margin: 16px auto 18px;
    }
    .faq-box .faq-item .faq-a {
        padding: 12px 60px 26px 60px;
    }
    .faq-box .faq-item .faq-a::before {
        top: 12px;
    }
}
/* max-width 678px */

@media screen and (max-width: 547px) {
    .fig-02
    {
        width: 100%;
    }
    .fig-06
    {
        width: 90%;
    }
    .oomidashi {
        font-size: 2.1rem;
    }
    .more-btn02 a {
        padding: 9px 22px 9px 12px;
    }
    .more-btn02 a::after {
        top: 13px;
        right: 10px;
    }
    .flex-box01 {
        flex-basis: 96%;
    }
    .komidashi04 {
        margin-top: 0.5em;
    }
    .komidashi05 {
        font-size: 1.6rem;
    }
    .send-btn01,
    .send-btn02
    {
        border-radius: 30px;
        
    }
    .btn-box-02 {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .btn-box-02 form {
        display: block;
        margin: 0 auto 20px;
    }
    .midashi,
    .home .midashi
    {
        font-size: 1.8rem;
    }
    .more-btn02 a {
        min-width: 96%;
    }
}
/* max-width 547px */
@media screen and (max-width: 410px) {
    .ecsite-item .item-photo {
        width: 100%;
        flex-basis: 100%;
    }
    .voice-index-item .title-box .cs-title,
    .fig-two-box .fig-box
    {
        flex-basis: 100%;
    }
    .intro-box .anchor-box,
    .intro-box .anchor-4box,
    #footer .corp-info,
    #footer .contact-btn02
    {
        width: 100%;
    }
    .contact-btn02 a::after {
        right: 17px;
    }
    #footer .corp-info h3 {
        font-size: 1.5rem;
        text-align: center;
    }
    #footer .corp-info .addr, #footer .corp-info .tel {
        font-size: 1.1rem;
        font-feature-settings: "halt";
    }
    .com-box01-inn > .header,
    .com-box02-inn > .header,
    .com-box03-inn > .header,
    .com-box04-inn > .header,
    .com-box05-inn > .header,
    .com-box06-inn > .header,
    .com-box07-inn > .header,
    .service-list-wrap-inn > .header
    {
        margin-bottom: 20px;
    }
    .voice-index-item .title-box .cs-title
    {
        margin-bottom: 8px;
    }
}
/* max-width 410px */
@media screen and (max-width: 340px) {
    .blog-index-box {
        width: 96%;
    }

}
/* max-width 410px */
