@charset "UTF-8";
* {
  box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
header,
footer,
main,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after {
  content: "";
  content: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

table th,
table td {
  vertical-align: top;
}

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

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

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

img {
  font-size: 0;
  vertical-align: bottom;
}

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

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("/portfolio/assets/fonts/NotoSansJP-Regular.woff2") format("woff2"), url("/portfolio/assets/fonts/NotoSansJP-Regular.woff") format("woff"), url("/portfolio/assets/fonts/NotoSansJP-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("/portfolio/assets/fonts/NotoSansJP-Medium.woff2") format("woff2"), url("/portfolio/assets/fonts/NotoSansJP-Medium.woff") format("woff"), url("/portfolio/assets/fonts/NotoSansJP-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("/portfolio/assets/fonts/NotoSansJP-Bold.woff2") format("woff2"), url("/portfolio/assets/fonts/NotoSansJP-Bold.woff") format("woff"), url("/portfolio/assets/fonts/NotoSansJP-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
body {
  margin: 0;
  padding: 0;
  font-size: clamp(0.875rem, 0.7638888889rem + 0.2314814815vw, 0.9375rem);
  font-weight: 400;
  line-height: 1.6;
  color: #222222;
  font-family: "Noto Sans JP", sans-serif, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  body {
    font-size: clamp(0.875rem, 0.8303571429rem + 0.2232142857vw, 0.9375rem);
  }
}

#wrapper {
  width: 100%;
  margin: 0;
  padding: 0;
}

.title__primary {
  margin-bottom: 10px;
  padding: 2px 0 2px 15px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  border-left: 4px solid #0065a1;
}

a[target=_blank]:after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  background: url(/portfolio/assets/img/icon_blank.svg) no-repeat right center;
  background-size: 10px auto;
  -webkit-background-size: 10px auto;
}

.flexbox {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .flexbox {
    display: block;
  }
}
.flexbox .flex_L {
  width: 55%;
  padding: 0 20px 0 0;
  border-right: 1px solid #aaaaaa;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .flexbox .flex_L {
    width: 100%;
    padding: 0;
    border-right: none;
  }
}
.flexbox .flex_R {
  width: 45%;
  padding: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  .flexbox .flex_R {
    width: 100%;
    padding: 0;
  }
}
.flexbox .flex_item {
  width: 50%;
}

.bar {
  display: block;
  width: 100%;
  border: none;
  border-bottom: 1px solid #cccccc;
}

.is-pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .is-pc {
    display: none;
  }
}

.is-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .is-sp {
    display: block;
  }
}

.resize {
  width: 100%;
  height: auto;
}

/* header
----------------------------------------------- */
.site__header {
  padding: 15px;
  color: #ffffff;
  text-align: center;
  background-color: #004b77;
}
.site__header-title {
  font-size: clamp(1.25rem, 0.8338744589rem + 0.8658008658vw, 1.375rem);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site__header-title {
    font-size: clamp(1.125rem, 1.0357142857rem + 0.4464285714vw, 1.25rem);
  }
}
.site__header-name {
  font-size: 14px;
  font-weight: 400;
}

#main .main__inner {
  width: min(100% - 40px, 1000px);
  margin: 0 auto;
  padding: 50px 0 0;
}
@media screen and (max-width: 768px) {
  #main .main__inner {
    padding: 30px 0 0;
  }
}

/* summary
----------------------------------------------- */
.summary {
  margin-bottom: 50px;
}
.summary__text:not(:last-child) {
  margin-bottom: 10px;
}

/* work
----------------------------------------------- */
.work {
  margin-bottom: 50px;
}
.work__item:not(:last-child) {
  margin-bottom: 50px;
}
.work__company {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 17px;
  font-weight: 700;
  border-bottom: 1px solid #0065a1;
}
@media screen and (max-width: 768px) {
  .work__company {
    display: block;
  }
}
.work__company-date {
  margin-left: 1em;
}
@media screen and (max-width: 768px) {
  .work__company-date {
    display: block;
    margin-left: 1.2em;
  }
}
.work__company::before {
  content: "●";
  display: inline-block;
  margin-right: 5px;
  font-size: 14px;
}
.work__info {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.work__info-list {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  line-height: 1.8;
}
.work__info-list:not(:last-child)::after {
  position: relative;
  content: "|";
  padding-left: 5px;
  padding-right: 5px;
}
.work__info-term {
  font-weight: 700;
  min-width: 3em;
}
.work__description {
  margin-bottom: 10px;
}
.work .project {
  margin-bottom: 40px;
  border: 1px solid #cccccc;
  border-radius: 5px;
}
.work .project__heading {
  position: relative;
  padding: 5px 20px;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  border-bottom: 1px solid #cccccc;
  background-color: #eeeeee;
  border-radius: 5px 5px 0 0;
}
.work .project__heading .project__heading-period {
  position: absolute;
  right: 0;
}
.work .project__group {
  padding: 10px 15px;
}
@media screen and (max-width: 768px) {
  .work .project__group {
    display: block;
  }
}
.work .project__site-name {
  position: relative;
}
.work .project__site-name::before {
  content: "";
  margin-right: 4px;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #0065a1;
  border-right: 0;
}
.work .project__site-name a {
  font-size: 16px;
  font-weight: 700;
  color: #0065a1;
  opacity: 1;
  transition: all 0.3s;
  text-decoration: underline;
}
.work .project__site-name a:hover {
  opacity: 0.7;
}
.work .project__work-item {
  padding-left: 1em;
  text-indent: -1em;
}
.work .project__work-page {
  margin: 10px 5px;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #cccccc;
  border-radius: 5px;
}
.work .project__work-page .project__list:not(:last-of-type) {
  margin-bottom: 10px;
}
.work .project__work-page .project__list .project__item a {
  color: #0065a1;
}
.work .project__work-page .project__list .project__item a:hover {
  opacity: 0.7;
}
.work .project__work-page .project__list .project__note {
  font-size: 13px;
}
.work .project__work-page .capture {
  padding: 20px 5px 0;
}
.work .project__work-page .capture__list {
  gap: 15px;
}
.work .project__details-list:not(:last-child) {
  margin-bottom: 10px;
}
.work .project__details-title {
  font-weight: 700;
}

/* capture
----------------------------------------------- */
.capture {
  padding: 20px;
}
.capture__list {
  display: flex;
  gap: 20px;
}
.capture__item {
  width: 33.3333333333%;
}
.capture__item img {
  border: 1px solid #cccccc;
}
.capture figcaption {
  display: block;
  font-size: 13px;
  text-align: center;
  color: #555555;
}
@media screen and (max-width: 768px) {
  .capture figcaption {
    font-size: 12px;
  }
}

/* skill
----------------------------------------------- */
.skill {
  margin-bottom: 50px;
}
.skill a {
  font-size: 16px;
  font-weight: 700;
  color: #0065a1;
  opacity: 1;
  transition: all 0.3s;
  text-decoration: underline;
}
.skill a:hover {
  opacity: 0.7;
}

/* footer
----------------------------------------------- */
.site__footer {
  padding: 15px;
  color: #ffffff;
  text-align: center;
  background-color: #004b77;
}
.site__footer-email, .site__footer-name {
  font-size: 14px;
}

/* pagetop__button
------------------------------------------------- */
.pagetop__button {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  z-index: 1000;
  opacity: 1;
}
.pagetop__button:hover {
  opacity: 0.7;
}
.pagetop__button img {
  width: 100%;
  height: auto;
}/*# sourceMappingURL=styls.css.map */