@charset "UTF-8";

/* reset
---------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul[role='list'],ol[role='list']{list-style:none}
body{min-height:100vh}
h1,h2,h3,h4,h5,h6,button,input,label{line-height:1.4}
a:not([class]){text-decoration-skip-ink:auto;color:currentColor}
img,picture{max-width:100%;height:auto;display:block}
input,button,textarea,select{font:inherit}
textarea:not([rows]){min-height:10em}
:target{scroll-margin-block:5em}
/* addition */
table{border-collapse:collapse;border-spacing:0}
.cf:before,.cf:after{content:"";display:table}
.cf:after{clear:both}


/* base
---------------------------------------- */
html {
	font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  background-color: #FFFFFF;
  color: #181818;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size:  1.6rem;
  line-height: 1.8;
  overflow-wrap: anywhere;
  line-break: strict;
	-webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* link */
a {
	color: #1558d6;
}
a:visited {
	color: #681da8;
}
a:hover,
a:active {
	color: #44a0ff;
}


/* button
---------------------------------------- */
a.btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%,320px);
  height: 65px;
  margin: 0.4em 0;
  padding: 0 1.5em;
  border: 0px solid #036eb8;
  border-radius: 100vh;
  background-color: #fff46b;
  color: #0068b0;
  font-weight: bold;
  line-height: 1.3;
  text-decoration: none;
  z-index: 0;
  transition: 0.2s;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
a.btn:hover,
a.btn:active {
  background-color: #ffffff;
}
a.btn::after {
  content: '';
  display: block;
  width: 9px;
  height: 16px;
  margin-left: 10px;
  background-image: url(../image/icon_arrow.svg);
  background-position: center left;
  background-repeat: no-repeat;
  background-size: contain;
}
@media print, screen and (min-width: 960px) {
  a.btn { height: 70px; }
}


/* footer
---------------------------------------- */
footer {
	padding: 15px 0;
	background: #036eb8;
	color: #fff;
  font-size: 1.2rem;
	text-align: center;
}
address {
  font: inherit;
  line-height: 20px;
}
@media print, screen and (min-width: 768px) {
  footer { padding: 25px 0; }
}
