@charset "UTF-8";

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0;
  font-size: 1em;
  height: 100%;
}

main {
  display: block
}

a {
  background-color: transparent
}

strong {
  font-weight: bolder
}

small {
  font-size: 80%;
}

img {
  border-style: none
}

button, input, select {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button, input {
  overflow: visible
}

button, select {
  text-transform: none
}

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

[type=checkbox], [type=radio], legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

[hidden], template {
  display: none
}

*, :after, :before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}

dd, dl {
  margin: 0
}

button {
  background: transparent;
  padding: 0
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color
}

ul {
  list-style: none;
  margin: 0;
  padding: 0
}

a {
  text-decoration: none;
}

*, :after, :before {
  border: 0 solid #e2e8f0
}

img {
  border-style: solid
}

input::-webkit-input-placeholder {
  color: inherit;
  opacity: .5
}

input::-moz-placeholder {
  color: inherit;
  opacity: .5
}

input:-ms-input-placeholder {
  color: inherit;
  opacity: .5
}

input::-ms-input-placeholder {
  color: inherit;
  opacity: .5
}

input::placeholder {
  color: inherit;
  opacity: .5
}

[role=button], button {
  cursor: pointer
}

a {
  color: inherit;
  text-decoration: none
}

button, input, select {
  padding: 0;
  line-height: inherit;
  color: inherit
}

canvas, img, svg {
  display: block;
  vertical-align: middle
}

html *, html :after, html :before {
  /* -webkit-box-sizing: inherit; */
  /* box-sizing: inherit */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

strong {
  font-weight: 500
}

small {
  font-size: 75%
}

html {
  overflow: auto;
  height: 100%;
  padding: 0;
  margin: 0;
  font-size: 1em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

input::-webkit-input-placeholder {
  color: #999 !important
}

input:-ms-input-placeholder {
  color: #999 !important
}

input::-moz-placeholder {
  color: #999 !important;
  opacity: 1
}

@media (max-width:600px) {
  input, select {
    font-size: 1em !important
  }
}

nav ul a:hover {
  background-color: transparent
}

input:disabled:not([type]), input[readonly=readonly]:not([type]), input[type=date]:disabled, input[type=date][readonly=readonly], input[type=datetime-local]:disabled, input[type=datetime-local][readonly=readonly], input[type=datetime]:disabled, input[type=datetime][readonly=readonly], input[type=email]:disabled, input[type=email][readonly=readonly], input[type=number]:disabled, input[type=number][readonly=readonly], input[type=password]:disabled, input[type=password][readonly=readonly], input[type=search]:disabled, input[type=search][readonly=readonly], input[type=tel]:disabled, input[type=tel][readonly=readonly], input[type=text]:disabled, input[type=text][readonly=readonly], input[type=time]:disabled, input[type=time][readonly=readonly], input[type=url]:disabled, input[type=url][readonly=readonly] {
  color: rgba(0, 0, 0, .7)
}

.clearfix:after {
  content: " ";
  display: table;
  clear: both
}

* {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1em;
  line-height: 1.5em;
  color: #333;
  text-decoration: none;
  padding: 0;
  margin: 0
}

.weight100 {
  font-weight:100
}

.weight300 {
  font-weight:300
}

.weight400 {
  font-weight:400
}

.weight500 {
  font-weight:500
}

.weight600 {
  font-weight:600
}

.weight700 {
  font-weight:700
}

.weight900 {
  font-weight:900
}

div {
  position: relative;
  width: 100%;
}

li, ul {
  list-style: none
}

img {
  border: none
}


/* 共通 */
/* header */
.header_wrap {
  width: 100%;
  background-color: #FFFFFF;
}
.header_wrap .header_inner {
  width: 95%;
  max-width: 1200px;
  height: 90px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

@media (max-width:640px) {
  .header_wrap .header_inner {
    width: 90%;
    height: 52px;
    justify-content: space-between;
    padding: 0; 
    margin: 0 auto;
    padding: 12px 0;
  }
}

.header_wrap.m--index {
  position: relative;
  z-index: 888;
}

.header_wrap.m--index .header_inner,
.header_wrap.m--result .header_inner {
  justify-content: space-between;
}

.header_wrap.m--popup {
  border-bottom: solid 3px #00000029;
  box-shadow: 0px 3px 3px #00000029;
}

.header_wrap.m--popup,
.header_wrap.m--detail {
  justify-content:center;
}

.header_wrap.m--index .logo,
.header_wrap.m--result .logo {
  font-size: 1.875em;
  font-weight: 300;
  display: flex;
  align-items: center;
  height: 90px;
}

@media (max-width:480px) {
  .header_wrap.m--index .logo,
  .header_wrap.m--result .logo {
    font-size: 1em;
  }
}

.header_wrap .logo img {
  min-width:66px;
  height:52px;
  margin: 15.3px;
}

@media (max-width:640px) {
  .header_wrap .logo img {
    height:32px;
    margin: unset;
}
}

.header_wrap .size_btn {
  width: 250px;
}

@media (max-width:640px) {
  .header_wrap .size_btn {
    display: none;
  }
}

.size_btn .btn-list {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
  padding: 0;
  margin: 0;
}


.btn-list li.text {
  font-size: 1em;
  font-weight: 300;
  margin-left: 4px;
  flex: 0 0 5em; 
}

.size_btn .btn-list li.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  line-height: 1;          
  font-size: 1em;          
  font-weight: 300;
  color: #333;
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 50%;
  cursor: pointer;
  margin: 0;               
  box-sizing: border-box;
}

.btn-list li.btn:hover {
  border: solid 2px #E98300;
}

.btn-list li.btn.m--active {
  border: solid 2px #E98300;
}

.btn-list li.btn.m--small {
  font-size: 14px;;
  line-height: 2.4;
}

.btn-list li.btn.m--medium {
  font-size: 16px;
  line-height: 2.2;
}
.btn-list li.btn.m--large {
  font-size: 18px;
  line-height: 2.0;
}

.header_title {
  background-color: #00A5D9;
}

.header_title_inner {
  width: 95%;
  max-width: 1200px;
  height: 45px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

@media (max-width: 640px) {
  .header_title_inner {
   height: 30px;
}
}

.header_title_inner h1 {
  color: #FFF;
  font-size: 1em;
  font-weight: 300;
  margin: 15.3px;
}

#index .main_contents,
#result .main_contents {
  background-color: #FFFFFF;
}

/* ?アイコンのクリック時のポップアップ */
.modal-wrap {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  z-index: 999;
  top: 0;
}
.modal_bg {
  background: rgba(0,0,0,0.2);
  width: 100%;
  height: 100%;
  position: absolute;
}
.modal_content {
  background: #FFFFFF;
  border-radius: 20px;
  position: absolute;
  left: 50%;
  padding: 25px 15px;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 32%;
}

@media (max-width:800px) {
  .modal_content {
    width: 50%;
  }
}

@media (max-width:640px) {
  .modal_content {
    width: 90%;
  }
}

.modal_header {
  position: relative;
  background-color: #FFE6B4;
  border-radius: 20px;
  padding: 4px 20px;
  margin-bottom: 10px;
}
.modal_header span {
  position: relative;
  color: #FF8424;
  font-size: 1.25em;
  background-color: #FFE6B4;
  border-radius: 20px;
  padding: 4px 20px;
  margin-bottom: 10px;
}

.modal_body {
  color: #393939;
  font-size: 1.125em;
  padding: 15px 15px;
}
.modal_footer {
  position: relative;
  width: 100%;
}
.modal_footer .close_btn {
  position: absolute;
  bottom: -45px;
  left: 0;
  right: 0;
  width: 40%;
  margin: auto;
  color: #FA672E;
  font-size: 0.875em;
  font-weight: 300;
  text-align: center;
  background-color: #FFFFFF;
  border: solid 3px #FA672E;
  border-radius: 40px;
  padding: 8px 36px;
}

.modal_footer .close_btn:hover {
  color: #FFFFFF;
  background-color: #FA672E;
  border: solid 3px #FA672E;
}

.notes {
  padding: 20px 0;
  margin: auto;
  max-width: 1200px;
  font-size: 0.8125em;
  margin-bottom: 10px;
  font-weight: 300;  
}
@media (max-width:640px) {
 .notes {
    margin-left: 35px;
    margin-right: 35px;
  }
}
@media (min-width:640px) {
 .notes {
    margin: 0 50px 0 50px;
  }
}
@media (min-width:980px) and (max-width:1290px) {
 .notes {
    margin: 0 70px 0 70px;
  }
}
@media (min-width:1290px) {
 .notes {
    margin: auto;
  }
}

.notes strong {
  color:#404040;
  font-weight: 700;
}
.notes ul {
  margin:8px 0 0 18px; 
  padding:0;
  list-style: none;
}
.notes ul > li {
  margin:.25em 0;
  color:inherit;
  position: relative; 
}

.notes li::before {
  content: "•";              
  color: #333;
  font-weight: 300;       
  display: inline-block;
  width: 1.2em;              
  margin-left: -1.2em;     
}

.notes li a {
  text-decoration: underline;
  color: inherit; 
}

/* footer (index.html,result.html) */
.footer_wrap {
  width: 100%;
  background-color:#00A5D9;
  padding: 20px 0;
}

.footer_inner {
  position: relative;
  width: 85%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

@media (max-width:680px) {
  .footer_inner {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
  }
}

.footer_nav {
  width: 100%;
}

.footer_logo {
  display: flex;
  align-items: flex-end;
  color: #FFF;
  font-size: 0.85em;
  margin-bottom: 20px;
}

@media (max-width:680px) {
  .footer_logo {
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
  }
}

.footer_logo img {
  width: 100px;
  margin-right: 5px;
}

.footer_nav .nav-ul {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width:680px) {
  .footer_nav .nav-ul {
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}

.footer_nav .nav-ul li {
  line-height: 1.0em;
  padding: 0 10px;
  border-right: solid 0.5px #FFFFFF;
}

@media (max-width:480px) {
  .footer_nav .nav-ul li {
    width: 50%;
    font-size: 0.875em;
    padding: 0 6px;
    border-right: solid 0.5px #FFFFFF;
    text-align: center;
    margin-bottom: 5px;
  }
}

.footer_nav .nav-ul li:first-of-type {
  padding-left: 0;
}
.footer_nav .nav-ul li:last-of-type {
  border-right: none;
}

@media (max-width:480px) {
  .footer_nav .nav-ul li:nth-child(odd) {
    border-left: solid 0.5px #FFFFFF;
  }
  .footer_nav .nav-ul li:last-of-type {
    border-right: solid 0.5px #FFFFFF;
  }
}

.footer_nav .nav-ul li  a {
  color: #FFFFFF;
  font-size: 0.875em;
}


@media (max-width:680px) {
  .footer_wrap .copyright_wrap {
    width: 85%;
    margin: 0 auto;
  }
}
@media (min-width:480px) {
  .footer_nav .nav-ul li {
    display: flex;
  }
}

.footer_wrap .copyright,
.footer_wrap .no {
  color: #FFFFFF;
  font-size: 0.8125em;
  text-align: right;
}

@media (max-width:680px) {
  .footer_wrap .copyright,
  .footer_wrap .no {
    margin-top: 5px;
    text-align: center;
  }
}

.footer_wrap .no {
  text-align: right;
}

.popup_frame {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 9999;
  background-color: #fff;
}

iframe {
  width: 100%;
  height: 100%;
  border:1px solid #CCC;
}
