@charset "UTF-8";

body {
    font-family: "Noto Sans JP", sans-serif;
}

.inner {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}
#hoge{
    width:1040px;
    height:100%;
    margin:0 auto;
    position: fixed;
    z-index: -1;
    align-items: center;
}
/**トップに戻るボタン**/
html {
    scroll-behavior: smooth;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    border: solid 2px #ffffff;
    background-color: #000000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.7s;

    opacity: 0;
    visibility: hidden;
}
/*このクラスが付与されると表示する*/
.active{
    opacity: 1;
    visibility: visible;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    transform: translateY(20%) rotate(-45deg);
}
/**トップ戻るボタンここまで**/


/******header******/
.header_content {
    overflow: hidden;
}
header {
    background-color: #000000;
	padding: 10px 0;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}
.logo {
    text-align: center;
}
.logo img {
    width: 200px;
    margin-bottom: 30px;
    align-items: center;
}

.hamburger {
    margin: 10px auto;
    width: 100%;
    max-width: 1040px;
    align-items: center;
}

.hamburger .btn-gNav {
    position: fixed;
    top: 70px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 99;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.hamburger .btn-gNav span {
    position: absolute;
    width: 100%;
    height: 4px;
    background: #1D5778;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.hamburger .btn-gNav span:nth-child(1) {
    top: 0;
}

.hamburger .btn-gNav span:nth-child(2) {
    top: 10px;
}

.hamburger .btn-gNav span:nth-child(3) {
    top: 20px;
}

/*activeクラスが付与されると線が回転して×に*/
.hamburger .btn-gNav.active span:nth-of-type(1) {
    top: 0px;
    left: 0px;
    transform: translateY(6px) rotate(-45deg);
    width: 100%;
}

.hamburger .btn-gNav.active span:nth-of-type(2) {
    opacity: 0;/*真ん中の線は透過*/
}

.hamburger .btn-gNav.active span:nth-of-type(3){
    top: 12px;
    left: 0px;
    transform: translateY(-6px) rotate(45deg);
    width: 100%;
}


.btn-gNav {
    display: none;
}

.gNav .gNav-menu {
    display: flex;
    justify-content: space-between;
}

.gNav .gNav-menu li {
    margin: 0 auto;
    padding: 0 5px;
    font-weight: 700;
    color: #fff;
}
.gNav .gNav-menu li a:hover{
	color: #1D5778;
}


.main-visual {
    overflow: hidden;
}
.full {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    position: relative;
    overflow: hidden;
}
.main-text {
    position: absolute;
    top: 45%;
    left: 30%;
}
.main-text h2 {
    color: #fff;
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 5px;
    text-shadow: 5px 3px 5px #808080; 
    letter-spacing: 0.1em;
}
.main-text p {
    color: #a3a3a3;
    font-size: 1rem;
    width: 30vw;
}


/**********ここからCOMPANY**********/
.company-container {
    width: 100%;
    max-width: 1000px;
    margin-top: 40px;
    margin-bottom: 30px;
}
.company-frame {
    position: relative;
    text-align: center;
    margin-bottom: 40px;
}
h2.company2 {
    font-size: 1.4rem;
    position: absolute;
    top: 85px;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
    font-weight: 700;
    text-shadow: 2px 1px 2px #414040; 
    letter-spacing: 0.1em;
}
.company-frame .wrapper {
    position: absolute;
    left: 50%;
    transform: translate(-50%,-50%);
    top: 80%;
}
p.text1 {
    display: inline-block;
    text-align: left;
    margin-bottom: 60px;
}

/*主な共通部分は省略*/
a.btn_company {
	display: block;
	text-align: center;
	text-decoration: none;
	width: 210px;
	margin: auto;
	padding: 5px 4rem;
	font-weight: bold;
	color: #333;
    background-color: #fff;
	border-bottom: 2px solid #1D5778;
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	-webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
    font-size: clamp(16px, 1vw, 20px);
}
a.btn_company:hover {
	color: #ffffff;
	background: #1D5778;
	border-bottom: 2px solid #dddddd;
	transform: translateY(3px);
}


/**********ここからSERVICES**********/
.service-container {
    width: 100%;
    max-width: 1000px;
    margin-top: 40px;
    margin-bottom: 100px;
}
.service-frame {
    text-align: center;
    margin-bottom: 40px;
}
.service-frame img {
    width: 100%;
}
h2.service2 {
    font-size: 1.4rem;
    position: absolute;
    top: 85px;
    left: 50%;
    transform: translate(-50%,-50%);
    font-weight: 700;
    color: #fff;
    text-shadow: 1px 2px 3px #808080; 
    letter-spacing: 0.1em;
}
.service-frame .wrapper {
    position: absolute;
    left: 50%;
    transform: translate(-50%,-50%);
    top: 80%;
}

/**map**/
.access h3 {
    font-size: clamp(22px, 2vw, 36px);
    font-weight: bold;
    margin: 0 0 30px 0;
    text-align: center;
}
.address p {
    font-size: 1.06rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}
.map_inner {
    padding-bottom: 40%;
    position: relative;
}
.map_inner iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.link_map {
    margin: 10px 0 40px 0;
    font-size: clamp(14px, 1vw, 16px);
    text-align: right;
}
.link_map a:hover {
    opacity: 0.8;
}



/**********ここからCONTACT**********/
.contact-container {
    margin-top: 100px;
    margin-bottom: 30px;
}
.contact-frame {
    text-align: center;
    margin-bottom: 40px;
}
h2.contact2 {
    font-size: clamp(30px, 2vw, 40px);
    /*font-size: 36px;*/
    font-weight: 600;
}
/*お問い合わせはこちらボタン*/
a.btn_contact {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 100%;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border-radius: 100vh;
	border-bottom: 4px solid #aeaeae;
	background: #1D5778;
	color: #fff;
    font-size: clamp(16px, 1vw, 24px);
}
a.btn_contact:hover {
	margin-top: 6px;
	border-bottom: 1px solid #aeaeae;
	color: #fff;
}

/**********ここからfooter***********/
footer {
    margin: 30px 0 30px 0;
}
.footer-parent .logo {
    width: 150px;
    margin: 0 auto 20px;
}

.footer-nav-menu {
    display: flex;
    justify-content: center;
}
.footer-nav-menu {
    flex: 1;
    text-align: center;
    font-size:clamp(12px, 2.3vw, 18px);
}
.footer-nav-menu li {
    margin: 0 auto;
    padding: 0 5px;
    font-weight: 700;
    color: #333;
}
.footer-nav-menu li a:hover{
	color: #1D5778;
}

p.copy {
    font-size: 0.7rem;
    text-align: center;
    margin: 50px 0 50px 0;
}


/**********ここからカンパニーページ**********/
/*h3.page-headingは別の下層ページにも使用してます*/
.company-page {
    margin-top: 100px;
}
h3.page-philosophy {
    margin-top: 100px;
    font-size: clamp(22px, 2vw, 36px);
    font-weight: bold;
    border-bottom: 1px solid #333;
    margin-bottom: 20px;
}
h3.page-heading {
    font-size: clamp(22px, 2vw, 36px);
    font-weight: bold;
    border-bottom: 1px solid #333;
}
.dl-table {
    margin-top: 60px;
    margin-bottom: 100px;
}
.dl-table dl {
    display: flex;
    border-bottom: 1px solid #333;
}
.dl-table dl dt {
    width: 25%;
    font-weight: bold;
}
.dl-table dl dd {
    width: 75%;
}
.dl-table dl dd p {
    letter-spacing: 0.06em;
}
.dl-table dl dd ol li {
    line-height: 1.8;
    letter-spacing: 0.06em;
    list-style-type: decimal;
    margin: 0 0 0 25px;
}
.overview dt {
    margin: 10px 0 10px 0;
}
.overview dd {
    margin: 10px 0 10px 0;
}
.scroll-text {
    font-size: 1.5rem;
    margin: 50px 0 50px 0;
    color: #333;
    text-align: left;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-shadow: 5px 3px 5px #808080; 
}

.back {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only.jpg");
    background-color:rgba(255,255,255,0.9);
    background-blend-mode:lighten;
}
.box{
    color: #000000;
    padding: 40px;
    display:flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 calc(50% - 50vw);
	width: 100vw;
}
#box1 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.9);
    background-blend-mode:lighten;
    background-size: 100%;
}
#box2 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.86);
    background-blend-mode:lighten;
    background-size: 100%;
    min-height: 100vh;
}
#box3 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.80);
    background-blend-mode:lighten;
    background-size: 100%;
}
#box4 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.76);
    background-blend-mode:lighten;
    background-size: 100%;
}
#box5 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.72);
    background-blend-mode:lighten;
    background-size: 100%;
}
#box6 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.68);
    background-blend-mode:lighten;
    background-size: 100%;
}
#box7 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.64);
    background-blend-mode:lighten;
    background-size: 100%;
}
#box8 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.60);
    background-blend-mode:lighten;
    background-size: 100%;
}
#box9 {
    background-image: url("../img/AdobeStock_516095367_Editorial_Use_Only-my.jpg");
    background-color:rgba(255,255,255,0.56);
    background-blend-mode:lighten;
    background-size: 100%;
}


/*========= ページネーションCSS ===============*/

.pagination {
    position:fixed;
    right:20px;
    top: 50%;
    transform: translateY(-50%);
    font-size:1em;
    z-index: 10;
    list-style: none;
}

.pagination a {
    display:block;
    height:15px;
    margin-bottom:5px;
    color:#1D5778;
    position:relative;
    padding:4px;
}

.pagination a.active:after {
    box-shadow:inset 0 0 0 5px;
}

/*現在地表示のテキストの設定*/
.pagination a .hover-text {
    position:absolute;
    right:15px;
    top:0;
    opacity:0;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    padding-right: 15px;
}

.pagination a:hover .hover-text {
    opacity: 1;
}

.pagination a:after {
    -webkit-transition:box-shadow 0.5s ease;
    transition:box-shadow 0.5s ease;
    width:10px;
    height:10px;
    display: block;
    border:1px solid;
    border-radius:50%;
    content:"";
    position: absolute;
    margin:auto;
    top:0;
    right:3px;
    bottom:0;
}

/*768px以下は現在地表示のテキストを非表示*/
@media screen and (max-width:768px) { 
    .pagination a .hover-text{
    display: none;
    } 
}

/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
    overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
    display: inline-block;
}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}
.rightAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
    animation-name:slideTextX100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
    from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
    }

    to {
    transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
    }
}

.slideAnimeRightLeft {
    animation-name:slideTextX-100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
    from {
    transform: translateX(75%);/*要素を右の枠外に移動*/
    opacity: 0;
    }

    to {
    transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
    }
}

/**********ここからサービスページ**********/
.service-page {
    margin-top: 100px;
}
.service-intro {
    display: flex;
    border-bottom: 1px solid #333;
    margin-bottom: 60px;
}
.service-explain {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0;
}
.service-explain dl {
    display: flex;
    align-items: center;
}
.service-explain dl dt {
    width: 25%;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: bold;
}
.service-explain dl dd {
    width: 75%;
    font-size: clamp(16px, 2vw, 20px);
    line-height: 2;
}
.service-explain h4 {
    font-weight: bold;
    font-size: 1.2rem;
}
.service-explain ul li {
    list-style: disc;
    margin-left: 23px;
    line-height: 1.6;
    text-align: justify;
}
.operation h3 {
    font-size: clamp(22px, 2vw, 30px);
    font-weight: bold;
    margin-bottom: 30px;
}
.medium {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}
.medium h4 {
    font-size: clamp(20px, 2vw, 26px);
    font-weight: bold;
    width: 15%;
}
.medium-logo {
    display: flex;
    flex-wrap: wrap;
}
.medium img {
    width: 100%;
    max-width: 100px;
    height: auto;
    margin: 0 10px 0 10px;
}
.flexbox  img { 
    width: 100%;
    max-width: 100px;
    height: auto;
}
.flexbox {
    display: flex;
}
.menu-img img {
    margin: 10px;
}
.plan-table {
    width: 100%;
}
.menutitle {
    font-weight: bold;
}
/* 
TABLE
================================================ */
table {
    width: 100%;
    border-bottom: 1px solid #ddd;
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    overflow-x: scroll;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
    -webkit-overflow-scrolling: touch;
}
th, td {
    padding: 15px;
    text-align: center;
    vertical-align: top;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
    display: table-cell;
}
tr:nth-child(even)>td,
tr:nth-child(even)>th {
    background-color: #efefef;
}
th,
.plan-price {
    color: #333(0, 0%, 11%);
}
.plan-price {
    font-size: 2.5rem;
    border-top: 1px solid rgba(255,255,255,.2);
    padding: 25px 0;
}
.plan-price span {
    font-size: 1rem;
}

  /* Background colour */
.plan-free th,
.plan-free .plan-price {
    background: #fff;
}
.plan-premium th,
.plan-premium .plan-price {
    background: #fff;
}
.plan-premium .menu-img img {
    margin-bottom: 137px;
}

.fee {
    margin-top: 30px;
    border-bottom: 1px solid #333;
}
/**********ここからお問い合わせページ**********/
.contact-page {
    margin-top: 100px;
}
.contact-page h3 {
    font-size: clamp(22px, 2vw, 36px);
    font-weight: bold;
    border-bottom: 1px solid #333;
}
.contact-page h4 {
    font-size: clamp(18px, 2vw, 24px);
    margin: 30px 0 30px 0;
}
.contact-page h4 span {
    font-weight: bold;
}
.contactform {
    margin: 80px 0 0 0;
}
.contactform h4 {
    font-size: clamp(18px, 2vw, 24px);
    font-weight: bold;
}
.accordion {
	display: block;
	margin: 15px 0px;
	overflow: hidden;
	border-radius: 10px;
}
.accordion > .accordion__status {
	display: none;
}
.accordion > .accordion__button {
	display: block;
	padding: 10px 20px;
	position: relative;
	color: white;
	font-size: 16px;
	font-weight: 500;
	background: #1d5778;
}
.accordion > .accordion__button::before {
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	top: 50%;
	right: 25px;
	content: '';
	border-top: 3px solid white;
	border-right: 3px solid white;
	transform: translateY(-75%) rotate(135deg);
	transition: transform 1s ease;
}

.accordion > .accordion__content {
	display: block;
	padding: 0px 20px;
	height: auto;
	max-height: 0px;
	border-left: 1px solid #333;
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	transition: padding 1s ease, max-height 1s ease;
    line-height: 2;
}
.accordion > .accordion__status:checked + .accordion__button::before {
	transform: translateY(-25%) rotate(-45deg);
}
.accordion > .accordion__status:checked + .accordion__button + .accordion__content {
	padding: 10px 20px;
	height: auto;
	max-height: 400px;
}
.contact-message {
    margin: 80px 0 80px 0;
}
.contact-message p {
    font-size: clamp(16px, 2vw, 20px);
}
.contact-message .mail {
    font-size: clamp(22px, 2vw, 30px);
    font-weight: bold;
    border-bottom: 3px solid #1d5778;
}

.contact-checklist {
    border: 1px solid #333;
    padding: 20px;
}
.contact-checklist h4 {
    font-size: clamp(18px, 2vw, 24px);
    margin: 0 0 30px 0;
    font-weight: bold;
}
.contact-ckecktext {
    margin: 0 0 50px 0;
}
.contact-ckecktext h5 {
    font-size: clamp(18px, 2vw, 22px);
    margin-bottom: 10px;
    font-weight: 600;
}
.contact-ckecktext p {
    font-size: clamp(16px, 2vw, 18px);
}
form{
    width: calc(100% - 10px);
    margin: 0 auto 100px;
    font-size: clamp(11px, 3vw, 20px);
}
    
.item{
    display: flex;
    align-items: center;
    padding-top: 20px;
}
    
.label, .form_tif{
    width: 180px;
    padding-left: 10px;
    border-left: solid 5px #1d5778;
}
    
.label-required{
    color: #1d5778;
    font-weight: bold; 
    font-size: clamp(12px, 3vw, 20px);
}
.label-required-any{
    color: #333;
    font-weight: 500; 
    font-size: clamp(12px, 3vw, 20px);
}
    
input[type="text"],input[type="email"],input[type="tel"]{
    border: solid 1px #aaa;
    border-radius: 5px;
    padding: 10px;
    margin: auto 20px;
    font-size: 15px;
}
    
select{
    appearance: none;
    cursor: pointer;
    border: solid 1px #aaa;
    border-radius: 5px;
    padding: 10px;
    font-size: 15px;
}
    
textarea{
    border: solid 1px #aaa;
    border-radius: 5px;
    padding: 10px;
    margin: auto 20px;
    height: 160px;
    width: 480px;
    font-size: 15px;
}
    
.btn{
    text-align: center;
    margin: 25px auto;
}
    
button{
    background: #1d5778;
    border-radius: 7px;
    cursor: pointer;
    color: white;
    font-size: 17px;
    font-weight: bold;
    padding: 10px 25px;
}
.btn button .submit {
    margin-bottom: 40px;
}
.kakunin {
    margin: 115px auto 50px;
}
.kakunin h4 {
    font-size: clamp(18px, 2vw, 24px);
    margin: 0 0 30px 0;
    font-weight: bold;
}
.sousin-btn {
    background: #1d5778;
    border-radius: 7px;
    cursor: pointer;
    color: white;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    padding: 10px 25px;
    margin-top: 60px;
}
.modoru-btn {
    background: #3a4449;
    border-radius: 7px;
    cursor: pointer;
    color: white;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    padding: 10px 25px;
    margin-top: 40px;
}
.miss {
    margin: 115px auto 50px;
    text-align: center;
}
p .miss-text{
    font-size: 1rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 60px;
}
.miss-btn {
    background: #3a4449;
    border-radius: 7px;
    cursor: pointer;
    color: white;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    padding: 10px 25px;
    margin-top: 60px;
}
.end {
    margin: 115px auto 50px;
}
.end h4 {
    font-size: clamp(18px, 2vw, 24px);
    text-align: center;
    margin: 0 0 75px 0;
    font-weight: bold;
}
.Form {
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    max-width: 720px;
}
input::-webkit-input-placeholder {
    color: rgb(0, 0, 0);
    opacity: 0.5;
    font-weight: bold;
}

@media screen and (max-width: 430px) {
    .Form {
    margin-top: 40px;
    }
}
.Form-Item {
    border-top: 1px solid #ddd;
    padding-top: 24px;
    padding-bottom: 24px;
    width: 100%;
    display: flex;
    align-items: center;
}
@media screen and (max-width: 430px) {
    .Form-Item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
    }
}
    .Form-Item:nth-child(5) {
    border-bottom: 1px solid #ddd;
}
    .Form-Item-Label {
    width: 100%;
    max-width: 248px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 18px;
}
@media screen and (max-width: 430px) {
    .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
    }
}
    .Form-Item-Label.isMsg {
    margin-top: 8px;
    margin-bottom: auto;
}
@media screen and (max-width: 430px) {
    .Form-Item-Label.isMsg {
    margin-top: 0;
    }
}
    .Form-Item-Label-Required {
    border-radius: 6px;
    margin-right: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 48px;
    display: inline-block;
    text-align: center;
    background: #9A3036;
    color: #fff;
    font-size: 14px;
}
.Form-Item-Label-Required-any {
    border-radius: 6px;
    margin-right: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 48px;
    display: inline-block;
    text-align: center;
    background: #3f3e3e;
    color: #fff;
    font-size: 14px;
}
@media screen and (max-width: 430px) {
    .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
    }
}
    .Form-Item-Input {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
}
@media screen and (max-width: 430px) {
    .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
    }
}
    .Form-Item-Textarea {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 216px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
}
@media screen and (max-width: 430px) {
    .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
    }
}
    .Form-Btn {
    border-radius: 6px;
    margin-top: 32px;
    margin-bottom: 100px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 280px;
    text-align: center;
    display: block;
    letter-spacing: 0.05em;
    background: #9A3036;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
}
@media screen and (max-width: 430px) {
    .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
    }
}





/****************sp版CSS******************/

@media screen and (max-width: 834px) {
    .logo {
        max-width: 100%;
        height: auto;
    }
    /*nav*/
    .btn-gNav {
        display: block;
    }
    .gNav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: rgba(57, 57, 57, 0.8);
        font-size: 16px;
        box-sizing: border-box;
        z-index: 1;
        padding-top: 50px;
        transition: .3s;
    }
    .gNav.open {
        right: 0;
    }
    .gNav .gNav-menu {
        margin-top: 100px;
        padding: 0;
        width: 100%;
        height: 100%;
        display: block;
        flex-direction: column;
        text-align: center;
        /*justify-content: center;*/
    }
    .gNav .gNav-menu li {
        width: 86%;
        padding: 15px;
        border-bottom: #fff 1px solid;
        color: #ffffff;
    }
    .main-visual .main-text{
        position: absolute;
        top:10%
    }
    .main-text h2 {
        font-size: 1.5rem;
    }
    .main-text p {
        font-size: 0.8rem;
    }
    .company-frame h2 {
        position: absolute;
        top: 40px;
        font-size: 1rem;
    }
    .company-frame img {
        height: 300px;
    }
    /*serviceページ*/
    .service-intro {
        flex-wrap: wrap;
        align-items: center;
    }
    .service-img {
        width: 100%;
        height: auto;
    }
    .service-explain {
        margin: 0 0 0 0;
    }
    .service-frame h2 {
        position: absolute;
        top: 40px;
        font-size: 1rem;
    }
    .service-frame img {
        height: 350px;
    }
    #box1 {
        background-size: 221%;
    }
    #box2 {
        background-size: 221%;
    }
    #box3 {
        background-size: 221%;
    }
    #box4 {
        background-size: 221%;
    }
    #box5 {
        background-size: 221%;
    }
    #box6 {
        background-size: 221%;
    }
    #box7 {
        background-size: 221%;
    }
    #box8 {
        background-size: 221%;
    }
    #box9 {
        background-size: 221%;
    }
    .scroll-text {
        font-size: 1.2rem;
    }

    .medium h4 {
        width: 25%;
        margin: 0 0 20px 0;
    }
    .medium-logo {
        display: flex;
        flex-wrap: wrap;
    }
    .medium-logo li {
    }
    .flexbox {
        -webkit-flex-direction: column;
        flex-direction: column;
    }
    .menu-img {
        padding: 0;
    }
    .plan-premium .menu-img img {
        width: 50%;
        margin-bottom: 10px;
    }
    textarea{
        width: 100%;
        height: auto;
    }
}
@media screen and (max-width: 520px) {
    .medium {
        display:block;
    }
    .medium img {
        margin: 0 10px 0 10px;
    }
}
@media screen and (max-width: 414px) {
    .logo {
        max-width: 40%;
        height: auto;
    }
    .hamburger .btn-gNav {
        position: fixed;
        top: 60px;
        right: 20px;
        width: 30px;
        height: 24px;
        z-index: 12;
        box-sizing: border-box;
        cursor: pointer;
        -webkit-transition: all 400ms;
        transition: all 400ms;
    }
    .main-text h2 {
        font-size: 1.1rem;
    }
    .main-text p {
        font-size: 0.66rem;
    }
    .company-frame h2 {
        position: absolute;
        top: 30px;
        font-size: 0.7rem;
    }
    .company-frame img {
        height: 215px;
    }
    .service-intro {
        display: block;
    }
    .service-frame h2 {
        position: absolute;
        top: 30px;
        font-size: 0.7rem;
    }
    .medium-logo {
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
    }
    .service-frame img {
        height: 215px;
    }
    .plan-premium .menu-img img {
        margin-bottom: 10px;
    }
    .accordion > .accordion__button {
        padding: 10px 10px;
    }
    input[type="text"],input[type="email"],input[type="tel"]{
        border: solid 1px #aaa;
        border-radius: 5px;
        padding: 0px;
        margin: auto 10px;
        font-size: 15px;
    }
    .scroll-text {
        font-size: 1rem;
    }
    textarea{
        height: auto;
        width: 205px;
        margin: 0 9px 0 0;
    }
}