/*-------------------------
全体の設定
--------------------------*/
html {font-size: 100%;}
@media (min-width: 375px) {
html {font-size: calc(100% + 100vw + 2 / 375);}
}

body{
	margin: 0;
	text-align: center;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight:500;
	font-size: 0.95rem;
	line-height:1.8em;
	color: #000;
	-webkit-text-size-adjust: none;line-break: strict;word-wrap: break-word;overflow-wrap: break-word; background:#F2F2F2;
}


/*リンク色*/
a{text-decoration: underline;color: #000;}
a:link,a:visited{color: #000;}
a:hover{text-decoration: underline;}




/*--------------------------------------------------------
サイト全体
--------------------------------------------------------*/
#container{width: 100%;margin: 0 auto; overflow:hidden; min-width:1040px;}
.content{clear: both;position:relative;width: 100%;}
.contentInner{padding:0 0 40px 0;margin: 0 auto;}
.contentInnerPage{max-width:1040px; min-width:1040px;}
.contentInnerPage640{max-width:680px; min-width:680px;}
.contentInnerPage950{max-width:950px; min-width:950px;}
.contentInner,.contentInnerPage,.contentInnerPage640,.contentInnerPage950{text-align: left;clear: both; position:relative;margin: 0 auto;}


.flex{display:flex;}
.flex_wrap{flex-wrap: wrap;}
.flex_container{justify-content: space-between; width:100%;}
.flex_container_s{justify-content: space-between; width:100%;}
.flex_reverse{flex-direction:row-reverse;}
.flex-stretch{align-items: stretch;}
.flex-bottom{align-items:flex-end;}
.flex-bottom_p{align-items:flex-end;}
.flex_center{align-items: center;}
.col-1{ width:100%; margin-bottom:40px;position: relative;z-index: 1;opacity:1.0;transition: 1.0s;}
.col-2{ width:50%;position: relative;z-index: 1;opacity:1.0;transition: 1.0s; margin-bottom:80px; box-sizing:border-box;}
.col-3{width:31.3%; margin-bottom:50px;position: relative;z-index: 1;opacity:1.0;transition: 1.0s;}
.col-1 a,.col-2_none a,.col-30 a {position: absolute;top: 0;left: 0;width: 100%;height: 100%;text-indent:-9999px;z-index: 2;}
.col-2 h2{ margin-bottom:5px;}






/*TOP*/
#TopMaincontent{clear: both;width:100%;min-height:100vh;position:relative; top:0;
background-repeat: no-repeat; background-position:left top;background-image: url(../images/bg_main.png); background-size: 30% auto;}
.js-parallax{position:relative;}
.Maincontent{clear: both;width:100%;position:relative;margin-bottom:100px; top:0; min-height:1080px;}
.Maincontent .concept{position: relative;display: flex;justify-content: center;align-items: start; min-height:1080px;}
.Maincontent .concept h1{padding:120px 0 0px 0; margin-bottom:10%;}
.Maincontent .concept h1 img{max-width:30px!important;}
.Maincontent .MainTxt{ position: absolute; top:45%; right:10%; width: 420px; text-align: left;}
.MainLogo{ padding-top:100px;}
.MainLogo img{max-width:350px!important;}
.Maincontent .concept img{position:relative; max-width:720px;}
.Main_icon{ padding-bottom:80px;}
.Main_icon img{ max-width:1020px!important;}

@media screen and (max-width: 768px) {
#TopMaincontent{ background-size: 40% auto;}
.Maincontent{min-height:auto;}
.Maincontent .concept{min-height:100vh;}
.Maincontent .concept h1{padding:60px 0 0px 0; margin-bottom:10%;}
.ssMaincontent .concept h1{ position:absolute; left:0; right:0; margin:0 auto; top:6%; margin-bottom:0;}
.Maincontent .MainTxt{ position: relative; top:auto; right:auto; width:90%; margin: 0 auto  60px auto; text-align: left;}
.MainLogo{ padding-top:40px;}
.ssMainLogo{ position:absolute; left:0; right:0; margin:0 auto; top:10%; padding:0;}
.MainLogo img{max-width:150px!important;}
.ssMaincontent .concept img{position:relative; max-width:auto;}
.Main_icon{ padding-bottom:0px;}
.Main_icon img{ max-width:90%!important;}
}



#loading-top-wrapper{ margin-bottom:80px;}

.fixed_left{ position:fixed; top:30px; left:30px;writing-mode: vertical-rl; color:#ff8033;}
.PageTop{ position:fixed; bottom:30px; left:30px;writing-mode: vertical-rl; color:#000;transition: 1.0s; background:#000; padding:20px 3px 10px 0; line-height:100%;}
.PageTop span::before{position: absolute;content: "";
top: 10px;left:6px;
width: 10px;height:10px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(-45deg);transform: rotate(-45deg);transition: 1.0s;}
.PageTop a{ text-decoration:none; color:#fff;transition: 1.0s;}
.PageTop a:hover{color:#ff8033;transition: 1.0s;}
.PageTop:hover span::before{border-top: 2px solid #ff8033;border-right: 2px solid #ff8033;transition: 1.0s;}

.CatchCont{ padding-top:0px;}
.Catch_logo{ margin-right:65px; text-align:right; position:relative;}
.Catch_logo img{ max-width:275px;}
#loading-wrapper{ max-width:275px;}
.Catch_Txt{ text-align:left;}



/*STAFF*/
.Staff_L{ width:13.8%; margin-right:5%;}
.Staff_R{ width:81.2%;}
.Teambox{ line-height:150%;text-align: justify;
}
.Teambox .col-5{position: relative; width:50%;box-sizing:border-box; border-bottom: 1px solid #FF8033;border-right: 1px solid #FF8033;}
.Teambox .col-5.Staff_LT{padding:0 3% 3% 0;}
.Teambox .col-5.Staff_RT{border-right: none; padding:0 0 3% 3%;}
.Teambox .col-5.Staff_LC{padding:3% 3% 3% 0;}
.Teambox .col-5.Staff_RC{border-right: none; padding:3% 0 3% 3%;}
.Teambox .col-5.Staff_LB{border-bottom: none;padding:3% 3% 0 0;}
.Teambox .col-5.Staff_RB{border-bottom: none;border-right: none; padding:3% 0 0 3%;}

.StaffThumb{min-height:350px;}
.StaffName{min-height:350px; margin-left: 2%;}
.StaffJob{ color:#FF8033; font-weight: bold; font-size: 120%; margin:20px 0 15px 0;}
.StaffComment{ font-size:90%;}

@media screen and (max-width: 768px) {
.Teambox{height: 100%;align-items:flex-start;}
.Staff_L{ padding-top:10%; margin-left: -3%; width:17%;position:sticky;top: 0; left: 0; height:500px;}
.Teambox .col-5{width:100%;border-right:none;}
.Teambox .col-5.Staff_LT,
.Teambox .col-5.Staff_RT,
.Teambox .col-5.Staff_LB,
.Teambox .col-5.Staff_LC,
.Teambox .col-5.Staff_RC{padding:10% 0;border-bottom: 1px solid #FF8033;}
.Teambox .col-5.Staff_RB{padding:10% 0;}
.StaffThumb{min-height:auto;}
.StaffName{min-height:auto;}
	
}



/*RECRUIT*/
.Recruits{ margin: 100px auto 60px auto;}
ul.RecruitNav{ margin: 100px auto 60px auto; padding: 0 10% 0 10%; border-top:1px solid #000; border-bottom:1px solid #000; font-size: 0;}
ul.RecruitNav li{ display: inline-block; width: 25%; box-sizing: border-box; border-left: 1px solid #000;vertical-align: bottom;}
ul.RescruitNav li:last-child{ border-right: 1px solid #000;}
ul.RecruitNav li img {
  vertical-align: bottom;
}

.RecruitTitle{ text-align:center;margin:0 0 80px 0; background: #FF8033;}
.RecruitTitle img{max-height: 60px;}
.Recruit_L{text-align: justify; line-height: 140%;}
.Recruit_R{ width:410px;}
ul.Recruit_tag{ margin-bottom: 20px;}
ul.Recruit_tag li{ display: inline-block; color: #FF8033; font-weight: bold; border: 1px solid #FF8033; border-radius:20px; font-size: 90%; padding: 0 10px; margin-right: 5px;}
.Recruit_job{ font-size:160%; font-weight: bold; margin-bottom: 20px;}
.bg_black_box{ margin:20px 0; padding: 0 10px; background: #000; color: #fff; display: inline-block;}

.Recruit_table{ border: 1px solid #000; width: 100%;}
.Recruit_table tr{vertical-align:top; border-bottom: 1px solid #000;}
.Recruit_table tr th{ padding: 20px; width: 20%; background: #E5E5E5; border-right: 1px solid #000;}
.Recruit_table tr td{ padding: 20px;}

.CompanyTitle{ text-align:center;margin:0 0 60px 0; background: #FF8033; color: #fff; padding: 20px 0; font-size:160%; font-weight: bold;}
.Company_table{ border: 1px solid #000; width: 100%;}
.Company_table tr{vertical-align:top; border-bottom: 1px solid #000;}
.Company_table tr th{ padding: 20px; width: 20%; background: #E5E5E5; border-right: 1px solid #000;}
.Company_table tr td{ padding: 20px;background:#fff;}


@media screen and (max-width: 768px) {
ul.RecruitNav{ margin: 60px auto 60px auto; padding:0; border-top:1px solid #000; border-bottom:none; font-size: 0;}
ul.RecruitNav li{width: 50%;border-left:none; border-bottom:1px solid #000;}
ul.RecruitNav li:last-child{ border-right: none;}
ul.RecruitNav li.RNav_s{ border-left: none;}
.RecruitTitle{margin:0 0 20px 0;}
.RecruitTitle img{max-height: 40px;}
.Recruit_L{ margin-bottom: 30px!important;}
.Recruit_R{ width:100%; margin-bottom: 30px!important;}
.Recruit_R img{width:100%;}
ul.Recruit_tag li{ display: inline-block;padding: 0 5px; margin-right:3px; font-size:80%;}
.CompanyTitle{margin:0 0 20px 0;}
.Recruit_table tr th{ padding: 10px; width: 30%;}
.Recruit_table tr td{ padding: 10px;}
.Company_table tr th{ padding: 10px; width: 30%;}
.Company_table tr td{ padding: 10px;}

}


/*Acodion*/
.AcorionBtn{position:absolute; margin:-150px auto 0 0; text-align:center; cursor:pointer; width:50%; z-index: 10; border: 1px solid #000; padding: 20px 0; font-size: 140%; font-weight: bold; }
.sAcorionBtn::after{ content:"";display:block; text-align:center; width:100%; height:1px; background:#000; margin:0 auto; position:relative; margin-bottom:30px; margin-top:20px;}

.Acorion{position:relative; padding:0 0 120px 0;}
.Acorion_Inner{display:flex;flex-wrap: wrap;justify-content: space-between; width:100%; box-sizing:border-box;}
.Acorion_Inner .col-2{ margin-bottom:0; width:47%;}
.toggle_btn {position: absolute;top: 50%;right: 5%;transform: translateY(-50%);display: block;width: 34px;height: 34px;text-indent: 100%;white-space: nowrap;overflow: hidden;border-radius: 50%;}
.sAcorionBtn:hover .toggle_btn{background: linear-gradient(-45deg, #ff8533, #ffc300);}
.AcorionBtn:hover{background-color: #FF8033;}

.toggle_btn:before, .toggle_btn:after {display: block;content: '';background-color: #FF8033;position: absolute;width: 20px;height: 2px;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.toggle_btn:before {width: 2px;height: 20px;}
.AcorionBtn.selected .toggle_btn:before {content: normal;}



.Acorion {display: none;}

.Btn{position:relative; margin:30px auto 0 auto; text-align:center; cursor:pointer; width:70%; background:#000; border: 1px solid #000; overflow: hidden; z-index:1; font-size: 140%; font-weight: bold;}
.Btn::after{background: #ff8533;position: absolute;top: 0;left: 0;content: '';width: 100%;height: 100%;transform: scale(0, 1);transform-origin: left top;transition: .3s cubic-bezier(0.45, 0, 0.55, 1);z-index: -1;}
.Btn a{ display:block; padding:20px; width:100%; box-sizing:border-box; text-decoration:none; color:#fff;}
.Btn:hover::after {transform: scale(1, 1);}
.Btn.endBtn{width:100%;}
.Btn.endBtn a{ padding:40px;}


/*header*/
.menu-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    display: flex;
    height: 70px;
    width: 100px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: transparent; cursor:pointer;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 5px;
    background-color: #000;
    position: absolute;
}
.menu-btn span{width: 60px; right:10px;}
.menu-btn span:before,
.menu-btn span:after {width: 80px; right:0;}
.menu-btn span:before {bottom: 15px;right:0;}
.menu-btn span:after {top: 15px;}
#menu-btn-check:checked ~ .menu-btn span {background-color: rgba(255, 255, 255, 0);}
#menu-btn-check:checked ~ .menu-btn span::before {bottom: 0;transform: rotate(45deg);}
#menu-btn-check:checked ~ .menu-btn span::after {top: 0;transform: rotate(-45deg);}
#menu-btn-check:checked ~ .menu-content {left: 0;}
#menu-btn-check {display: none;}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 80;
    background-color: #ff8033;
    transition: all 0.5s;overflow-y: scroll;
}
.menu-content ul {padding: 70px 10px 0;}
.menu-content ul li {list-style: none; font-size:200%;}
.menu-content ul li a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 20px 0;
    position: relative;
}


@media screen and (max-width: 768px) {
.menu-btn {
top: 20px;right: 20px;
height:35px;width: 50px;}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {height: 2px;}
.menu-btn span{width: 30px; right:10px;}
.menu-btn span:before,
.menu-btn span:after {width: 40px; right:0;}
.menu-btn span:before {bottom: 7px;right:0;}
.menu-btn span:after {top: 7px;}
}

/*footer*/
.footer{ padding:80px 0 40px 0; margin:0 auto; color:#fff; background:#000;background-image: url(../images/bg_footer.jpg);;background-repeat:no-repeat; background-size:auto 100%; background-position:bottom center;}
.footer_l{ width:500px;}
.footer_r{ width:200px;}
.footerList ul{}
.footerList ul li{ display:inline-block; padding-right:5px;}
.footerList ul li a{ color:#fff; text-decoration:none; transition:1s;}
.footerList ul li a:hover{ color:#ff8033; text-decoration:none; transition:1s;}
.footerList ul li::after{ padding-left:5px; content:"|";}
.footerList ul li:last-child::after{ padding-left:0px; content:none;}
.footer_siteTitle{ margin-bottom:30px;}
.copyright{ text-align:center; padding-top:80px;}

@media screen and (max-width: 768px) {
body{font-size:10pt;}
img{ max-width:100%;}
.flex-bottom_p{align-items:flex-start;}
.flex_reverse_s{flex-direction:column-reverse;}
#container{min-width:auto;}
.content{margin-bottom:60px;}
.contentInner{width:100%;margin:0 0 0 0; max-width:100%; min-width:auto;}
.contentInnerPage,.contentInnerPage640,.contentInnerPage950{width:90%;margin:0 5%; max-width:90%; min-width:auto;}
.col-2{ width:100%;margin-bottom:80px;}
.SingleBox{ padding:50px 0;}
.MarginBox{ padding:30px 0;}

.fixed_left{top:1%; left:-1%;}
.PageTop{ left:0%;}

#loading-top-wrapper{ position:relative; width:160%; margin-left:-30%; margin-bottom:80px;}
.CatchCont .col-2{ width:100%; margin-bottom:30px;}
.Catch_logo{ margin-right:0; text-align:center; position:relatieve;}
.Catch_logo img{ max-width:180px;}
.Catch_Txt{text-align:center; margin-top:10px;}
#loading-wrapper{ max-width:180px; position:relatieve; right:auto; margin:0 auto; text-align:center;}


.AcorionBtn{width:100%; margin: 0; position: relative;}
.Acorion{position:relative; padding-bottom:0px;}
.Acorion_Inner{padding:20px 0;}
.Btn{margin:30px auto 0 auto;width:100%;}


.HistoryCont{ padding:50px 0 0 0;}
.contentInnerPage .HistoryTitle{ position:absolute; top:20px; left:5%; width:140px;}

.OrangeContend{ margin-bottom:100px;}
.OrangeBanner{margin-bottom:30px;}
.contentInnerPage .OrangeLogo{ position:absolute; top:-160px; left:0; width:140px;}
.js-parallax02{ min-height:200px; width:auto;}
.contentInnerPage .OrangeCatchBox{ position:absolute; top:-160px; right:0;padding:10px;height:190px;}
.OrangeTextBox{ width:100%; margin-left:0; margin-bottom:80px; padding-top:80px;}
.OrangeLogo02{ text-align:center; margin-bottom:30px;}
.OrangeIcon02{ text-align:center; margin-bottom:0;}
.OrangeLogo02 img{ max-width:70%;}
.OrangeIcon02 img{ max-width:70%;}

.LifeStyle01 .IconLeft{ position:absolute; top:-25px; left:0;}
.LifeStyle02 .IconRight{ position:absolute; top:-25px; right:0;}
.IconLeft,.IconRight{width:120px;}
.LifeSytle01_Txt{ padding-top:120px; padding-left:0; width:100%; margin-bottom:30px;}
.LifeSytle01_Txt .IconLogo_link{right:-5px; bottom:-15px; width:80px;}
.LifeSytle01_pic{ padding-left:0; width:100%; margin-bottom:30px;}
.LifeSytle02_Txt{ padding-top:120px; padding-right:0%; width:100%; margin-bottom:30px;}
.LifeSytle02_pic{ padding-right:0; width:100%; margin-bottom:30px;}
.Galley .start{ margin-bottom:2%;}
.Galley .end{ margin-bottom:4%;}
.Galley .col-2{ width:49%; margin-bottom:2%;}
.LifeStyleEnd{ padding-bottom:30px;}

.contentInnerPage .AboutTitles{top:-20px; left:0; width:240px;}
.Aboutbox{ padding-top:60px;}
.Aboutbox .col-2{margin-bottom:40px;}
.AboutPicBox{ width:100%;}
.Aboutbox .AboutCatchBox{ top:auto; bottom:25%; left:5%;padding:10px;height: 200px;}
.AboutTextBox{ position:relative;top:auto; bottom:-80px; left:5%;width:90%; margin-bottom:60px;}
.AboutProfile{ padding-left:5%; margin-bottom:-30px; position:relative;}
.AboutThumb{width:90%; margin:0 5%;margin-bottom:30px;}
.AboutLinkbox{margin:0 5%; width:90%; padding-bottom:100px;}
.AboutLinkbox .col-2{ width:90%;margin-bottom:20px;padding:20px 10px;}
.AboutLinkbox .col-2:hover{opacity:0.6!important;transition: 1.0s;}
.AboutLinkbox .col-2 a {position: absolute;top: 0;left: 0;width: 100%;height: 100%;text-indent:-9999px;z-index: 2;}
.AboutLinkbox .col-2.AboutLinkbox_r{ margin-left:10%;}

.AboutTitle{ width:60%; text-align:left; border-right:1px solid #ccc; margin-right:5%; font-weight:bold;}
.AboutBanner{width:35%;}

.contentInnerPage .CompanyTitle{top:-80px; left:0; width:200px;}
.SingleTitle{width:200px;}
.CompanyBox{ padding:0px 0 30px 0;}
.Company_l{width:20%;margin:0 5% 0 0;}
.Company_r{width:75%;}
.i_googlemap{top:-10px;}

.ShoplistLogo{width:200px;padding-bottom:60px;}
.ShoplistTitle_en{width:240px; margin:0 auto 50px auto; padding-bottom:40px;}
.ShoplistTitle_en span.i_official{ position:relative; right:auto; top:20px; display:block; width:100px; text-align:center; margin:0 auto; }

.ShoplistBox{ padding-bottom:0px;}
.col-4{ width:48%;margin-bottom:40px;}
.ShoplistThumb{margin-bottom:10px;}
.ShoplistThumb .i_googlemap02{right:10px; bottom:10px;}


.menu-btn {top: 0px;right:10px;}
.copyright{ text-align:center; padding-top:30px;}

}




/*Font-size*/
.Catch_Txt{ font-size:110%; line-height:220%; font-weight:bold;}
.More{ font-size:90%;letter-spacing:0.3pt;}

.nowloading{ font-size:200%; line-height:160%; font-weight:bold; margin-bottom:60px;}

.Commingsoon .Nowload{ font-size:260%; letter-spacing:2pt; margin-bottom:10px;}
.OrangeCatchBox .OrangeCatch{ font-size:350%; line-height:140%; font-weight:bold;}
.AboutCatchBox .AboutCatch{ font-size:300%; line-height:140%; font-weight:bold;}
.ShoplistTitle_en{ font-size:300%; letter-spacing:2pt;}
.col-4{ font-size:90%;}
.fixed_left,.PageTop{ font-size:140%; z-index:100; letter-spacing:1pt;}

.AboutTextBox{ font-size:110%; line-height:200%;}
.footer_siteTitle{ font-size:260%; line-height:100%; letter-spacing:2pt;}
.footer_siteTitle span{font-size:60%; display:block; letter-spacing:1pt;}
.AboutTitle{ font-size:110%;}

@media screen and (max-width: 768px) {
.Overview_Title h2{ font-size:260%;}
.nowloading{ font-size:200%; line-height:160%; font-weight:bold; margin-bottom:60px;}
.OrangeCatchBox .OrangeCatch{ font-size:200%;}
.AboutCatchBox .AboutCatch{ font-size:200%;}
.AboutTitle{ font-size:90%;}

.fixed_left,.PageTop{ font-size:100%;letter-spacing:0.5pt;}
.PageTop span::before{top:10px;left:4px;width:6px;height:6px;}

}


/*テキストセンター寄せ*/
.textcenter {text-align: center;}
.textright {text-align: right;}
.textleft {	text-align: left;}
.textlefts{	text-align: left;}
.ml20{ margin-left:20px;}
.pb30{ padding-bottom:30px;}
.mb30{ margin-bottom:30px;}
.mb30s{ margin-bottom:30px;}
.mb40{ margin-bottom:40px;}
.mb60{ margin-bottom:60px;}

.display{ display:block;}
.display_s{ display:none;}
a.anchor{display: block;padding-top:60px;margin-top:-60px;}
.fb-container {max-width: 500px;position:relative;text-align:center!important;}
.resize40{ width:40px;}

@media screen and (max-width: 768px) {
.fb-container {width: 100%;max-width: 500px;}
.display{ display:none;}
.display_s{ display:block;}
.textlefts{	text-align:center;} 
.mb30s{ margin-bottom:20px;}
.textright_s {text-align: right;}

}

pre{ max-width:100%;}

.form_btn {margin: 30px 0;text-align: center;}
form,input,select {font-size: 120%;}
input[type="submit"],
input[type="button"] { border-radius:100px;
	margin: 0 5px;
	padding: 20px 100px;
	border-style: none;
	background-color: #FF8033!important;
	color: #FFFFFF;
	cursor: pointer;
	-webkit-appearance: none;
}
input[type="submit"]:hover,
input[type="button"]:hover {
	background-color: #000!important;
}
input[type="text"],
textarea,
select {
	font-size: 100%;
	border: #ccc 1px solid;
	padding: 5px;
	box-sizing: border-box;
}
button { border-radius:100px;font-size: 120%;
	margin: 0 5px;
	padding: 20px 100px;
	border-style: none!important;
	background-color: #FF8033!important;
	color: #FFFFFF!important;
	cursor: pointer;
	-webkit-appearance: none;
}
button:hover {
	background-color: #000!important;
}

dl {
    border-bottom: 1px solid #b6c9db;
    margin-bottom: 0;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

dt {
    text-align: right;
    font-weight: normal;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-bottom: 0;
}
@media ( max-width:767px) {
    dt {
        text-align: left;
    }
}

dd {
    width: 70%;
    text-align: left;
    padding-left: 1rem;
    margin-bottom: 0;
}

label:hover {
    cursor: pointer;
}

input[type=radio]:hover, input[type=checkbox]:hover {
    cursor: pointer;
}

.choice_img {
    max-height: 100px;
    display: block;
}

.conf_control {
    display: none;
}

.err_msg {
    color: crimson;
    background-color: #f8d7da;
    border: 1px solid crimson;
    padding: 5px 12px;
    border-radius: 3px;
    margin-top: 3px;
    display: none;
    width: 100%;
    font-size: 80%;
}

input, textarea, select {
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
input[type=radio],input[type=checkbox]{
    display: inline;
    width: unset;
    height: unset;
    padding: unset;
}

input:focus, textarea:focus, select:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, .25);
}

.custom_contents{
    height: 100px;
}
input[name="zip"],select[name="pref"]{
    width: 200px;
    display: inline;
}
input[name="last_name"],input[name="first_name"]{
    display: inline;
}
.font80{
    font-size: 80%;
}
