/* リセットと共通設定 */
body, div, pre, p, blockquote,
form, fieldset, input, textarea, select, option,
dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
table, th, td, embed, object {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	font-weight: normal;
}

img {
    display: block;
	border: 0px;
    /* vertical-align: top; */
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

html {
    font-size: 62.5%;
}

body {
    color: #222;
    font-size: 1.2rem; /* 基本文字サイズ拡大 */
    font-family: 'Noto Sans Japanese', '游ゴシック体', "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, sans-serif;
    overflow-x: hidden;
}

a {
    color: #131313;
}

a:hover {
    text-decoration: none;
}

a img:hover {
    opacity: 0.5;
}

.mb20 {
    margin-bottom: 20px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb100 {
    margin-bottom: 100px;
}

.btn_area {
    margin: 20px 0 60px;
    display: block;
}

.btn_area {
    animation: btn_anime_pulse 0.75s ease-in-out infinite alternate!important;
}
 
@keyframes btn_anime_pulse {
  0% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1); 
  }
}


.btn_area2 {
    margin: 10px 0 30px;
}

/* コンテンツ幅 */
#contents {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    overflow-x: hidden;
}

/* 太字テキスト */
.txtbold {
    color: #34409b;
    font-weight: bold;
}

/* ブロック単位の文字サイズ */
.box1, .box1_1 {
    font-size: 2.4rem;
    line-height: 180%;
    padding: 0 30px;
}

.box2, .box3 {
    font-size: 2.2rem;
    line-height: 180%;
}

.box2 img {
    display: inline-block;
	width: auto;
	height: auto;
	margin-right: 10px;
}

.txt_wrap {
    padding: 40px 0 60px;
}

/* dl/dt/dd フレックス対応 */
.pr {
    display: flex;
    flex-wrap: wrap;
}

.pr dt {
    flex-basis: 12%;
}

.pr dd {
    flex-basis: 88%;
    margin-left: 0;
}

/* Q&A */
.qa dt {
    background: url(../img/q.png) no-repeat;
    margin: 0 0 10px 0;
    padding: 0 0 0 37px;
    min-height: 30px;
    color: #3057A6;
    font-weight: bold;
}

.qa dd {
    background: url(../img/a.png) no-repeat;
    margin: 0 0 20px 0;
    padding: 0 0 0 37px;
    min-height: 30px;
}

/* info */
#info {
    margin: 0 20px 30px 20px;
    padding: 0 0 30px 0;
    border-bottom: solid 1px #3057A6;
    text-align: center;
}

.info_view {
    margin: 20px auto 10px auto;
    font-size: 1.8rem;
    text-align: center;
	line-height: 160%;
}

.info_view h4 {
    font-size: 3.2rem;
    text-align: center;
	line-height: 160%;
	font-weight: bold;
}

/* マップ */
/* .map {
    position: relative;
    margin: 0px auto 24px auto;
    width: 700px;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
} */

.map {
    position: relative;
    margin: 0px auto 24px auto;
    width: 100%;
    max-width: 800px;
    height: auto;
    padding-bottom: 0;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 強調文字 */
.b, .b2 {
    color: #3057A6;
    font-weight: bold;
}

/* 赤文字ポイント維持 */
.point {
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    color: #BE0032 !important; /* 赤色維持 */
    font-size: 160% !important; /* サイズ拡大 */
    font-weight: bold;
    line-height: 180%;
}

/* フォーム文字サイズ */
.form {
    font-size: 2.0rem;
    text-align: left;
}

.form label {
    border: none !important;
}

.form select {
	width: 100%;
    font-size: 2.0rem;
}

.form input[type="text"] {
	width: 38% !important;
    font-size: 2.0rem;
}

.form input[type="email"],
.form input[type="tel"],
.form textarea {
	width: 100% !important;
    font-size: 2.0rem;
}

.form_inner {
	margin: 0px auto 16px auto;
	width: 480px;
}

.f_m {
	background: #928a5c;
	margin: 0px 0px 16px 0px;
	padding: 0px 10px;
	color: #fff;
}

.f_m_inner {
	margin: auto;
	width: 480px;
}

.mast {
	background: #ff7f00;
	padding: 2px 4px;
	color: #fff;
}

/* フッター */
#footer_copy {
	padding: 24px 6px;
	font-size: 1.4rem;
	text-align: center;
	box-sizing: border-box;
}

/* メディアクエリ（スマホ表示） */
@media screen and (max-width: 750px) {
    body {
        font-size: 1.6rem;
    }
    .box1, .box1_1 {
        font-size: 2.6rem;
        padding: 0 4%;
    }
    .box2, .box3 {
        font-size: 2.4rem;
    }
    .txt_wrap {
        padding: 40px 4% 20px;
    }
    .info_view {
        font-size: 2.0rem;
    }
    .info_view h4 {
        font-size: 3.6rem;
    }
    .form {
        font-size: 2.2rem;
    }
    .form select,
    .form input[type="text"],
    .form input[type="email"],
    .form input[type="tel"],
    .form textarea {
        font-size: 2.2rem;
    }
    #footer_copy {
        font-size: 1.2rem;
    }
}
