﻿html {
  width: 100%;
  height: 100%;
  font-size: 18px;
}
.mincho {
  font-family: 'Noto Serif JP', serif;
}
.gothic {
  font-family: 'Noto Sans JP', sans-serif;
}
.pop {
  font-family: 'Kosugi Maru', sans-serif;
}
.biggest_font {
  font-size: 2.4rem;
}
.bigger_font {
  font-size: 2rem;
}
.big_font {
  font-size: 1.6rem;
}
.little_big_font {
  font-size: 1.2rem;
}
.default_font {
  font-size: 1rem;
}
.small_font {
  font-size: 0.8rem;
}
.bold_font {
  font-weight: bold;
}
.spacer {
  padding: 0.375rem;
}
.default_margin {
  margin: 0.375rem;
}
.bottom_margin {
  margin: 0.375rem;
}
.sp_only {
  display: none;
}
.double_line {
  line-height: 2em;
}
.white_font {
  color: white;
}
.red_font {
  color: red;
}
.blue_font {
  color: #0062b2;
}
.underline {
  text-decoration: underline;
}
.square_border {
  border: solid 1px black;
  padding: 0.375rem;
}
.add_border {
  /*
    border-left: solid 1px black;
    border-bottom: solid 1px black;
    border-right: solid 1px black;
    border-top: none;
    */
  border: solid 1px black;
  border-radius: 0.375rem;
  padding: 0.375rem;
}
/*総合型用のフォントカラー*/
.general_font_color {
  color: #0587ae;
}
/*総合型用の背景色*/
.general_background {
  background-color: #0062b2;
}
/*熟年型用のフォントカラー*/
.senior_font_color {
  color: #c587c4;
}
/*熟年型用の背景色*/
.senior_background {
  background-color: #8d679c;
}
/*こども型等で使われるフォントカラー*/
.child_font_color {
  color: #ef5070;
}
/*こども型等で使われる背景色*/
.child_background {
  background-color: #eb6e8f;
}
/*火災共済で使われるフォントカラー*/
.fire_font_color {
  color: #ffa02f;
}
/*傷害保障型で使われるフォントカラー*/
.pain_font_color {
  color: #daa520;
}
.peace_of_mind {
  line-height: 1em;
  padding: 0.75rem 0;
  box-sizing: border-box;
}
.peace_of_mind p:first-child {
  text-indent: -3em;
}
.peace_of_mind p:last-child {
  text-indent: 3em;
}
body,
input,
select,
button {
  font-family: 'Noto Sans JP', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'Osaka', 'MS PGothic', 'arial', 'helvetica', 'sans-serif';
  font-size: 1.2rem;
}
body {
  width: 100%;
  margin: 0 auto;
}
header {
  margin: 0;
  width: 100%;
}
main {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  text-align: center;
}
footer {
  margin: 0;
  padding: 0.375rem;
  width: calc(100% - 0.375rem * 2);
  text-align: center;
  color: white;
  background-color: #005fba;
  font-size: 0.7rem;
}
iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
}
.course_life {
  color: white;
  background-color: #005fba;
}
.course_fire {
  color: white;
  background-color: #ffa02f;
}
.corporate_logo {
  display: block;
  margin: auto;
  width: 80%;
  max-width: 640px;
}
.Std .line_green_font,
.iPhone .line_green_font,
.iPad .line_green_font {
  color: #06C755;
}
.Android .line_green_font {
  color: #4CC764;
}
.Std .looking_for_line_friends,
.iPhone .looking_for_line_friends,
.iPad .looking_for_line_friends {
  border: 2px solid #06C755;
}
.Android .looking_for_line_friends {
  border: 2px solid #4CC764;
}
.looking_for_line_friends {
  margin: 0.375rem 0;
  border-radius: 0.375rem;
}
.looking_for_line_friends ul {
  box-sizing: border-box;
  width: 100%;
  padding: 0.375rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.looking_for_line_friends ul li {
  list-style: none;
}
.looking_for_line_friends ul li:first-of-type {
  width: 80%;
}
.looking_for_line_friends ul li:nth-of-type(2) {
  width: 14%;
}
.looking_for_line_friends ul li img {
  width: 100%;
}
.looking_for_facebook {
  margin: 0.375rem 0;
  border-radius: 0.375rem;
  border: solid 2px #1877F2;
}
.looking_for_facebook ul {
  box-sizing: border-box;
  width: 100%;
  padding-top: 0.375rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.looking_for_facebook ul li {
  list-style: none;
}
.looking_for_facebook ul li:first-of-type {
  width: 14%;
}
.looking_for_facebook ul li:nth-of-type(2) {
  width: 40%;
  min-width: 145px;
  color: #1877F2;
}
.looking_for_facebook ul li img {
  width: 80%;
}
.looking_for_facebook .sns_icons img {
  width: 4rem;
  height: 4rem;
  margin: 0.375rem;
}
.title {
  position: relative;
  width: 100%;
  text-align: center;
  margin-block: 0.4rem;
  /*
    background-image: url("../img/title_back.jpg");
    background-attachment: scroll;
    background-size: cover;
    background-repeat: no-repeat;
    */
  color: white;
}
.title img.letter {
  width: 60%;
  margin: 2.5rem auto;
}
.title img.award {
  position: absolute;
  top: 0;
  left: 0;
  width: 15%;
  margin: 0.375rem;
}
.title img.cmimg {
  width: 95%;
  border-radius: 0.5rem;
}
.title .cmmsg {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -45%);
  background-color: #007dd1;
  color: white;
  text-align: left;
  font-size: 4.2vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  width: calc((4.2vw + 0.05em) * 8 + 0.6rem);
  padding: 0.375rem 2rem;
  margin: 0 auto;
}
.warning {
  color: red;
}
.centering {
  text-align: center;
}
.left_alignment {
  text-align: left;
}
.emphasis {
  font-weight: bold;
}
.underline {
  text-decoration: underline;
}
.nowrap {
  display: inline-block;
}
.annotation {
  font-size: 80%;
  padding-left: 1em;
  text-indent: -1em;
  margin: 0;
}
.annotation * {
  padding-left: 0;
  text-indent: initial;
}
.annotation_n {
  padding-left: 1em;
  text-indent: -1em;
  margin: 0;
}
.annotation_n * {
  padding-left: 0;
  text-indent: initial;
}
.content_title {
  background-color: #179fdd;
  color: white;
  width: 100%;
  padding: 0.375rem 0;
}
.content_title_req {
  background-color: #81B164;
  color: white;
  width: 100%;
  padding: 0.375rem 0;
}
.greeting {
  width: 80%;
  margin: 0 auto;
  font-size: 1rem;
}
.greeting h4 {
  color: cornflowerblue;
  margin-left: 0.4rem;
  margin-right: 0.4rem;
  margin-top: 2.4rem;
  margin-bottom: 0;
}
.greeting h5 {
  text-align: left;
  font-size: 1.15rem;
  color: hotpink;
  margin-left: 0.4rem;
  margin-right: 0.4rem;
  margin-top: 0.4rem;
  margin-bottom: 0;
}
.greeting dl {
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  max-width: 400px;
  margin: 0 auto;
}
.greeting dl dt {
  width: 60%;
  margin: 0;
  text-align: left;
}
.greeting dl dd {
  width: 40%;
  margin: 0;
}
.greeting p {
  padding: 0 0.375rem;
  margin: 0 0 0 0.375rem;
}
.greeting2 {
  text-align: left;
  width: 95%;
  max-width: 960px;
  margin: 0 auto;
}
.foreword {
  text-align: center;
  color: #555;
  font-size: 1.4rem;
  margin-block: 2.4rem;
}
.link_contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0;
  width: 100%;
}
.link_contents span {
  display: inline-block;
}
.link_contents label {
  font-weight: bold;
}
.simulation {
  border: 1px solid #999;
  color: #0f89e4;
  background: linear-gradient(to bottom, #fdfdfd, #ccc);
}
.mypage_area {
  background: #dcf1fa;
  border: 2px solid #179fdd;
  border-radius: 7px;
  width: calc(100% - 0.7rem - 2px);
  margin: 0 0.375rem 1.5rem 0.375rem;
  padding: 0 0 1.5rem 0;
}
.mypage_area h4 {
  margin: 0;
}
.mypage_area div.inbox {
  background-color: white;
  /*border: 2px solid #ff6969;*/
  border-radius: 7px;
  margin: 0.7rem auto;
  width: 95%;
}
.mypage_login {
  color: white;
  background: linear-gradient(to bottom, #1ca2e1, #1ca2e1, #0f89e4, #0f89e4);
}
.mypage_regist {
  border: 1px solid #999;
  color: #0f89e4;
  background: linear-gradient(to bottom, #fdfdfd, #ccc);
}
#mypage_regist_manual {
  border: 1px solid #999;
  color: black;
  background: linear-gradient(to bottom, #fdfdfd, #ccc);
  line-height: 40px;
  width: calc(100% - 1.4rem);
  max-width: 400px;
  min-height: 40px;
  max-height: 50px;
  margin: 1.5rem auto;
}
#mypage_regist_manual div {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: visible;
}
#mypage_regist_manual div img {
  margin: 0 0.375rem;
}
#mypage_regist_manual div img:first-child {
  height: 55px;
  position: relative;
  top: 0;
  transform: rotate(-5deg) translateY(-3px);
  z-index: 1;
}
#mypage_regist_manual div img:last-child {
  max-height: 15px;
  margin: 0 1.7rem;
}
#mypage_upload_manual {
  color: white;
  background-color: #f37f96;
  box-shadow: 3px 3px 3px #999;
  white-space: normal;
  line-height: normal;
  text-align: left;
  padding: 0.375rem;
  margin: 0.375rem auto;
}
#about_mypage {
  text-decoration: underline;
}
.request {
  color: white;
  background: linear-gradient(to bottom, #F3B849, #F17C1D);
}
.conclusion {
  margin: 0.8rem 0;
  padding: 0.2rem 0;
  text-align: center;
}
.conclusion a {
  color: cornflowerblue;
}
.conclusion a:visited {
  color: blueviolet;
}
.conclusion figure {
  width: 28rem;
  margin: 0 auto;
}
.conclusion figure:hover {
  box-shadow: 0 0 0.4rem gray;
  transition: 0.2s;
}
.accordion_flag {
  display: none;
}
.accordion_label {
  display: block;
  font-size: 0.8rem;
  text-align: center;
  position: relative;
  width: 16rem;
  margin: 0 auto 0.2rem auto;
  padding: 0.4rem 0;
  /*background-color: #ff6464;*/
  color: #555;
  border: solid 1px #555;
  border-radius: 0.5rem;
  cursor: pointer;
}
.accordion_label:hover {
  opacity: 0.8;
  transition: all 0.3s ease;
}
.accordion_label::after {
  content: '';
  width: 0.6rem;
  height: 0.6rem;
  border-top: solid 1px #555;
  border-right: solid 1px #555;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 2rem;
  top: 0;
  bottom: 0.1rem;
  margin: auto;
}
.accordion_content {
  display: none;
  border: 1px solid black;
  border-radius: 0.25rem;
  padding-block-end: 1.33rem;
}
.accordion_flag:checked + .accordion_label::after {
  content: '';
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: -0.2rem;
  bottom: 0;
}
.accordion_flag:checked + .accordion_label + .accordion_content {
  display: block;
  transition: 0.5s;
}
article {
  width: 60%;
  margin: 0 auto;
}
article > div {
  width: 100%;
  margin: 0 auto;
  padding-block-end: 1.33rem;
  margin: 0 auto 0.375rem auto;
}
h1 {
  font-size: 2.4rem;
  text-align: center;
}
h2 {
  font-size: 2rem;
  text-align: center;
}
h3 {
  font-size: 1.6rem;
  text-align: center;
}
h4 {
  font-size: 1.2rem;
  text-align: center;
}
h5 {
  font-size: 1rem;
  text-align: center;
}
.top_message {
  font-family: 'Yu Gothic Medium', 'Yu Gothic', 'Noto Sans JP', sans-serif;
  text-align: center;
  max-width: 960px;
  margin: 0 auto;
}
.top_message .black {
  color: black;
}
.top_message .blue {
  color: #0062b1;
}
.top_message img {
  margin: 0 auto;
  width: 60%;
}
.top_message h1,
.top_message h2 {
  font-family: 'Noto Sans JP', 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
  font-feature-settings: "palt";
  font-weight: 400;
  text-align: center;
  color: #0062b1;
}
.top_message p {
  font-weight: 700;
  padding-left: 0.25rem;
  margin: 0.375rem auto;
}
.top_message a {
  display: block;
  margin: auto;
  width: 90%;
  border: 1px solid black;
  border-radius: 0.5rem;
  text-align: center;
  color: black;
  font-weight: 800;
  font-size: 120%;
  padding: 0.375rem 0 0.375rem 0;
}
.top_message a span {
  color: #0062b1;
}
.top_message .internet_application {
  border: none;
  position: relative;
  display: block;
  padding: 0.2rem;
  box-shadow: 0 0 0.4rem #999;
  background: linear-gradient(to bottom, rgba(213, 123, 159, 0.8) 0%, #d57b9f 40%, #d57b9f 100%);
}
.top_message .internet_application p {
  margin: 0;
  padding: 0;
}
.top_message .internet_application p:first-child {
  color: white;
}
.top_message .internet_application p:last-child {
  color: #D57B9F;
  background-color: white;
  border-radius: 0.5rem;
  margin: 0.25rem 0.5rem;
}
#reason {
  margin-bottom: 1.5rem;
  padding: 0.75rem;
  box-sizing: border-box;
}
#reason div {
  box-shadow: 2px 2px 1px #0062b2;
  color: #0062b2;
  background-color: #f4fbfe;
  margin-bottom: 0.375rem;
  font-weight: bold;
  padding-left: 0.5rem;
}
#reason div:first-child {
  background-color: #d3edfb;
}
.sns_icons img {
  width: 4rem;
  height: 4rem;
  margin: 2rem;
}
.black_border_button {
  display: block;
  margin: auto;
  width: 80%;
  border: 1px solid black;
  border-radius: 0.5rem;
  text-align: center;
  color: black;
  font-weight: 800;
  font-size: 120%;
  padding: 0.375rem 0 0.375rem 0;
}
h1 > span {
  display: block;
  text-align: center;
}
a {
  text-decoration: none;
}
a.btn {
  background-color: cornflowerblue;
  display: block;
  width: 80%;
  min-height: 72px;
  line-height: 72px;
  margin: 0 auto;
  text-align: center;
  border-radius: 0.5rem;
  white-space: nowrap;
}
a.btn:hover {
  opacity: 0.8;
  transition: all 0.3s ease;
}
a.btn_m {
  background-color: cornflowerblue;
  display: block;
  width: 60%;
  min-height: 36px;
  line-height: 36px;
  margin: 0 auto;
  text-align: center;
  border-radius: 0.5rem;
  white-space: nowrap;
}
a.btn_m:hover {
  opacity: 0.8;
  transition: all 0.3s ease;
}
a.dedicated_dial {
  font-size: 120%;
  display: block;
  text-align: center;
  color: #FFF;
  text-decoration: none;
  background: linear-gradient(to bottom, #60AFFF, #005FBA);
  border-radius: 0.5rem;
  box-shadow: 2px 2px 2px #AAA;
  padding: 0.7rem;
  margin: 0.375rem auto;
}
a.yellow_text {
  color: #ffff00;
}
a.white_text {
  color: #ffffff;
}
a.multiple_text {
  display: grid;
  place-content: center;
  place-items: center;
  line-height: 1em;
}
#dedicated_dial {
  padding: 0.375rem;
}
ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
li {
  text-align: center;
  padding: 4px 0;
}
div.target_list h3 {
  text-align: left;
  cursor: pointer;
}
div.target_list h5 {
  text-align: left;
  margin: 0 auto;
}
div.target_list dt {
  display: list-item;
  list-style-type: none;
  padding-left: 0.5rem;
  /*
        list-style-type: disc;
        margin-left: 2rem;
        */
}
div.target_list ul {
  list-style: disc;
}
div.target_list li {
  text-align: left;
  margin-left: 2rem;
  font-size: 1rem;
}
div.target_list .remarks {
  padding-left: 2rem;
}
p.frame {
  border: solid 1px black;
  padding: 0.375rem;
}
a.covid19-link > p {
  box-shadow: 0 0 0 0.2rem #759fe3;
  background-color: #759fe3;
  border: solid 1px white;
  color: white;
}
a.covid19-link > p:hover {
  opacity: 0.8;
}
.product_introduction {
  border: none;
  margin-bottom: 0;
}
.product_introduction > div {
  width: 100%;
  /*
        box-shadow: 0 0 0.4rem gray;
        transition: 0.2s;
        box-sizing: border-box;
        border: solid 4px white;
        border-radius: 0.25rem;
        */
  text-align: center;
  margin-bottom: 1rem;
}
.product_introduction > div h3 {
  margin: 0;
}
.product_introduction > div .description {
  padding: 1rem 0 1rem 0;
}
.product_introduction > div .type {
  display: inline-block;
  padding-right: 1.5rem;
}
.product_introduction > div .premium {
  padding-right: 0.5rem;
}
.product_introduction > div .price {
  color: #ff7e00;
}
.product_introduction p {
  margin: 0;
}
.product_introduction a {
  display: block;
  width: 65%;
  margin: 0.375rem auto;
  min-height: 62px;
  line-height: 62px;
  background-color: cornflowerblue;
  color: white;
  border-radius: 0.5rem;
  white-space: nowrap;
}
.product_introduction a:hover {
  opacity: 0.8;
}
#child_insurance_introduction h3 {
  background-color: #f37f96;
  color: white;
}
#child_insurance_introduction .type {
  color: #f37f96;
}
#general_insurance_introduction h3 {
  background-color: #06aee0;
  color: white;
}
#general_insurance_introduction .type {
  color: #06aee0;
}
#hospital_confinement_insurance_introduction h3 {
  background-color: #06aee0;
  color: white;
}
#hospital_confinement_insurance_introduction .type {
  color: #06aee0;
}
#general_and_hospital_confinement_insurance_introduction h3 {
  background-color: #06aee0;
  color: white;
}
#general_and_hospital_confinement_insurance_introduction .type {
  color: #06aee0;
}
#surplus {
  width: 98%;
  margin: 0.75rem auto;
}
#surplus p {
  margin: 0;
  line-height: 1.05em;
}
#surplus header {
  background-color: #3389c4;
  color: white;
  padding: 0.375rem;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  text-align: center;
  font-weight: bold;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
#surplus main {
  background-color: #eaf6fd;
  color: #231815;
  padding: 0.375rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
#surplus main p {
  width: 80%;
  margin: 0 auto;
  text-align: left;
}
#surplus main div {
  background-color: white;
  width: 85%;
  margin: 0.75rem auto;
  padding: 0.75rem 0;
}
#surplus main div h3 {
  margin: 0 auto;
  color: #0062b2;
}
#surplus main div div {
  margin: 0 auto;
  padding: 0.375rem;
  text-align: center;
}
#surplus main div .achievement_title_general {
  color: white;
  background-color: #0062b2;
}
#surplus main div .achievement_title_senior {
  color: white;
  background-color: #8d679c;
}
#surplus main div .achievement_body_general {
  color: #0062b2;
  background-color: white;
  padding-bottom: 0.75rem;
}
#surplus main div .achievement_body_senior {
  color: #8d679c;
  background-color: white;
}
@media only screen and (max-width: 374px) {
  .top_message p > span br {
    display: none;
  }
}
@media only screen and (max-width: 750px) {
  html {
    font-size: 14px;
  }
  main h1 {
    font-size: 6vw;
  }
  .link_contents {
    display: block;
  }
  .link_contents span {
    display: block;
  }
  .link_contents p {
    text-align: left;
    margin: 0 0.375rem;
  }
  .link_contents p * {
    padding-left: 0;
    text-indent: initial;
  }
  .link_contents p.centering {
    text-align: center;
  }
  .link_contents p.bottom_margin {
    margin-bottom: 0.375rem;
  }
  article {
    width: 100%;
    margin: 8px auto;
  }
  article div {
    width: 100%;
    margin: 0 auto 0.375rem auto;
  }
  article div div {
    width: 100%;
  }
  .greeting {
    width: 95%;
  }
  .greeting p {
    width: 97%;
    text-align: left;
  }
  .product_introduction a {
    width: 80%;
  }
  .sp_only {
    display: unset;
  }
  .top_message {
    text-align: left;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  html {
    font-size: 16px;
  }
  main h1 {
    font-size: 6vw;
  }
  article {
    width: 100%;
  }
  article div {
    width: 100%;
    margin: 0 auto 0.375rem auto;
  }
  article div div {
    width: 100%;
  }
  .greeting {
    width: 95%;
  }
  .greeting p {
    width: 97%;
    text-align: left;
  }
  .product_introduction a {
    width: 80%;
  }
}