﻿@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@500;700;800;900&family=Noto+Sans+JP:wght@100..900&display=swap');

/*====================================================================

  リセット

====================================================================*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup,menu, nav, section, summary,time, mark, audio, video {
    margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	background:transparent;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display:block;
}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content:'';content:none;
}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {line-height: 150%;}
body {line-height:150%;}
img {vertical-align: bottom;max-width: 100%;height: auto;display: block;margin: 0 auto;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
caption, th, td {font-weight: normal;}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*====================================================================

  設定

====================================================================*/
html,body {
	color:#222;
    font-family: 'Noto Sans JP',"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	-webkit-text-size-adjust: 100%;
	background: #FFFFFF;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}

a:link {color:#1E468C; text-decoration:none;}
a:visited {color:#1E468C; text-decoration:none;}
a:hover {color:#1E468C; text-decoration:none;}

a img {
	-webkit-transition: opacity 0.4s ease-out;
	-moz-transition: opacity 0.4s ease-out;
	-ms-transition: opacity 0.4s ease-out;
	transition: opacity 0.4s ease-out;
}

a {-webkit-transition: 0.4s ;transition: 0.4s ;}
p {line-height:150%;}

.nowrap {white-space: nowrap;}
/* ==================================================================================================================

 共通CSS

================================================================================================================== */

html {font-size: 62.5%;}
body {font-size: 2.0rem; background: #FFCA9D;}

/*-------------------------------------------
 レイアウト
-------------------------------------------*/
.container {margin: 0 auto;}

section .container {
    max-width: 1000px;
    padding: 1em;
}
.page_wrap {
    max-width: 1000px;
    margin: 0 auto;
    background: #FFF;
    min-height: 100vh;
}

/*-------------------------------------------
 header
-------------------------------------------*/
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
/*-------------------------------------------
 main
-------------------------------------------*/
.contact_nav_last {
	background: #FAED00;
}
/*-------------------------------------------
 mail form
-------------------------------------------*/
#mail_form {
    font-size: 1.8rem;
}
#mail_form table {
    width: 100%;
}
#mail_form tr {
	border-bottom: 1px solid #CCC;
}
#mail_form tr th {
	width: 35%;
	text-align: left;
	overflow: hidden;
	padding: 1.0em 0.5em;
	font-weight: 600;
}
#mail_form tr td {
	width: 65%;
	padding: 1.0em 0.5em;
	text-align: left;
	border-top: none;
}
@media screen and (max-width: 768px) {
    #mail_form tr th {
        width: 100%;
        display: block;
        overflow: hidden;
        font-size: 15px;
        padding: 1.5em 0 0 0;
    }
    #mail_form tr td {
        width: 100%;
        display: block;
        padding: 1.0em 0 1.5em 0;
        font-size: 14px;
    }
}
#mail_form tr td p {
	font-size: 90%;
	color: #999;
	margin: 0.5em auto;
}
#mail_form .must {
    color: #FFF;
	background: #C33;
	font-size: 60%;
	line-height: 100%;
	padding: 0.5em 0.5em;
	margin-left: 0.5em;
	display: inline-block;
	font-weight: 500;
    border-radius: 0.3em;
}

#mail_form input[type="text"],
#mail_form input[type="email"],
#mail_form input[type="tel"] {
	padding: 10px;
	border: 1px solid #CCC;
	background: #FFF;
	resize: vertical;
    font-size: 16px;
    border-radius: 0.2em;
}
#mail_form input[type="text"]:focus,
#mail_form input[type="email"]:focus,
#mail_form input[type="tel"]:focus,
#mail_form textarea:focus {
	background: #ffffff;
}
#mail_form select {
	font-size: 16px;
    height: 4.0rem;
	padding : 0 2%;
	border : 1px solid #CCC;
    display: inline;
    background: #FFF;
    border-radius: 0;
}
#mail_form .birth select {
    width: auto;
}
#mail_form textarea {
	display: block;
	width: calc(100% - 1.0rem);
	height: 200px;
	padding: 10px;
	resize: vertical;
	border: 1px solid #CCC;
	background: #FFF;
	margin: 0 0.5rem;
    font-size: 16px;
    border-radius: 0.2em;
}
#mail_form ul li label:hover {
	cursor: pointer;
}
#mail_form .select_contacttype li {
	display: block;
	margin: 0.4em 0;
}
#mail_form .select_contacttype {
	margin-left: 0.5em;
}
#mail_form input#postal + a {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid #46b8da;
	border-radius: 3px;
	background: #5bc0de;
	font-size: 100%;
	color: #ffffff;
	text-decoration: none;
}
#mail_form input#postal + a:hover {
	cursor: pointer;
	background: #31b0d5;
	border: 1px solid #269abc;
}
.submit_btn {
    margin: 2em auto;
    text-align: center;
}

input[type="submit"] {
	padding: 0.5em;
    margin: 0.5em;
	font-size: 2.6rem;
	border-radius: 3px;
	background-color: #E60000;
	color: #FFF;
	font-weight: bold;
	border: none;
	cursor: pointer;
    text-align: center;
    width: 200px;
    margin-bottom: 0.5em;
}

input[type="reset"] {
	padding: 0.5em;
    margin: 0.5em;
	font-size: 2.6rem;
	border-radius: 3px;
	background-color: #FFF;
	color: #8E8E8E;
	font-weight:normal;
	border: 1px solid #8E8E8E;
	cursor: pointer;
    text-align: center;
    width: 200px;
}

.w100 {width: 100%;}
.w50 {width: 50%;}
.w25 {width: 25%;}

.radio_group label {
    display: inline-block;
    margin: 0.5em 1.5em 0.5em 0;
}
.radio_group label input {
    margin-right: 0.5em;
}
.radio_group label:last-of-type {
    margin-right: 0;
}
.contact_title{
    text-align: center;
    font-weight: 500;
    font-size: clamp(3.0rem, 4.0vw, 4.0rem);
    margin-top: 1em;
    color: orangered;
}
.contact_subtitle {
	background-image: -webkit-linear-gradient(270deg,rgba(255,222,61,1.00) 0%,rgba(255,178,0,1.00) 99.81%);
	background-image: -moz-linear-gradient(270deg,rgba(255,222,61,1.00) 0%,rgba(255,178,0,1.00) 99.81%);
	background-image: -o-linear-gradient(270deg,rgba(255,222,61,1.00) 0%,rgba(255,178,0,1.00) 99.81%);
	background-image: linear-gradient(180deg,rgba(255,222,61,1.00) 0%,rgba(255,178,0,1.00) 99.81%);
	padding: 0.5em 1em;
	border-radius: 0.5em;
	border: 1px solid #D3D3D3;
    font-weight: 600;
    margin-top: 1.5em;
    font-size: 2.0rem;
}
.contact_nav {
    background: #FFE100;
    font-family: "M PLUS 1p", sans-serif;
}
.contact_nav_title {
    background: #000;
    color: #FFF;
    text-align: center;
    font-size: 2.4rem;
    padding: 0.2em;
    line-height: 130%;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.contact_nav_lead {
    text-align: center;
    font-size: clamp(2.0rem, 3.0vw, 2.6rem);
    color: #FF0000;
    font-weight: 700;
    margin: 0 auto 0.2em auto;
    line-height: 130%;
}
.contact_nav_btn_wrap {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    max-width: 940px;
    margin: 0 auto;
}
.contact_nav_btn {
    width: 48%;
    margin: 1%;
}
.contact_nav_btn img {
    max-width: 100%;
}
.bottom_fix .contact_nav_lead {
    font-size: 1.8rem;
    margin-top: 0.5em;
    margin-bottom: 0;
}
@media screen and (min-width: 500px) {
    .bottom_fix .contact_nav_btn {width: 23%;}
    .pc_none {display: none;}
}
@media screen and (max-width: 499px) {
    .sp_none {display: none;}
}
.bottom_fix {
    position: fixed;
    width: 100%;
    z-index: 1;
    bottom: 0;
}
.fadein_scroll {
    opacity: 0;
	-webkit-transition: opacity 0.4s ease-out;
	-moz-transition: opacity 0.4s ease-out;
	-ms-transition: opacity 0.4s ease-out;
	transition: opacity 0.4s ease-out;
}
.fadein {
    opacity: 1!important;
}
/*
.policy_info {
    text-align: center;
    margin-top: 2em;
}
.thanks_inner {
    padding: 1em 0;
    margin-top: 5vh;
}
.thanks_inner p {
    margin-bottom: 2em;
}
.error_messe {
    font-size: 16px;
}
table.formTable {
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
	padding:0.8em;
    border: 1px solid #CCC;
}
table.formTable td {
	padding:0.8em;
    width: 70%;
    border: 1px solid #CCC;
}

.contact_header {
    background: #000;
    color: #FFF;
    font-size: 1.8rem;
    padding: 0.5em 0;
    text-align: center;
}
.tit03 {
    text-align: center;
    font-weight: 600;
    font-size: 2.8rem;
    margin-bottom: 1em;
    
}*/
address {
    font-style: normal;
    font-size: 1.8rem;
}
/*-------------------------------------------

 footer

-------------------------------------------*/
small  {
    display: block;
    text-align: center;
    font-size: 1.6rem;
    color: #999;
    padding: 0.8em;
    letter-spacing: 0.1em;
}

/* ==========================================
 768px以下 
=========================================== */
@media screen and (max-width: 768px) {
    html {font-size: 50%;}
}
@media screen and (max-width: 500px) {
    html {font-size: 45%;}
}
@media screen and (max-width: 375px) {
    html {font-size: 40%;}
}
