@charset "utf-8";

/* 汎用 */
a:hover img { opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_no_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.f_min { font-family: "Yu Mincho Medium", "Yu Mincho Medium", "Yu Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f_times { font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }
.f_gothic { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", "Yu Gothic", "メイリオ", Meiryo, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif; }
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }

/*IE10以下*/
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi { object-fit: cover; font-family: 'object-fit:cover; '; }

/*PC用*/
@media screen and (min-width:641px) {
    body { min-width: 1200px; overflow-y: hidden; }
    .pc { display: block !important }
    .sp { display: none !important }
    header { text-align: center; background: #ffca00; padding: 5px; font-size: 14px; }
    .lp_img { width: 100%; position: relative; height: 5659px; }
    .lp_img img { position: absolute; top: 0; left: 50%; margin-left: -950px; width: initial; max-width: inherit; }
    #form { background: #f6f6f6; }
    #form .contact_img { text-align: center; }
    #form .contact_img img { padding: 50px 0 0; margin: 0 auto; }
    #contact h2 { margin-bottom: 35px; }
    #contact form { margin: 0 auto; width: 1000px; }
    #contact form .input02 { font-size: 22px; padding: 5px 7px 4px; width: 418px; border: 1px solid #ccc; }
    #contact form .input03 { font-size: 22px; padding: 4px 7px 3px; width: 114px; border: 1px solid  #ccc; }
    #contact form .input04 { font-size: 22px; padding: 7px 7px 5px; width: 111px; border: 1px solid #ccc; }
    #contact form .input05 { font-size: 22px; padding: 4px 7px 2px; width: 113px; color: #fff; background: #c20e0e; border: none; margin-left: 15px; cursor: pointer; -webkit-appearance: none; border-radius: 0; }
    #contact form .caution_txt { display: block; color: #666; font-size: 22px; margin-top: 8px; }
    #contact form table#request { border: 1px solid #cccccc; margin-bottom: 40px; }
    #contact form table#request tbody tr { border-bottom: 1px solid #d8d8d8; }
    #contact form table#request tbody tr th { background: #e6e6e6; font-size: 22px; box-sizing: border-box; width: 273px; padding: 27px 0 43px 35px; }
    #contact form table#request tbody tr th span { color: #d60409; font-size: 22px; font-weight: bold; margin-left: 21px; }
    #contact form table#request tbody tr td { font-size: 22px; width: 730px; box-sizing: border-box; padding: 27px 0 22px 68px; background: #fff; }
    #contact form table#request.confirm_table tbody tr th { padding: 27px 0 27px 35px; }
    #contact form table#request.confirm_table tbody tr td { padding: 27px 0 11px 68px; }
    #contact form table#request tbody tr td .checkblock { border: 1px solid #ccc; display: inline-block; padding-left: 15px; margin-right: 26px; cursor: pointer; }
    #contact form table#request tbody tr td label { display: inline-block; padding: 5px 75px 4px 9px; cursor: pointer; }
    #contact form table#request tbody tr td label span.radio_txt { font-size: 22px; display: inline-block; margin-left: 5px; }
    #contact form table#request tbody tr td .error { color: #d60409; font-size: 20px; font-weight: bold; margin-top: 6px; }
    #contact form .privacy_ttl { font-size: 22px; font-weight: bold; text-align: center; margin-bottom: 15px; }
    #contact form div#privacyText { margin: 0 auto 16px; width: 755px; border: 1px solid #d8d8d8; box-sizing: border-box; padding: 22px; height: 120px; overflow-y: scroll; }
    #contact form p.agreeText { font-size: 18px; text-align: center; margin-bottom: 25px; }
    #contact form div.contactBtn { margin: 0 auto 0; width: 550px; }
    #contact button { cursor: pointer; }
    #contact button.policy_btn { background: none; border: none; }
    #contact form div.contactBtn button { border: none; background: none; padding: 0; margin-bottom: 30px; }
    #contact .complete_txt { text-align: center; font-size: 19px; padding: 200px 0 350px; }
    #contact { padding-top: 21px; }
    #footer { background: #444444; text-align: center; padding: 40px 0; min-width: 1200px; }
    #footer small { color: #fff; font-size: 14px; letter-spacing: 1px; }
}

/*SP用*/
@media screen and (max-width:640px) {
    .pc { display: none !important }
    .sp { display: block !important }
    img { max-width: 100%; height: auto; width: auto; }
    body { min-width: auto !important; overflow: inherit !important; }
    .sp_tac { text-align: center !important; }
    .sp_tar { text-align: right !important; }
    .sp_mb15 { margin-bottom: 15px !important; }
    .sp_mb20 { margin-bottom: 20px !important; }
    div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
    header { text-align: center; background: #ffca00; padding: 5px; font-size: 14px; }
    #contact form { margin: 0 auto; }
    #contact form .input02 { font-size: 5vw; padding: 2vw 2vw 1vw; width: 100%; box-sizing: border-box; border: 1px solid #ccc; }
    #contact form .input03 { font-size: 5vw; padding: 2vw 2vw 1vw; width: 31vw; box-sizing: border-box; border: 1px solid #ccc; display: inline-block; margin-right: 4vw; }
    #contact form .input04 { font-size: 5vw; padding: 2vw 2vw 1.5vw; width: 21vw; box-sizing: border-box; border: 1px solid #ccc; }
    #contact form .input05 { font-size: 4.5vw; padding: 2vw 0vw 1vw; width: 27vw; color: #fff; background: #c20e0e; border: none; margin-left: 3vw; cursor: pointer; text-align: center; -webkit-appearance: none; border-radius: 0; }
    #contact form .caution_txt { display: inline-block; color: #666; font-size: 4.5vw; margin-top: 3vw; text-align: left; }
    #contact form table#request { border: 1px solid #cccccc; margin-bottom: 9vw; }
    #contact form table#request tbody tr { border-bottom: 1px solid #d8d8d8; }
    #contact form table#request tbody tr th { background: #e6e6e6; font-size: 4.5vw; box-sizing: border-box; padding: 3vw 4vw 2.5vw; display: block; }
    #contact form table#request tbody tr th span { color: #d60409; font-size: 4.5vw; font-weight: bold; margin-left: 3vw; }
    #contact form table#request tbody tr td { font-size: 5vw; box-sizing: border-box; padding: 4vw 4vw 3.5vw; display: block; }
    #contact form table#request tbody tr td .checkblock { border: 1px solid #ccc; display: inline-block; padding-left: 2vw; cursor: pointer; box-sizing: border-box; width: 38vw; }
    #contact form table#request tbody tr td .checkblock.block01 { margin-right: 4vw; }
    #contact form table#request tbody tr td label { display: inline-block; padding: 2vw 17vw 1vw 1vw; cursor: pointer; }
    #contact form table#request tbody tr td label span.radio_txt { font-size: 5vw; display: inline-block; margin-left: 5px; }
    #contact form table#request tbody tr td .error { color: #d60409; font-size: 4.5vw; font-weight: bold; margin-top: 1vw; }
    #contact form .privacy_ttl { font-size: 4.5vw; font-weight: bold; text-indent: -1em; margin: 0 0 4vw 1em; line-height: 1.3; }
    #contact form div#privacyText { margin: 0 auto 4vw; border: 1px solid #d8d8d8; box-sizing: border-box; padding: 4vw; height: 43vw; overflow-y: scroll; }
    #contact form p.agreeText { font-size: 4vw; margin-bottom: 4vw; padding: 0 2vw; }
    #contact form div.contactBtn { margin: 0 auto 12vw; }
    #contact form div.contactBtn button { margin-bottom: 4vw; border: none; box-shadow: none; background: none; padding: 0; }
    #contact button.policy_btn { background: none; border: none; margin: auto; width: 100%; padding: 0; }
    #contact .complete_txt { font-size: 4.5vw; padding: 14vw 0 33vw; }
    #contact { padding: 4vw 4vw 0; }
    #footer { background: #444444; text-align: center; padding: 8vw 0; }
    #footer small { color: #fff; font-size: 3.5vw; letter-spacing: 0.3vw; }
}
