@charset "UTF-8";
/* -----------------------------------------------
* Plugins エントリーポイント
-------------------------------------------------- */
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "Noto Sans JP", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Meiryo, sans-serif;
  font-weight: 500;
}

html {
  color: #222;
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: break-word;
}

body {
  background: #fff;
  margin: 0;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

p {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
select,
textarea,
button {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

#wrapper {
  position: relative;
}

.inner-block {
  margin: 0 auto;
  position: relative;
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

.ib {
  display: inline-block;
}

.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: top;
}

/* --------------------------------
c-header
----------------------------------- */
.c-header {
  height: 140px;
  background-color: tomato;
  font-weight: bold;
}

.c-footer {
  color: #222222;
  background-color: #F7F7F7;
  padding: 40px 0;
}
.c-footer .txt {
  font-size: 16px;
  font-weight: 500;
  line-height: calc(26/16);
  text-align: center;
}
.c-footer .copy {
  margin-top: 5px;
  line-height: 2;
  font-size: 12px;
  text-align: center;
}

#pagetop {
  width: 51px;
  height: 51px;
  background-color: #169682;
  border: 1px solid #169682;
  border-radius: 50%;
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 100;
}
#pagetop a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
}
#pagetop span {
  display: block;
  background: url(/event/us-stock-aff/utbuffett/images/home/pagetop.svg) no-repeat;
  -webkit-mask: url(/event/us-stock-aff/utbuffett/images/home/pagetop.svg) no-repeat;
          mask: url(/event/us-stock-aff/utbuffett/images/home/pagetop.svg) no-repeat;
  width: 22px;
  height: 11px;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.c-ttl01 {
  font-weight: bold;
  font-size: 40px;
  line-height: calc(59/40);
  text-align: center;
}
.c-ttl01 .int {
  font-size: 60px;
  line-height: calc(89/60);
}
.c-ttl01 .mt8 {
  margin-top: 5px;
  display: block;
}

.c-ttl02 {
  font-size: 40px;
  line-height: calc(59/40);
  font-weight: bold;
  text-align: center;
}
.c-ttl02 .int {
  font-size: 60px;
  line-height: calc(89/60);
}
.c-ttl02 .int .small {
  font-size: 36px;
  position: relative;
  top: -20px;
}

.mv-block {
  padding: 123px 30px 60px;
  background: url(/event/us-stock-aff/utbuffett/images/home/mv-bg.webp) no-repeat center/cover;
}
.mv-block .inner-block {
  padding: 64px 30px 36px;
  max-width: 1040px;
  margin: auto;
  position: relative;
  background-color: #fff;
  border-radius: 60px;
}
.mv-block .mv-deco {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -60px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.mv-block .logo-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 80px;
  position: relative;
}
.mv-block .logo-box .logo-txt {
  font-size: 27px;
  font-weight: bold;
  letter-spacing: -0.05em;
  line-height: calc(40\');
}
.mv-block .logo-box .img-box {
  display: block;
  position: relative;
}
.mv-block .logo-box .img-box::before, .mv-block .logo-box .img-box::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  left: -60px;
  bottom: 4px;
  margin: auto;
  width: 40px;
  height: 1px;
  background: #222222;
}
.mv-block .logo-box .img-box::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.mv-block .logo-box .img-box::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.mv-block .img-txt-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-top: 17px;
}
.mv-block .period-box {
  margin: 19px auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
  background-color: #0ABC86;
  border-radius: 26px;
  padding: 9px 20px 8px 10px;
}
.mv-block .period-box .period-txt {
  background-color: #fff;
  color: #0ABC86;
  border-radius: 18px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 17px;
  font-weight: bold;
  line-height: 1;
}
.mv-block .period-box .period-num {
  color: #fff;
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  font-size: 17px;
  line-height: 1;
}
.mv-block .period-box .period-num .num {
  font-size: 30px;
}
.mv-block .period-box .period-num .ml-5 {
  margin-left: -5px;
}
.mv-block .period-box .period-num .period-num01,
.mv-block .period-box .period-num .period-num02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.mv-block .period-box .period-num .txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.mv-block .period-box .period-num .txt .num {
  margin-top: -2px;
}

.modal-box {
  margin-top: 40px;
}
.modal-outer-box {
  opacity: 0;
  pointer-events: none;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.modal-outer-box.view {
  opacity: 1;
  pointer-events: all;
  z-index: 10;
}
.modal-inner-box {
  max-width: 972px;
  height: 77%;
  margin: 0 30px;
  overflow-y: auto;
  background-color: #fff;
  border: 4px solid #15AA96;
  border-radius: 10px;
  padding: 29px 30px 49px 40px;
  width: 100%;
  position: relative;
}
.modal-open02 {
  width: 100%;
  height: 64px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-size: 16px;
  font-weight: bold;
  background-color: #fff;
  border: 2px solid #727171;
  border-radius: 32px;
}
.modal-open02::before, .modal-open02::after {
  content: "";
  width: 20px;
  height: 3px;
  background-color: #727171;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.modal-open02::before {
  right: 30px;
}
.modal-open02::after {
  right: 30px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.modal-open02 span {
  border-bottom: 1px solid transparent;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.modal-close02 {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1;
  background-color: #F7F7F7;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  top: 0;
  left: 100%;
}
.modal-close02 button {
  position: relative;
  width: 100%;
  height: 100%;
}
.modal-close02 button::before, .modal-close02 button::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 15px;
  background-color: #009682;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.modal-close02 button::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.modal-close02 button::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.modal-ttl {
  font-size: 20px;
  color: #009682;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
}
.modal-ttl .small {
  font-size: 12px;
  position: relative;
  top: -6px;
}
.modal-ttl .int {
  font-size: 24px;
  color: #009682 !important;
  line-height: calc(36/24);
}
.modal-lead {
  margin-top: 29px;
  line-height: 2;
  font-size: 16px;
  text-align: center;
}
.modal-lead .underline {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #FFDE37));
  background: linear-gradient(transparent 0%, #FFDE37 0%);
}
.modal-lead02 {
  margin-top: 23px;
}
.modal-img01 {
  margin: 24px auto 0;
  display: block;
  max-width: 531px;
}
.modal-img02 {
  margin: 23px auto 0;
  display: block;
  max-width: 705px;
}
.modal-img03 {
  margin: 26px auto 0;
  display: block;
  max-width: 638px;
}
.modal-value-box {
  background-color: #EDFAF5;
  border-radius: 20px;
  padding: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px;
}
.modal-noto {
  margin-top: 10px;
  font-size: 12px;
  text-align: center;
  line-height: calc(18/12);
}

.contact-block {
  background-color: #F7F7F7;
  padding-bottom: 101px;
}
.contact-block .inner-box {
  padding: 50px 73px 40px;
  background-color: #fff;
  width: 100%;
  border-radius: 10px;
  border: 1px solid #CCCCCC;
}
.contact-ttl {
  font-size: 40px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.contact-txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
  margin-top: 24px;
}
.contact-txt + .contact-txt {
  margin-top: 2px;
}
.contact-asterisk-box {
  margin-top: 16px;
  font-size: 12px;
  line-height: calc(18/12);
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
/* -----------------------------------------------
* home Module
* homeページ用
-------------------------------------------------- */
.home {
  position: relative;
}

.campaign-block {
  padding: 50px 0 80px;
}
.campaign-block .inner-block {
  max-width: 1050px;
}
.campaign-block .campaign-ttl {
  text-align: center;
	margin-bottom: 0px;
}
.campaign-block .point-box {
  margin-top: 50px;
}
.campaign-block .point-item {
  border-radius: 20px;
  background-color: #F7F7F7;
  padding: 30px 7.3206442167vw 27px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 54px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.campaign-block .point-item + .point-item {
  margin-top: 20px;
}
.campaign-block .point-txt {
  font-size: 16px;
  line-height: calc(24/16);
  font-weight: 500;
}
.campaign-block .point-num .deco {
  font-size: 20px;
  line-height: calc(29/20);
  color: #009682;
  font-weight: 500;
}
.campaign-block .point-num .num-txt {
  font-size: 71px;
  font-weight: bold;
  color: #009682;
  line-height: calc(105/71);
  display: block;
}
.campaign-block .point-link {
  padding: 6px 42px;
  border: 3px solid #009682;
  color: #009682;
  background-color: #fff;
  border-radius: 35px;
  font-size: 14px;
  font-weight: bold;
  margin-top: 10px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.campaign-block .noto-box {
  margin-top: 30px;
  border: 1px solid #CCCCCC;
}
.campaign-block .noto-ttl {
  font-size: 16px;
  font-weight: bold;
  height: auto;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #F7F7F7;
}
.campaign-block .noto-list {
  padding: 18px 20px 20px;
}
.campaign-block .noto-list02 {
  padding: 0 !important;
}
.campaign-block .noto-list02 .noto-item {
  padding-left: 12px;
}
.campaign-block .noto-list02 .noto-item + .noto-item {
  margin-top: 0;
}
.campaign-block .noto-item {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  line-height: calc(21/14);
  font-weight: 400;
}
.campaign-block .noto-item::before {
  content: "・";
  position: absolute;
  left: -2px;
  top: 0;
}
.campaign-block .noto-item + .noto-item {
  margin-top: 21px;
}

.about-block {
  background-color: #F7F7F7;
  padding: 80px 0;
}
.about-box {
  padding: 80px;
  background-color: #fff;
  border-radius: 20px;
}
.about-ttl {
  font-size: 40px;
  font-weight: bold;
  line-height: calc(59/40);
  text-align: center;
}
.about-ttl .int {
  color: #009682;
  font-size: 60px;
  line-height: calc(89/60);
}
.about-ttl .flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 38px;
}
.about-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  margin-top: 58px;
}
.about-item {
  width: 100%;
  border-radius: 20px;
  padding: 10px;
}
.about-item.bg-green {
  background-color: #00AA8A;
}
.about-item.bg-red {
  background-color: #E85471;
}
.about-item.bg-blue {
  background-color: #00A0D7;
}
.about-item .inner-box {
  background-color: #fff;
  border-radius: 20px;
  height: 100%;
  padding: 40px 20px 25px;
}
.about-item .logo {
  display: block;
  margin: auto;
}
.about-item .txt-box .txt {
  text-align: center;
  font-size: 22px;
  line-height: calc(24/22);
  font-weight: bold;
}
.about-item .txt-box img {
  display: block;
  margin: 15px auto 0;
  position: relative;
  left: 20px;
}

.bold {
  font-weight: bold;
}

.detail-block {
  background-color: #F7F7F7;
  padding-bottom: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.detail-block .inner-block {
  border-radius: 20px;
  padding: 80px 30px;
  margin: 0 30px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.detail-box {
  width: 100%;
  margin: 0 30px;
  max-width: 700px;
  border-radius: 20px;
}

.red-detail-block .inner-block {
  background-color: #FEF6F8;
  padding-bottom: 91px;
}
.red-detail-block .int {
  color: #E85471;
}
.red-detail-block .c-ttl02 {
  color: #E85471;
}
.red-detail-block .detail-box .lead {
  text-align: center;
  margin-top: 36px;
  line-height: 2;
}
.red-detail-block .detail-example {
  background-color: #F8DCE2;
  border-radius: 10px;
  padding: 29px 40px 28px;
  margin-top: 56px;
}
.red-detail-block .detail-example .ttl {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
.red-detail-block .detail-example .list {
  gap: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
  width: 100%;
}
.red-detail-block .detail-example .item {
  background-color: #fff;
  border-radius: 10px;
  width: 100%;
  padding: 26px 10px 27px;
}
.red-detail-block .detail-example .item-ttl {
  font-size: 16px;
  line-height: calc(18/16);
  font-weight: bold;
  text-align: center;
}
.red-detail-block .detail-example .en {
  font-size: 16px;
  line-height: calc(18/16);
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-top: 8px;
}
.red-detail-block .detail-example .en .int {
  font-size: 38px;
  font-weight: 500;
  line-height: 1;
}
.red-detail-block .detail-example .jp {
  font-size: 16px;
  line-height: calc(18/16);
  font-weight: bold;
  text-align: center;
  margin-top: 8px;
}
.red-detail-block .detail-plan {
  margin-top: 77px;
}
.red-detail-block .detail-plan .img01 {
  display: block;
  margin: 58px auto 0;
}
.red-detail-block .detail-plan .lead {
  font-size: 16px;
  margin-top: 15px;
}
.red-detail-block .detail-plan .asterisk {
  margin-top: 16px;
  text-align: center;
  letter-spacing: -0.01em;
}

.blue-detail-block .inner-block {
  background-color: #F2FAFD;
}
.blue-detail-block .lead {
  margin-top: 58px;
  font-size: 26px;
  line-height: calc(32/26);
  font-weight: bold;
  text-align: center;
}
.blue-detail-block .int,
.blue-detail-block .c-blue {
  color: #00A0D7;
}
.blue-detail-block .img01 {
  display: block;
  margin: 35px auto 0;
  position: relative;
  left: 70px;
}
.blue-detail-block .c-ttl02 {
  margin-top: 70px;
}
.blue-detail-block .img02 {
  display: block;
  margin: 38px auto 0;
  max-width: 297px;
}
.blue-detail-block .lead02 {
  font-size: 16px;
  line-height: 2;
  font-weight: 500;
  text-align: center;
  margin-top: 35px;
}
.blue-detail-block .lead02 .underline {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #FFDE37));
  background: linear-gradient(transparent 70%, #FFDE37 0%);
}
.blue-detail-block .lead02 .underline .small {
  font-size: 10px;
  position: relative;
  top: -6px;
}
.blue-detail-block .asterisk {
  margin-top: 20px;
}
.blue-detail-block .img03 {
  margin-top: 60px;
}

.green-detail-block {
  padding-bottom: 80px;
}
.green-detail-block .inner-block {
  background-color: #F2FBF9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.green-detail-block .c-ttl01 .int {
  color: #00AA8A;
}
.green-detail-block .maney {
  margin-top: 58px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  gap: 20px;
}
.green-detail-block .maney .int {
  color: #00AA8A;
  font-size: 60px;
  font-weight: bold;
  line-height: calc(77/60);
}
.green-detail-block .lead {
  margin-top: 36px;
  text-align: center;
  line-height: 2;
  font-weight: 500;
}
.green-detail-block .great-box {
  margin-top: 80px;
}
.green-detail-block .img-txt-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 35px;
}
.green-detail-block .img-txt-box .img-box {
  width: calc(258 / 700 * 100%);
}
.green-detail-block .img-txt-box .txt-box {
  width: calc(421 / 700 * 100%);
}
.green-detail-block .img-txt-box .txt-box p {
  line-height: calc(24/16);
}

.announce-block {
  padding: 56px 0 40px;
}
.announce-ttl {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  color: #169682;
}
.announce-list {
  margin: 42px auto 0;
  max-width: 750px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px 8px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.announce-list li {
  width: calc(33% - 5px);
  text-align: center;
  font-weight: 500;
  font-size: 14px;
}
.announce-list .link {
  display: block;
  width: 100%;
  height: 100%;
  color: #169682;
  border-radius: 27px;
  border: 1px solid #169682;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  padding: 9px 10px 10px;
}
.announce-txt-box {
  margin-top: 43px;
  border-radius: 10px;
  padding: 13px 10px 17px;
  border: 1px solid #CCCCCC;
}
.announce-txt-box .inner-box {
  max-width: 1040px;
  margin: auto;
}
.announce-txt-box .ttl {
  font-size: 16px;
  font-weight: bold;
  line-height: calc(36/16);
}
.announce-txt-box .txt {
  font-size: 14px;
  line-height: calc(24/14);
  margin-top: 7px;
  font-weight: 400;
}
.announce-txt-box .link {
  font-size: 14px;
  line-height: calc(25/14);
  color: #009682;
  font-weight: bold;
  display: block;
  margin-top: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
}

.asterisk {
  margin-top: 10px;
  font-size: 12px;
  line-height: calc(18/12);
}

.toggle-box {
  border-radius: 32px;
  border-width: 2px;
  border-style: solid;
  background-color: #fff;
  margin-top: 39px;
}
.toggle-box.red {
  border-color: #E85471;
}
.toggle-box.red dt::after {
  background-color: #E85471;
}
.toggle-box.green {
  border-color: #00AA8A;
}
.toggle-box.green dt {
  color: #00AA8A;
}
.toggle-box.green dt::after {
  background-color: #00AA8A;
}
.toggle-box dt {
  font-size: 16px;
  line-height: 2;
  text-align: center;
  font-weight: bold;
  position: relative;
  padding: 13px 20px 13px 30px;
  cursor: pointer;
}
.toggle-box dt.active::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  top: -10px;
}
.toggle-box dt:after {
  content: "";
  -webkit-mask: url(/event/us-stock-aff/utbuffett/images/home/arrow.svg) no-repeat;
          mask: url(/event/us-stock-aff/utbuffett/images/home/arrow.svg) no-repeat;
  background-position: center;
  width: 17px;
  height: 17px;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  top: 10px;
  bottom: 0;
  margin: auto;
  right: 30px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.toggle-box dt span {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  border-bottom: 1px solid transparent;
}
.toggle-box dd {
  display: none;
  margin: auto;
  padding: 16px 20px 39px;
  max-width: 598px;
}
.toggle-box dd img {
  display: block;
  margin: auto;
}

.c-red {
  color: #E85471;
}

.blank {
  position: relative;
  padding-right: 20px;
}
.blank::after {
  content: "";
  background: url(/event/us-stock-aff/utbuffett/images/home/blank-icon.svg) no-repeat;
  background-size: contain;
  width: 15px;
  height: 13px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}



/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */

@media only screen and (max-width: 767px) {
  html {
    font-size: 14px;
  }
  body {
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  input,
select,
textarea {
    font-size: 16px !important;
  }
  .inner-block {
    padding: 0 20px;
  }
  .pc {
    display: none !important;
  }
  .c-header {
    height: 26.6666666667vw;
    background-color: lightgreen;
  }
  .c-footer {
    padding: 30px 0;
  }
  .c-footer .txt {
    text-align: left;
    font-size: 12px;
    line-height: calc(20/12);
  }
  .c-footer .copy {
    text-align: left;
    margin-top: 4px;
    font-size: 10px;
  }
  #pagetop {
    bottom: 20px;
    right: 20px;
  }
  .c-ttl01 {
    font-size: 24px;
  }
  .c-ttl01 .int {
    font-size: 32px;
    line-height: calc(47/32);
  }
  .c-ttl01 .mt8 {
    margin-top: -11px;
  }
  .c-ttl02 {
    font-size: 20px;
  }
  .c-ttl02 .int {
    font-size: 32px;
    line-height: calc(40/32);
  }
  .c-ttl02 .int .small {
    font-size: 18px;
  }
  .mv-block {
    padding: 71px 10px 40px;
  }
  .mv-block .inner-block {
    padding: 44px 10px 32px;
    border-radius: 30px;
  }
  .mv-block .mv-deco {
    top: -30px;
		width: 78.8717948718vw;
  }
  .mv-block .logo-box {
    gap: 50px;
  }
  .mv-block .logo-box .logo-txt {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    font-size: 15px;
  }
  .mv-block .logo-box .img-box::before, .mv-block .logo-box .img-box::after {
    width: 30px;
    bottom: 3px;
    left: -40px;
  }
  .mv-block .logo-box img {
    width: 24.8717948718vw;
  }
  .mv-block .img-txt-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
    margin-top: 6px;
  }
  .mv-block .img-txt-box .mv-ttl {
    width: 800%;
		margin-top: 15px;
  }
  .mv-block .img-txt-box .people {
    width: 42.0512820513vw;
  }
  .mv-block .period-box {
    gap: 8px;
    border-radius: 36px;
    width: 100%;
    max-width: 350px;
  }
  .mv-block .period-box .period-txt {
    width: 52px;
    height: 52px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    font-size: 12px;
    line-height: calc(18/12);
    border-radius: 36px;
  }
  .mv-block .period-box .period-num {
    font-size: 12px;
    line-height: 1;
    gap: 0;
  }
  .mv-block .period-box .period-num .num {
    font-size: 24px;
  }
  .mv-block .period-box .period-num .period-num01,
.mv-block .period-box .period-num .period-num02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .modal-box {
    margin-top: 20px;
  }
  .modal-inner-box {
    padding: 0 10px 20px 20px;
  }
  .modal-close02 {
    top: 10px;
  }
  .modal-ttl {
    font-size: 16px;
    line-height: 2;
    margin-top: -12px;
  }
  .modal-ttl .int {
    font-size: 21px;
    line-height: calc(28/21);
  }
  .modal-lead {
    font-size: 14px;
    text-align: left;
    line-height: calc(21/14);
    margin-top: 8px;
  }
  .modal-img01 {
    margin-top: 14px;
    max-width: 283px;
    width: 100%;
  }
  .modal-img02 {
    margin-top: 14px;
    width: 100%;
    max-width: 284px;
  }
  .modal-img03 {
    margin-top: 16px;
    width: 100%;
    max-width: 300px;
  }
  .modal-value-box {
    padding: 20px 16px;
  }
  .modal-noto {
    font-size: 10px;
    line-height: 1.5;
  }
  .contact-block {
    padding-bottom: 101px;
  }
  .contact-block .inner-box {
    padding: 40px 14px;
  }
  .contact-ttl {
    font-size: 28px;
    line-height: calc(36/28);
  }
  .contact-txt {
    letter-spacing: -0.01em;
    margin-top: 18px;
  }
  .contact-txt + .contact-txt {
    margin-top: 13px;
  }
  .contact-asterisk-box {
    margin-top: 25px;
  }
  .campaign-block {
    padding: 40px 0 40px;
  }
  .campaign-block .campaign-ttl {
    width: 82.0512820513vw;
    max-width: 500px;
    margin: auto;
  }
  .campaign-block .point-box {
    margin-top: 40px;
  }
  .campaign-block .point-item {
    gap: 20px;
    padding: 31px 15px 30px;
  }
  .campaign-block .point-num {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .campaign-block .point-num .deco {
    font-size: 12px;
    line-height: calc(18/12);
  }
  .campaign-block .point-num .num-txt {
    font-size: 45px;
    line-height: calc(66/45);
    margin-top: -12px;
  }
  .campaign-block .point-link {
    margin: 10px auto 0 0;
    padding: 6px 10px;
    width: 100%;
    max-width: 250px;
    text-align: center;
  }
  .campaign-block .noto-ttl {
    width: 100%;
    padding: 16px 10px 16px;
    border-bottom: 1px solid #CCCCCC;
  }
  .campaign-block .noto-list {
    padding: 19px;
  }
  .campaign-block .noto-list02 {
    margin-top: 4px;
  }
  .campaign-block .noto-list02 .noto-item::before {
    left: 0;
  }
  .campaign-block .noto-item {
    font-size: 12px;
    padding-left: 22px;
  }
  .campaign-block .noto-item::before {
    left: 1px;
  }
  .campaign-block .noto-item + .noto-item {
    margin-top: 18px;
  }
  .campaign-block .noto-item + .noto-item.mt-small {
    margin-top: 13px;
  }
  .about-block {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .about-box {
    padding: 40px 15px;
  }
  .about-ttl {
    font-size: 24px;
    line-height: calc(36/24);
  }
  .about-ttl .int {
    font-size: 32px;
    line-height: calc(47/32);
  }
  .about-ttl .flex {
    margin-top: 29px;
  }
  .about-ttl .flex img {
    width: 138px;
  }
  .about-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    margin-top: 33px;
  }
  .about-item {
    border-radius: 18px;
    padding: 5px;
  }
  .about-item .inner-box {
    border-radius: 18px;
    padding: 22px 40px 22px 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 10px;
  }
  .about-item .img-box {
    width: 33.3333333333vw;
  }
  .about-item .txt-box .txt {
    font-size: 14px;
    text-align: center;
  }
  .about-item .txt-box img {
    width: 12.8205128205vw;
    margin-top: 10px;
    left: 9px;
  }
  .detail-block .inner-block {
    padding: 40px 0;
    margin: 0 20px;
  }
  .detail-box {
    margin: 0 15px;
  }
  .red-detail-block .detail-box .lead {
    font-size: 16px;
    margin-top: 12px;
  }
  .red-detail-block .detail-example {
    margin-top: 27px;
    padding: 10px 11px;
  }
  .red-detail-block .detail-example .ttl {
    font-size: 12px;
  }
  .red-detail-block .detail-example .list {
    margin-top: 9px;
    gap: 5px;
  }
  .red-detail-block .detail-example .item {
    padding: 10px 8px 13px;
  }
  .red-detail-block .detail-example .item-ttl {
    font-size: 10px;
    line-height: 1.2;
  }
  .red-detail-block .detail-example .en {
    font-size: 10px;
    margin-top: 6px;
  }
  .red-detail-block .detail-example .en .int {
    font-size: 18px;
  }
  .red-detail-block .detail-example .jp {
    font-size: 10px;
    margin-top: 4px;
  }
  .red-detail-block .detail-plan {
    margin-top: 62px;
  }
  .red-detail-block .detail-plan .img01 {
    margin-top: 30px;
  }
  .red-detail-block .detail-plan .asterisk {
    font-size: 12px;
    text-align: left;
    margin-top: 9px;
  }
  .red-detail-block .detail-plan .c-ttl02 .int {
    line-height: calc(40/32);
  }
  .blue-detail-block .lead {
    margin-top: 26px;
    font-size: 15px;
    line-height: calc(18/15);
  }
  .blue-detail-block .img01 {
    width: 44.8717948718vw;
    left: 40px;
    margin-top: 25px;
  }
  .blue-detail-block .c-ttl02 {
    margin-top: 40px;
  }
  .blue-detail-block .c-ttl02-02 {
    margin-top: 58px;
  }
  .blue-detail-block .img02 {
    width: 51.2820512821vw;
    margin-top: 28px;
  }
  .blue-detail-block .lead02 {
    margin-top: 21px;
  }
  .blue-detail-block .lead02-02 {
    margin-top: 17px;
  }
  .blue-detail-block .asterisk {
    margin-top: 5px;
  }
  .blue-detail-block .img03 {
    margin-top: 30px;
  }
  .green-detail-block {
    padding-bottom: 80px;
  }
  .green-detail-block .maney {
    gap: 10px;
    margin-top: 30px;
  }
  .green-detail-block .maney .int {
    font-size: 32px;
    line-height: calc(38/32);
  }
  .green-detail-block .maney img {
    width: 35.3846153846vw;
  }
  .green-detail-block .lead {
    margin-top: 16px;
    font-size: 16px;
  }
  .green-detail-block .great-box {
    margin-top: 58px;
  }
  .green-detail-block .img-txt-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 28px;
  }
  .green-detail-block .img-txt-box .img-box {
    width: 100%;
  }
  .green-detail-block .img-txt-box .img-box img {
    width: 66.1538461538vw;
    display: block;
    margin: auto;
  }
  .green-detail-block .img-txt-box .txt-box {
    width: 100%;
  }
  .announce-block {
    padding: 34px 0 30px;
  }
  .announce-ttl {
    font-size: 22px;
    line-height: calc(23/22);
  }
  .announce-list {
    margin-top: 35px;
    gap: 10px 8px;
  }
  .announce-list li {
    width: calc(50% - 4px);
    font-size: 12px;
    line-height: 1;
  }
  .announce-list .link {
    padding-top: 11px;
    padding-bottom: 11px;
  }
  .announce-txt-box {
    margin-top: 30px;
    border-radius: 20px;
    padding: 13px 15px 12px;
  }
  .announce-txt-box .ttl {
    line-height: calc(20/14);
    font-size: 14px;
  }
  .announce-txt-box .txt {
    margin-top: 9px;
    font-size: 12px;
    line-height: calc(20/12);
  }
  .announce-txt-box .link {
    font-size: 11px;
    font-weight: 500;
    margin-top: 6px;
  }
  .asterisk {
    margin-top: 9px;
  }
  .toggle-box {
    margin-top: 19px;
  }
  .toggle-box dt {
    padding: 14px 25px 16px 18px;
    text-align: left;
  }
  .toggle-box dt.c-red {
    text-align: center;
  }
  .toggle-box dt:after {
    right: 15px;
    width: 12px;
    height: 18px;
  }
  .toggle-box dd {
    padding: 0 18px 25px;
  }
}

@media only screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
  .inner-block {
    padding: 0 30px;
    max-width: 1260px;
  }
  a,
a::before,
a::after,
button,
button::before,
button::after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sp {
    display: none !important;
  }
  #pagetop:hover {
    background-color: #fff;
  }
  #pagetop span {
    background-color: #169682;
  }
  .mv-block .logo-box {
    left: -5px;
  }
  .mv-block .period-box .period-txt {
    padding: 10px 16px 9px;
  }
  .mv-block .period-box .period-num .period-num01,
.mv-block .period-box .period-num .period-num02 {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .modal-open02:hover span {
    border-color: #222;
  }
  .campaign-block .point-item {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: left;
  }
  .campaign-block .point-num {
    text-align: center;
  }
  .campaign-block .point-num .num-txt {
    margin-top: -21px;
  }
  .campaign-block .point-link:hover {
    background-color: #009682;
    color: #fff;
  }
  .campaign-block .noto-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .campaign-block .noto-ttl {
    width: 131px;
    border-right: 1px solid #CCCCCC;
  }
  .campaign-block .noto-list02 {
    margin-left: 2px;
  }
  .about-ttl .flex {
    gap: 16px;
  }
  .about-item .img-box {
    height: 65px;
  }
  .red-detail-block .c-ttl02 {
    width: calc(100% + 60px);
    margin-left: -30px;
  }
  .blue-detail-block .c-ttl02 {
    width: calc(100% + 20px);
    margin-left: -10px;
  }
  .announce-ttl {
    line-height: 1;
  }
  .announce-list .link:hover {
    background-color: #169682;
    color: #fff;
  }
  .announce-txt-box .link:hover {
    text-decoration: none;
  }
  .toggle-box.red dt:hover span {
    border-color: #E85471;
  }
  .toggle-box.green dt:hover span {
    border-color: #00AA8A;
  }
}

@media only screen and (max-width: 767px) and (max-width: 375px) {
  .c-ttl01 {
    font-size: 6.1538461538vw;
  }
  .c-ttl01 .int {
    font-size: 8.2051282051vw;
  }
  .c-ttl02 {
    font-size: 6.1538461538vw;
  }
  .c-ttl02 .int {
    font-size: 8.2051282051vw;
  }
  .c-ttl02 .int .small {
    font-size: 4.6153846154vw;
  }
  .green-detail-block .maney .int {
    font-size: 8.2051282051vw;
  }
}

@media only screen and (max-width: 767px) and (max-width: 389px) {
  .mv-block .period-box {
    padding-right: 10px;
  }
  .mv-block .period-box .period-txt {
    width: 40px;
    height: 40px;
    font-size: 11px;
  }
  .mv-block .period-box .period-num {
    font-size: 11px;
  }
  .mv-block .period-box .period-num .num {
    font-size: 18px;
  }
}

@media only screen and (max-width: 767px) and (max-width: 390px) {
  .campaign-block .point-link {
    font-size: 3.5897435897vw;
  }
  .toggle-box dt {
    font-size: 3.5897435897vw;
  }
}

@media only screen and (max-width: 767px) and (max-width: 380px) {
  .about-item .inner-box {
    padding-left: 20px;
    padding-right: 30px;
  }
  .about-item .txt-box .txt {
    font-size: 12px;
  }
}

@media only screen and (min-width: 901px) {
  .about-item .txt-box {
    margin-top: 32px;
  }
}


/*追加分*/

.pd01 {
	padding-top:35px;	
	padding-bottom:10px;
}

.pd02 {
	padding-top:0px;	
	padding-bottom:40px;
}

.apply-box a{
	text-align: center;
	margin: auto;	
}

.apply-link {
  padding: 32px 250px;
  border: 3px solid #ff0000;
  color: #ffffff;
  background-color: #ff0000;
  border-radius: 50px;
  font-size: 24px;
  font-weight: bold;
  margin-top: 10px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media only screen and (max-width: 767px) {

.apply-link {
    margin: 12px auto 0 0;
    padding: 32px 10px;
    width: 100%;
 /* max-width: 340px; */
    text-align: center;
  }
}


@media only screen and (min-width: 768px) {
.apply-link:hover {
    background-color: #fff;
    color: #ff0000;
  }
}


@media only screen and (max-width: 767px) and (max-width: 390px) {
.apply-link {
    font-size: 4.275vw;
  }
}

/*追加分*/