@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
  --primary: #293855; improtant!
}

html{
  min-height: 100%;
  position: relative;
}

body{
  display: flex; 
  flex-flow: column;
  min-height: 100vh; 
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-optical-sizing: auto;
  font-style: normal;
  color: var(--primary);
}

main {
  flex: 1; 
  margin-top: 77px; 
  padding-bottom: auto;
  font-size: 85%;
}

a {
  color: var(--primary);
  text-decoration: none;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
a:hover,
a:active,
a:focus {
  color: var(--primary);
  outline: none;
  text-decoration: none;
}

.title a{
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
  color: var(--primary);
}

h3{
    font-size: 1.3rem;
}

.title h5{
   font-family: "Cormorant Garamond","Noto Serif JP", serif;
   font-size: 0.85rem;
   font-weight: 500;
   font-style: normal;
   margin-left: auto;
   margin-right: auto;
   padding-left: 0.5rem;
}

h6{
    font-weight: 400;
}
.title small{
 font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.8rem;
  color: var(--primary);
}

.bg-col{
  background-color: var(--primary);
  font-weight: 300;
  bottom: 0;
}

.btn-shadow {
  width: 40%;
  line-height: 1.5rem;
  text-align: center;
  background-color: rgba(239, 241, 239, 0.5);
  border-radius: 3px;
  transition: 0.5s;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.btn-shadow:hover {
  background-color: rgba(239, 241, 239, 0.5);
  box-shadow: 0 0 rgba(0, 0, 0, 0.4);
  transform: translateY(5px);
}

.msg-box{
  max-width: 756px;
  margin: 40px auto 0 auto;
  text-align: left;
  font-size: 85%;
 }

.fixed-bottom{
    position:absolute
}

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%;
}